一、安装与配置Auditd服务(安全审计核心工具)
Auditd是CentOS系统原生安全审计框架,负责收集、存储系统活动日志。首先通过sudo yum install auditd安装服务,安装完成后启动并设置开机自启:sudo systemctl start auditd && sudo systemctl enable auditd。配置文件位于/etc/audit/auditd.conf,可调整日志存储路径(默认/var/log/audit/audit.log)、日志文件大小限制(如max_log_file = 8,单位MB)、日志保留数量(如num_logs = 4,保留4个归档日志)等参数,确保日志不会因磁盘空间耗尽而丢失。
二、定义精准审计规则(聚焦关键事件)
通过auditctl命令定义审计规则,覆盖关键文件/目录、用户权限操作、系统调用等场景:
/etc/passwd(用户账户信息)、/etc/shadow(密码哈希)、/etc/sudoers(sudo权限)的写/属性更改操作,命令为sudo auditctl -w /etc/passwd -p wa -k passwd_mod(-w指定路径,-p wa表示监控写和属性更改,-k设置关键字便于后续检索);/etc目录下所有文件的创建、删除、修改操作,命令为sudo auditctl -w /etc/ -p wa -k etc_changes;sudo命令的使用,命令为sudo auditctl -w /usr/bin/sudo -p x -k sudo_usage(-p x表示监控执行操作)。/etc/audit/rules.d/audit.rules文件中(如上述命令对应的行),确保系统重启后规则仍有效。三、查看与分析审计日志(提取有价值信息)
审计日志默认存储在/var/log/audit/audit.log,可使用以下工具解析:
passwd_mod关键字相关的所有事件(包括时间、用户、操作类型),命令为sudo ausearch -k passwd_mod -i(-i选项将事件ID转换为可读信息);sudo aureport -au -ts today -te 7(-au表示登录事件,-ts和-te指定时间范围);tailf /var/log/audit/audit.log实时查看最新日志,或cat /var/log/audit/audit.log | grep "keyword"过滤特定关键词(如sudo、passwd)。四、保障日志安全与完整性
/etc/rsyslog.conf文件,添加*.* @@remote_server_ip:514(@@表示加密传输,端口514为rsyslog默认端口),并配置TLS证书(如使用rsyslog-gnutls模块),防止日志在传输过程中被窃取或篡改;sudo chmod 600 /var/log/audit/audit.log(仅root可读写),避免普通用户修改或删除日志;logrotate工具定期归档日志(如按天归档、保留30天),编辑/etc/logrotate.d/auditd文件,添加如下配置:/var/log/audit/audit.log {
daily
rotate 30
compress
missingok
notifempty
sharedscripts
postrotate
systemctl restart auditd > /dev/null 2>&1 || true
endscript
}
五、结合其他工具增强审计能力
sudo yum install lynis,运行扫描sudo lynis audit system,生成报告位于/var/log/lynis-report.dat;/var/log/secure中的sshd失败日志),自动封禁恶意IP地址(如封禁5分钟内失败5次的IP),安装命令为sudo yum install fail2ban,配置文件位于/etc/fail2ban/jail.local。六、建立审计最佳实践