游乐游手机版
首页/系统平台/文章详情

Linux中如何配置系统安全日志记录等级设置

时间:2026-08-15 18:17
Linux 系统安全日志(auth authpriv)无法通过全局开关直接降低记录级别,必须在 rsyslog 配置文件中显式指定如 auth warning 这类规则;否则默认会记录 info 及以上的全部消息,极易淹没真正重要的安全事件。同时,这类规则独立于 * info,必须单独配置,并特别注

Linux 系统安全日志(auth/authpriv)无法通过全局开关直接降低记录级别,必须在 rsyslog 配置文件中显式指定如 auth.warning 这类规则;否则默认会记录 info 及以上的全部消息,极易淹没真正重要的安全事件。同时,这类规则独立于 *.info,必须单独配置,并特别注意规则顺序。

如何在Linux中配置具体的系统安全日志记录等级

先说结论:在 Linux 中配置系统安全日志等级时,尤其是 auth 与 authpriv 两类日志,不能依赖一个“全局日志级别”就统一调低。想要精准控制日志记录范围,必须到 /etc/rsyslog.conf 或 /etc/rsyslog.d/ 下的 rsyslog 规则中明确指定级别;否则系统通常会按默认行为,将所有 info 及以上级别的消息全部写入日志。这样会带来什么问题?大量 info 级别的 SSH 登录成功、sudo 执行记录等安全日志会持续增长,很容易把真正需要重点关注的 err 或 crit 事件淹没掉,导致关键安全告警不够醒目。

auth/authpriv 日志规则必须单独写,不能依赖 *.info

很多管理员误以为修改 *.info 就能顺带控制 Linux 安全日志,但实际上 auth.* 和 authpriv.* 属于独立规则,通常还会写在配置文件较靠后的位置,优先级往往高于通配规则。它们默认常见写法是 auth.* 或 authpriv.*,这意味着所有 info 及以上级别的消息都会被记录到磁盘。

  • 查看当前规则:grep -E "^(auth|authpriv)." /etc/rsyslog.conf /etc/rsyslog.d/*.conf
  • 典型高风险写法:auth.* /var/log/auth.log —— 这会记录每一次 SSH 登录成功(info)、密码错误(warning)、密钥拒绝(notice)等内容,日志量很快膨胀
  • 更合理的配置方式是显式限制级别,例如仅记录 warning 及以上:auth.warning /var/log/auth.log
  • 如果需要保留登录成功日志,但过滤掉某些失败尝试,可使用 auth.info;auth.!warning /var/log/auth.log(注意语法:分号用于分隔,! 表示排除)

sshd 和 sudo 的日志来源不等于 auth 设施

sshd 默认通常使用 auth facility,但在部分发行版环境中,例如 RHEL/CentOS 8+,或者启用了 UsePAM 时,登录失败日志往往会写入 authpriv;而 sudo 默认也常走 auth,不过更细粒度的命令执行日志还会受到 syslog 模块配置影响,因此未必都会完整落到 /var/log/auth.log 中。

  • 确认 sshd 实际使用的设施:sshd -T | grep -i syslog,查看输出是否包含 syslog_facility AUTH 或 AUTHPRIV
  • sudo 日志写入位置取决于 /etc/sudoers 中的 Defaults syslog 设置,常见值有 auth 或 local2,并不是固定不变的
  • 不要只关注 /var/log/auth.log,使用 journalctl -t sshd -p warning 或 journalctl _COMM=sudo -p err 按程序名和日志级别直接过滤,通常更准确也更高效

rsyslog 动态过滤比静态规则更准,但要防顺序陷阱

使用 $syslogseverity 字段进行条件判断(例如仅接收 severity ≤ 4,也就是 warning 及以上级别),相比直接写 auth.warning 往往更精细、更灵活。但要注意,rsyslog 规则顺序会直接影响结果——这类过滤必须放在通用规则(如 *.*)之前,否则日志早已被前面的规则捕获并写入。

  • 正确顺序示例(写入 /etc/rsyslog.d/30-security-filter.conf):
    if $syslogfacility-text == 'auth' and $syslogseverity <= 4 then /var/log/auth-critical.log
    & stop
  • & stop 不能省略:它用于阻止后续规则再次写入,否则同一条日志可能既进入 auth-critical.log,又继续写入默认的 auth.log
  • 验证 severity 数值对应关系:emerg=0, alert=1, crit=2, err=3, warning=4, notice=5, info=6, debug=7
  • 测试规则是否生效:logger -p auth.warning "test warning" + logger -p auth.info "test info",然后检查目标文件中是否只保留前者

实际配置 Linux 安全日志等级时,最难的往往不是写出哪一行 rsyslog 配置,而是弄清楚某条日志究竟由哪个程序发出、使用了哪个 facility、被哪条 rsyslog 规则匹配,以及是否又被 & stop 提前截断——只要其中任何一个环节判断错误,auth 日志该刷屏还是会刷屏,日志优化也就难以真正生效。

来源:https://www.php.cn/faq/2988268.html
上一篇Linux中如何设置指定用户家目录权限与访问控制 下一篇Linux实时查看CPU执行效率走势的方法与工具
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

补充同频道和同主题内容,方便继续浏览更多相关内容。

同类最新

继续查看同栏目最近更新的文章。

更多
VMware安装Ubuntu完整教程:创建虚拟机与启动验证
系统平台 · 2026-09-01

VMware安装Ubuntu完整教程:创建虚拟机与启动验证

本教程详细演示如何在VMware中创建Ubuntu虚拟机,涵盖ISO挂载、硬件配置、安装向导及启动验证。通过清晰的步骤与验证命令,帮助新手快速搭建可用的Linux学习环境。

Win10专业版U盘安装教程:制作启动盘与完整安装步骤
系统平台 · 2026-09-01

Win10专业版U盘安装教程:制作启动盘与完整安装步骤

本文提供Win10专业版U盘安装完整流程:准备8GB以上U盘与官方镜像,制作启动盘并核对盘符;通过F12 F11 Esc等快捷键或BIOS设置U盘为第一启动项;安装时选择专业版并谨慎分区;完成后在“设置—系统—关于”验证版本与激活状态。操作前务必备份数据。

Windows10系统字体太小怎么调大
系统平台 · 2026-08-27

Windows10系统字体太小怎么调大

Windows10系统字体太小怎么调大?只需两步:首先打开设置中的显示选项,将缩放比例调整为125%或150%;随后运行ClearType文本调谐器优化字体清晰度。此方法适用于高分屏及普通屏幕,无需修改注册表即可解决界面拥挤问题。

Win10磁盘占用100%基础排查:从监控到清理的完整步骤
系统平台 · 2026-08-27

Win10磁盘占用100%基础排查:从监控到清理的完整步骤

Windows 10系统出现磁盘占用100%会导致电脑卡顿、程序响应缓慢。本文提供基础排查方案:首先通过任务管理器确认是否为磁盘高负载,随后进入系统存储页面分析C盘占用类别,最后针对性清理临时文件。遵循此流程可有效缓解磁盘压力,避免盲目重装系统。

Windows10系统怎么显示此电脑和控制面板
系统平台 · 2026-08-27

Windows10系统怎么显示此电脑和控制面板

Windows10默认可能不显示桌面图标,导致找不到“此电脑”和“控制面板”。只需进入个性化设置,在“桌面图标设置”中勾选对应选项即可恢复。本文提供详细图文步骤,帮助快速找回系统入口。