Linux安全基线整改实践:修复 Configure System Accounting(auditd)登录审计规则缺失问题
2026/9/23 9:24:34 网站建设 项目流程

目录

  • 一、背景
  • 二、问题现象
  • 三、原因分析
  • 四、修复方案
  • 五、验证修复结果
  • 六、自动化修复脚本
  • 七、风险评估
  • 八、总结

一、背景

在企业 Linux 安全基线扫描过程中,发现服务器存在如下安全基线告警:

Category: Configure System Accounting (auditd) Name: Ensure login and logout events are collected for Redhat 8 and Redhat 9 and Rocky and Oracle 9

该检查项属于 Linux 审计(Audit)基线要求,目的是确保系统能够记录用户登录、退出及认证相关操作,为安全审计、合规检查和安全事件追溯提供依据。

本次问题出现在 Rocky Linux 9 环境中。

二、问题现象

首先检查 Audit 服务状态:

systemctl status auditd

返回:

active (running)

说明 Audit 服务正常运行。

进一步检查当前生效规则:

auditctl-l

返回:

No rules

虽然 Audit 服务运行正常,但未加载任何登录审计规则,因此被安全基线扫描工具判定为:

Ensure login and logout events are collected

不符合要求。

三、原因分析

在同版本、已通过基线检查的服务器上执行:

auditctl-l

发现存在如下规则:

-w/var/log/lastlog-pwa-klogins-w/var/run/faillock-pwa-klogins

说明标准环境中已经配置了登录审计规则。

而问题服务器:

auditctl-l

返回:

No rules

两者对比后确认:

根因: 缺少登录审计规则(Login Audit Rules)

四、修复方案

4.1 创建登录审计规则文件

创建:

/etc/audit/rules.d/50-login.rules

执行:

cat>/etc/audit/rules.d/50-login.rules<<'EOF' -w /var/log/lastlog -p wa -k logins -w /var/run/faillock -p wa -k logins EOF

说明:

/var/log/lastlog 记录用户最近登录信息 /var/run/faillock 记录用户登录失败信息

通过 Auditd 对上述文件进行监控,可以满足登录审计要求。

4.2 加载审计规则

执行:

augenrules--load

该命令会读取/etc/audit/rules.d/目录中的规则,并生成运行时 Audit 配置。

五、验证修复结果

5.1 检查规则是否成功加载

执行:

auditctl-l

预期返回:

-w/var/log/lastlog-pwa-klogins-w/var/run/faillock-pwa-klogins

说明规则已经生效。

5.2 检查 Audit 状态

执行:

auditctl-s

示例结果:

enabled 1 failure 1 backlog_limit 8192 lost 0

重点关注:

  • enabled 1—— 表示审计功能已启用
  • lost 0—— 表示未丢失审计事件

5.3 检查审计日志

执行:

ausearch-klogins|tail

预期结果类似:

type=CONFIG_CHANGE key="logins"

说明 Auditd 已开始记录相关审计事件。

六、自动化修复脚本

为了批量修复多台服务器,可封装为 Shell 脚本。

6.1 fix_audit_login_rules.sh

#!/bin/bashset-eRULE_FILE="/etc/audit/rules.d/50-login.rules"cat>"${RULE_FILE}"<<'EOF' -w /var/log/lastlog -p wa -k logins -w /var/run/faillock -p wa -k logins EOFaugenrules--loadechoecho"========== Verify =========="auditctl-lechoauditctl-s

授权执行:

chmod+x fix_audit_login_rules.sh

执行修复:

./fix_audit_login_rules.sh

七、风险评估

本次整改属于:

Audit 配置修复

不会影响:

  • SSH 登录
  • Nginx 服务
  • 数据库服务
  • 应用服务
  • 系统网络
  • 业务访问

无需执行reboot,无需执行systemctl restart auditd,仅执行augenrules --load即可立即生效。

八、总结

本次问题并非 Audit 服务未启动,而是 Audit 服务运行正常但缺少登录审计规则,导致安全基线扫描无法确认系统已开启登录审计能力。

通过新增:

-w/var/log/lastlog-pwa-klogins-w/var/run/faillock-pwa-klogins

并执行:

augenrules--load

即可满足基线检查项:

Configure System Accounting (auditd) Ensure login and logout events are collected for Redhat 8 and Redhat 9 and Rocky and Oracle 9

该方案改动小、风险低、可批量实施,适用于 Rocky Linux 9、RHEL 8/9 及同类发行版的安全基线整改场景。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询