温馨提示×

如何在Ubuntu中设置日志审计策略

小樊
44
2025-10-26 09:18:58
栏目: 智能运维

如何在Ubuntu中设置日志审计策略

日志审计是监控系统活动、检测安全威胁的关键手段,Ubuntu中主要通过auditd服务实现细粒度的日志审计。以下是具体设置步骤:

1. 安装auditd服务

首先确保系统安装了auditd(Linux内核审计框架的核心工具)及插件:

sudo apt update
sudo apt install auditd audispd-plugins linux-audit

2. 启动并配置auditd服务

  • 启动服务并设置开机自启
    sudo systemctl start auditd
    sudo systemctl enable auditd
    
  • 验证服务状态
    sudo systemctl status auditd  # 确认状态为“active (running)”
    
  • 调整日志配置(可选):
    编辑/etc/audit/auditd.conf,修改以下参数以控制日志大小和保留数量:
    audit_log_file = /var/log/audit/audit.log  # 日志文件路径
    audit_log_format = RAW                     # 日志格式(RAW/rawtext)
    max_log_file_action = ROTATE               # 日志满时轮换
    max_log_file = 100M                        # 单个日志文件最大大小
    num_logs = 5                               # 保留的旧日志数量
    
    修改后重启服务生效:
    sudo systemctl restart auditd
    

3. 配置自定义审计规则

审计规则决定了需要监控的系统活动,需编辑/etc/audit/rules.d/audit.rules(Ubuntu默认规则目录):

  • 监控进程执行(记录所有程序的执行动作):
    -a exit,always -F arch=b32 -S execve,execveat -k executed_process  # 32位系统
    -a exit,always -F arch=b64 -S execve,execveat -k executed_process  # 64位系统
    
  • 监控文件访问(记录对关键文件的读写操作):
    -a exit,always -F arch=b32 -S open,read,write,close -F path=/etc/passwd -F perm=rw -k passwd_access
    -a exit,always -F arch=b64 -S open,read,write,close -F path=/etc/shadow -F perm=rw -k shadow_access
    
  • 监控用户登录(记录SSH、本地登录等事件):
    -a always,exit -F arch=b32 -S login,ssh -k user_login
    -a always,exit -F arch=b64 -S login,ssh -k user_login
    
  • 加载规则
    保存文件后,运行以下命令使规则生效:
    sudo auditctl -R /etc/audit/rules.d/audit.rules
    

4. 查看与管理审计日志

  • 实时查看日志
    使用ausearch按关键字(如规则key)筛选日志:
    sudo ausearch -k executed_process  # 查看进程执行日志
    sudo ausearch -k passwd_access     # 查看passwd文件访问日志
    
  • 生成统计报告
    使用aureport生成各类事件的汇总报告(如用户登录、文件访问):
    sudo aureport -k                   # 查看所有规则触发的事件
    sudo aureport -l                   # 查看登录事件
    sudo aureport -f                   # 查看文件访问事件
    
  • 导出日志
    若需将日志发送到远程服务器或保存为文件,可使用ausearch导出:
    sudo ausearch -k executed_process > /tmp/executed_process.log
    

5. 定期维护审计日志

  • 自动轮换日志
    Ubuntu的logrotate工具会自动处理auditd日志的轮换(基于/etc/audit/auditd.conf中的配置)。
  • 备份旧日志
    定期将/var/log/audit/audit.log复制到安全存储(如外部磁盘、云存储),避免日志被覆盖或删除。
  • 清理过期日志
    根据num_logs参数保留的日志数量,手动删除旧日志(如/var/log/audit/audit.log.1)。

6. 可选:增强审计安全性

  • 保护审计日志
    修改/var/log/audit目录权限,仅允许root用户访问:
    sudo chmod 750 /var/log/audit
    sudo chown root:adm /var/log/audit
    
  • 监控日志完整性
    使用TripwireAIDE等工具监控/var/log/audit目录,防止日志被篡改。

通过以上步骤,可在Ubuntu中建立完善的日志审计策略,实现对系统活动的全程监控与可追溯性。定期检查日志内容(如异常进程执行、未授权文件访问),能及时发现潜在安全威胁并采取应对措施。

0