1. 安装与配置rsyslog(基础审计工具)
确保系统安装rsyslog(Debian默认日志服务),通过编辑主配置文件/etc/rsyslog.conf定义安全事件记录规则。例如,将认证相关日志(如登录、sudo使用)单独存储至/var/log/secure,便于后续快速定位敏感操作:
auth,authpriv.* /var/log/secure
保存配置后,重启rsyslog服务使规则生效:
sudo systemctl restart rsyslog
此步骤为审计提供基础日志来源,覆盖用户身份验证、权限变更等关键事件。
2. 集成Auditd增强细粒度审计
rsyslog仅能记录常规系统事件,若需捕获进程调用、文件访问等底层操作,需安装auditd(Linux审计框架)。通过编辑/etc/audit/rules.d/audit.rules添加规则,例如记录所有用户执行的命令(execve系统调用):
-a always,exit -S execve
重启auditd服务激活规则:
sudo systemctl restart auditd
auditd生成的日志会同步至rsyslog(默认路径/var/log/audit/audit.log),补充了进程级审计细节。
3. 日志收集与远程存储(防篡改与集中管理)
为避免本地日志被篡改或丢失,可将日志发送至远程服务器。编辑/etc/rsyslog.conf,添加TCP/UDP传输规则(以TCP为例):
*.* @@remote-server-ip:514
或通过数据库存储(如MySQL)实现结构化查询:
*.* action(type="ommysql" server="remote-server-ip" db="syslog" uid="username" pwd="password")
重启rsyslog服务后,本地日志将同步至远程服务器,支持集中化审计管理。
4. 日志分析与异常检测
journalctl命令跟踪系统日志(适用于systemd系统),例如实时显示新日志:journalctl -f
或过滤认证相关日志:journalctl _COMM=sshd
5. 安全加固措施
sudo chown root:syslog /var/log/syslog /var/log/secure
sudo chmod 640 /var/log/syslog /var/log/secure
logrotate自动切割日志,避免日志文件过大占用磁盘空间。编辑/etc/logrotate.d/rsyslog,设置按天轮转、保留7天日志:/var/log/syslog {
daily
rotate 7
compress
missingok
notifempty
}
此配置可定期压缩旧日志,释放存储资源。