插件窝 干货文章 如何在Linux上设置系统安全审计

如何在Linux上设置系统安全审计

审计 sudo audit 日志 859    来源:    2025-04-15

Linux系统安全审计配置指南

1. 审计系统概述

Linux审计系统(auditd)是内核级别的系统审计框架,可以记录系统调用和文件访问等事件,帮助管理员监控系统活动、检测异常行为并满足合规要求。

2. 安装审计工具

# 对于基于Debian的系统
sudo apt-get install auditd audispd-plugins

# 对于基于RHEL的系统
sudo yum install audit audit-libs

3. 配置审计规则

3.1 主要配置文件

  • /etc/audit/auditd.conf - 审计守护进程配置
  • /etc/audit/rules.d/audit.rules - 审计规则定义

3.2 常用审计规则示例

# 监控文件或目录访问
-w /etc/passwd -p wa -k identity
-w /etc/shadow -p wa -k identity
-w /etc/sudoers -p wa -k sudoers

# 监控系统调用
-a always,exit -F arch=b64 -S execve -k process_execution
-a always,exit -F arch=b32 -S execve -k process_execution

# 监控特权命令使用
-w /bin/su -p x -k privileged
-w /usr/bin/sudo -p x -k privileged

# 监控账户变更
-w /usr/sbin/useradd -p x -k user_management
-w /usr/sbin/userdel -p x -k user_management
-w /usr/sbin/usermod -p x -k user_management

3.3 应用规则

# 加载新规则
sudo auditctl -R /etc/audit/rules.d/audit.rules

# 查看当前规则
sudo auditctl -l

4. 审计日志管理

4.1 配置日志轮转

编辑/etc/audit/auditd.conf

max_log_file = 50   # 日志文件最大MB数
num_logs = 5        # 保留的日志文件数量
max_log_file_action = ROTATE  # 达到最大值时轮转

4.2 日志位置

审计日志默认存储在/var/log/audit/audit.log

5. 审计日志分析

5.1 基本查询命令

# 查看所有审计日志
sudo ausearch -i

# 按关键字搜索
sudo ausearch -k identity

# 按用户搜索
sudo ausearch -ua username

# 按时间范围搜索
sudo ausearch -ts today
sudo ausearch -ts 09:00:00 -te 17:00:00

5.2 生成报告

# 生成可读性更好的报告
sudo aureport -i

# 生成用户登录报告
sudo aureport -au -i

# 生成文件访问报告
sudo aureport -f -i

6. 高级配置

6.1 实时监控

# 监控特定进程
sudo auditctl -a always,exit -F pid=1234 -k monitored_process

# 监控特定用户
sudo auditctl -a always,exit -F uid=1000 -k user_activity

6.2 远程日志收集

配置/etc/audisp/audisp-remote.conf

remote_server = logserver.example.com
port = 60

7. 安全加固建议

  1. 保护审计日志目录:

    sudo chmod 700 /var/log/audit
    sudo chown root:root /var/log/audit
    
  2. 防止审计服务被停止:

    sudo chattr +i /etc/audit/rules.d/audit.rules
    
  3. 定期审查审计规则和日志

  4. 设置警报机制,对关键事件进行实时通知

8. 故障排查

  • 检查审计服务状态:systemctl status auditd
  • 查看审计守护进程日志:journalctl -u auditd
  • 验证内核是否支持审计:grep audit /boot/config-$(uname -r)

通过以上配置,您可以建立一个全面的系统安全审计框架,帮助您监控系统活动、检测安全事件并满足合规要求。