在CentOS系统中,Syslog日志审计是一个重要的安全措施,可以帮助系统管理员监控和记录系统活动,发现潜在的安全威胁。以下是通过CentOS Syslog实现日志审计的步骤:
安装Syslog服务:
sudo yum install rsyslog
启动和设置Syslog服务开机自启:
sudo systemctl start rsyslog
sudo systemctl enable rsyslog
配置Syslog接收远程日志:
编辑 /etc/rsyslog.conf
文件,添加以下内容以接收远程日志:
*.* @172.16.248.198:514
修改此处IP为你的日志接收端IP,然后重启Syslog服务以应用更改:
sudo systemctl restart rsyslog
安装auditd:
在大多数Linux发行版中,auditd已经预装。如果没有,可以使用包管理器安装:
sudo yum install audit # CentOS/RHEL
配置auditd:
编辑 /etc/audit/auditd.conf
文件,确保以下配置:
log_format = RAW
write_logs = yes
log_file = /var/log/audit/audit.log
然后创建日志目录并设置权限:
sudo mkdir -p /var/log/audit
sudo chown root:adm /var/log/audit
sudo chmod 750 /var/log/audit
启动并启用auditd服务:
sudo systemctl start auditd
sudo systemctl enable auditd
添加审计规则:
编辑 /etc/audit/rules.d/audit.rules
文件,添加你需要的审计规则。例如:
-a exit,always -F arch=b32 -S execve -k execve_audit
-a exit,always -F arch=b64 -S execve -k execve_audit
然后重新加载auditd配置:
sudo augenrules --load
使用ausearch和aureport工具来监控和分析审计日志:
安装ausearch和aureport:
sudo yum install ausearch aureport # CentOS/RHEL
使用ausearch查询日志:
sudo ausearch -k execve_audit
使用aureport生成报告:
sudo aureport -k execve_audit
为了防止日志文件过大,可以定期备份和清理日志文件。
备份日志:
sudo cp /var/log/audit/audit.log /var/log/audit/audit.log.bak
清理旧日志:
可以使用logrotate工具来自动清理旧日志:
编辑 /etc/logrotate.d/audit
文件,添加以下内容:
/var/log/audit/*.log {
daily
missingok
rotate 7
compress
notifempty
create 640 root adm
}
然后重启logrotate服务:
sudo systemctl restart logrotate
通过以上步骤,你可以使用syslog和auditd实现详细的日志审计功能,帮助你监控和分析系统活动。定期审查和更新日志审计策略,以应对不断变化的安全威胁。