Ubuntu日志审计保障系统安全的关键措施
Auditd是Ubuntu系统原生审计工具,用于记录系统调用、文件访问、用户登录等关键事件,是日志审计的核心组件。
sudo apt install auditd audispd-plugins安装,使用sudo systemctl start auditd启动服务并设置开机自启(sudo systemctl enable auditd)。/etc/audit/rules.d/audit.rules文件,添加自定义规则监控关键操作。例如:-a exit,always -F arch=b32 -S execve -S execveat -k executed-process(监控32位/64位进程执行)-a exit,always -F arch=b32 -S write -k file_write(监控文件写入操作)sudo auditctl -R /etc/audit/rules.d/audit.rules生效。/var/log/audit/audit.log,可通过ausearch(如sudo ausearch -k executed-process搜索特定事件)、aureport(生成统计报告)等命令分析。日志文件无限增长会占用大量磁盘空间,甚至导致系统崩溃,需通过logrotate工具定期轮转、压缩和删除旧日志。
/etc/logrotate.conf,设置rotate 4(保留4个归档日志)、compress(压缩旧日志)、size 100M(单个日志超过100MB时轮转)等参数。/etc/logrotate.d/目录下创建服务专属配置(如/etc/logrotate.d/nginx),指定日志路径(如/var/log/nginx/*.log)和轮转策略(如weekly每周轮转)。Ubuntu系统有多个关键日志文件,记录不同类型的活动,需定期检查:
grep "FAILED LOGIN" /var/log/auth.log可查找失败登录尝试,识别暴力破解。dmesg | grep -i error可筛选内核级错误。grep "ERROR" /var/log/syslog可查找应用程序错误。sudo apt install fail2ban)配置/etc/fail2ban/jail.local,启用SSH防护([sshd] enabled = true),可有效降低暴力破解风险。sudo lynis audit system生成详细报告,指导修复。sudo chmod 640 /var/log/auth.log、sudo chown root:adm /var/log/auth.log,防止未经授权的修改或删除。cron定时任务定期备份日志到安全位置(如外部存储或加密服务器),例如添加0 0 * * * tar czvf /backup/logs/$(date +\%F).tar.gz /var/log/*到crontab -e,每日零点备份。