跳转到主内容
新派编程网 - 新潮编程理念,全新技术课堂!

新手怎么配置Linux系统的身份审计框架并定期导出合规性分析报告

新手配置Linux身份审计框架并导出合规性报告的核心是启用auditd服务、配置identity规则、验证捕获效果、用aureport生成CSV/日志报告。 新手配置Linux身份审计框架并导出合规性报告,核心是用好
auditd
服务,聚焦“谁在什么时候做了什么关键操作”,再通过标准化工具生成可读、可追溯的报告。不需要写代码或部署复杂平台,按步骤操作即可落地。 安装并启用auditd服务 这是整个身份审计的基础。大多数发行版已预装,但需确认并启动: Ubuntu/Debian:运行
sudo apt install auditd audispd-plugins
,然后
sudo systemctl enable --now auditd
CentOS/RHEL:运行
sudo yum install audit audit-libs audispd-plugins
,再执行
sudo systemctl enable --now auditd
检查状态:
sudo systemctl status auditd
,看到
active (running)
即表示就绪 定义身份相关审计规则 身份审计重点监控用户登录、提权、关键文件访问等行为。规则要写进持久化文件,避免重启失效: CentOS Linux 7.9.2009 CentOS Linux 7.9.2009是传统CentOS Linux 7的最后主要版本,也是很多企业历史服务器中仍可能遇到的系统版本。它以稳定、兼容RHEL 7生态、文档丰富和软件支持广泛著称,曾长期用于Web服务、数据库、虚拟化节点和企业内部业务系统。不过CentOS Linux 7已于2024年6月30日停止维护,现在继续使用会面临安全补丁缺失风险。该版本更适合旧业务迁移、历史环境恢复或离线兼容性测试。 下载 编辑
/etc/audit/rules.d/identity.rules
(新建文件),加入以下内容: -w /etc/passwd -p wa -k identity_passwd-w /etc/shadow -p r -k identity_shadow-a always,exit -F arch=b64 -S execve -F auid!=4294967295 -k identity_cmd-a always,exit -F arch=b64 -m USER_LOGIN -k identity_login 说明:
-w
监控敏感文件读写;
-a ... -m USER_LOGIN
捕获所有登录事件;
auid!=4294967295
排除内核线程,只记录真实用户行为;
-k
标签统一用
identity_*
前缀,便于后续归类 加载规则:
sudo augenrules --load
(推荐)或重启服务:
sudo systemctl restart auditd
验证规则是否生效 别跳过这步——确保系统真正在记录你需要的数据: 手动触发一次登录或修改
/etc/passwd
(如用
sudo vipw
),再立即执行:
sudo ausearch -k identity_login -ts recent | head -5
sudo ausearch -k identity_cmd -ts recent | head -5
若返回非空结果(含
execve
、
USER_LOGIN
等字段),说明规则已捕获行为 若无输出,检查
ausearch -m avc
是否有SELinux拒绝日志,或确认
auditctl -l
中是否列出了对应规则 定期导出合规性分析报告 用
aureport
一键生成结构化摘要,配合简单脚本实现定期导出: 每日汇总身份活动:
sudo aureport -k --key identity_login,identity_cmd,identity_passwd,identity_shadow --start today --format csv > /var/log/audit/reports/identity_daily_$(date +%Y%m%d).csv
生成登录异常统计(如失败次数):
sudo aureport -m USER_LOGIN --summary --failed | grep -E "^(user|total)" > /var/log/audit/reports/login_fail_summary.log
添加到定时任务(每天凌晨2点执行):
echo "0 2 * * * root /usr/local/bin/audit-identity-report.sh" | sudo tee -a /etc/crontab
脚本示例(保存为
/usr/local/bin/audit-identity-report.sh
,记得
chmod +x
): #!/bin/bashmkdir -p /var/log/audit/reportsaureport -k --key identity_login,identity_cmd --start yesterday --end today --format csv > /var/log/audit/reports/identity_$(date -d yesterday +\%Y\%m\%d).csv

相关文章