如何在Ubuntu中设置日志审计
日志审计是监控系统活动、检测安全威胁的关键手段,Ubuntu中主要通过auditd(Linux内核审计框架)实现。以下是详细设置步骤:
首先确保系统安装了auditd(核心审计守护进程)及插件:
sudo apt update
sudo apt install auditd audispd-plugins linux-audit
sudo systemctl start auditd
sudo systemctl enable auditd
sudo systemctl status auditd
编辑/etc/audit/auditd.conf文件,调整日志存储与轮换规则(避免日志过大占用磁盘空间):
sudo nano /etc/audit/auditd.conf
关键配置项说明(取消注释并修改):
audit_log_file = /var/log/audit/audit.log:指定审计日志路径(默认路径)。audit_log_format = RAW:日志格式(RAW为原始格式,便于后续分析)。max_log_file_action = ROTATE:日志达到最大大小时轮换(而非覆盖)。max_log_file = 10:单个日志文件最大大小(单位:MB,示例为10MB)。num_logs = 7:保留的旧日志文件数量(示例保留7个)。审计规则决定了需要监控的系统活动,需编辑/etc/audit/rules.d/audit.rules文件(Ubuntu 18.04及以上版本推荐):
sudo nano /etc/audit/rules.d/audit.rules
常用规则示例:
-a exit,always -F arch=b32 -S execve,execveat -k executed_process
-a exit,always -F arch=b64 -S execve,execveat -k executed_process
/etc目录(系统配置文件)的所有读写操作。-w /etc -p rwxa -k etc_access
-w /var/log/auth.log -p wa -k user_login
-a exit,always -F path=/usr/bin/sudo -F perm=x -k sudo_usage
加载规则:保存文件后,用以下命令使规则生效:
sudo auditctl -R /etc/audit/rules.d/audit.rules
为单独记录sudo命令的使用情况,需修改/etc/sudoers文件:
sudo visudo
在文件末尾添加(避免语法错误):
Defaults logfile="/var/log/sudo.log"
Defaults log_input,log_output
这会将sudo命令的输入/输出记录到/var/log/sudo.log,便于后续关联审计。
Ctrl+C退出)。sudo ausearch -m all -ts recent
sudo ausearch -k executed_process
sudo aureport -k -i
使用logrotate工具自动管理审计日志(避免日志无限增长):
/etc/logrotate.d/audit文件。sudo nano /etc/logrotate.d/audit
/var/log/audit/*.log {
weekly
rotate 4
missingok
notifempty
compress
delaycompress
sharedscripts
postrotate
systemctl kill -s HUP auditd.service
endscript
}
sudo logrotate -vf /etc/logrotate.d/audit
/var/log/audit/audit.log)需设置为仅root可读(默认权限已满足)。通过以上步骤,可在Ubuntu中建立完善的日志审计体系,有效监控系统活动并及时响应安全事件。