Auditd的常见的配置场景和审计日志查看方法

auditd 是 Linux 系统中的审计守护进程,用于记录系统的安全相关事件。通过配置 auditd,可以监控和记录各种系统活动,如文件访问、用户登录、系统调用等。以下是一些常见的配置场景和审计日志查看方法。

常见的配置场景

  1. 文件和目录访问审计

    监控特定文件或目录的访问情况。例如,监控 /etc/passwd 文件的访问:

    sudo auditctl -w /etc/passwd -p rwxa -k passwd_changes
    

    解释:

    • -w /etc/passwd:监控 /etc/passwd 文件。
    • -p rwxa:监控读(r)、写(w)、执行(x)和属性更改(a)。
    • -k passwd_changes:为该规则指定一个键(key),便于在日志中查找。
  2. 用户登录和注销审计

    监控用户登录和注销事件:

    sudo auditctl -a always,exit -F arch=b64 -S execve -k user_login
    

    解释:

    • -a always,exit:添加一个规则,监控所有 exit 事件。
    • -F arch=b64:指定 64 位架构。
    • -S execve:监控 execve 系统调用。
    • -k user_login:为该规则指定一个键(key),便于在日志中查找。
  3. 系统调用审计

    监控特定的系统调用。例如,监控 open 系统调用:

    sudo auditctl -a always,exit -F arch=b64 -S open -k file_open
    

    解释:

    • -a always,exit:添加一个规则,监控所有 exit 事件。
    • -F arch=b64:指定 64 位架构。
    • -S open:监控 open 系统调用。
    • -k file_open:为该规则指定一个键(key),便于在日志中查找。
  4. 用户命令审计

    监控用户执行的命令:

    sudo auditctl -a always,exit -F arch=b64 -S execve -F uid>=1000 -F uid!=4294967295 -k user_commands
    

    解释:

    • -a always,exit:添加一个规则,监控所有 exit 事件。
    • -F arch=b64:指定 64 位架构。
    • -S execve:监控 execve 系统调用。
    • -F uid>=1000:监控用户 ID 大于等于 1000 的用户(通常是普通用户)。
    • -F uid!=4294967295:排除未定义的用户 ID。
    • -k user_commands:为该规则指定一个键(key),便于在日志中查找。

审计日志查看方法

auditd 的审计日志通常存储在 /var/log/audit/audit.log 文件中。可以使用以下方法查看和分析审计日志:

  1. 直接查看日志文件

    使用 catlesstail 命令查看日志文件:

    sudo less /var/log/audit/audit.log
    

    或者实时查看日志:

    sudo tail -f /var/log/audit/audit.log
    
  2. 使用 ausearch 工具

    ausearch 是一个专门用于搜索审计日志的工具。例如,查找所有与 passwd_changes 相关的事件:

    sudo ausearch -k passwd_changes
    

    查找特定时间范围内的事件:

    sudo ausearch -ts recent -k user_login
    

    解释:

    • -ts recent:查找最近的事件。
    • -k user_login:查找与 user_login 相关的事件。

使用 aureport 工具

aureport 是一个生成审计报告的工具,可以帮助你快速查看和分析审计日志中的信息。以下是一些常见的使用场景:

  1. 生成每日的登录报告

    sudo aureport -l --summary
    

    这将生成一个关于用户登录事件的摘要报告。

  2. 生成文件访问报告

    sudo aureport -f --summary
    

    这将生成一个关于文件访问事件的摘要报告。

  3. 生成系统调用报告

    sudo aureport -s --summary
    

    这将生成一个关于系统调用事件的摘要报告。

  4. 生成用户命令报告

    sudo aureport -c --summary
    

    这将生成一个关于用户执行命令的摘要报告。

  5. 生成特定时间范围内的报告

    例如,生成过去一天的登录报告:

    sudo aureport -l --start today --end now
    

    这将生成从今天开始到现在的登录事件报告。

配置持久化审计规则

为了确保审计规则在系统重启后仍然有效,可以将审计规则写入配置文件。通常,审计规则可以写入 /etc/audit/rules.d/ 目录下的文件中,例如 /etc/audit/rules.d/audit.rules

  1. 编辑审计规则文件

    打开或创建 /etc/audit/rules.d/audit.rules 文件:

    sudo nano /etc/audit/rules.d/audit.rules
    
  2. 添加审计规则

    将所需的审计规则添加到文件中。例如:

    -w /etc/passwd -p rwxa -k passwd_changes
    -a always,exit -F arch=b64 -S execve -k user_login
    -a always,exit -F arch=b64 -S open -k file_open
    -a always,exit -F arch=b64 -S execve -F uid>=1000 -F uid!=4294967295 -k user_commands
    
  3. 重启 auditd 服务

    保存文件并退出编辑器,然后重启 auditd 服务以应用新的规则:

    sudo systemctl restart auditd
    

总结

通过配置 auditd,可以监控和记录系统中的各种安全相关事件。常见的配置场景包括文件和目录访问审计、用户登录和注销审计、系统调用审计以及用户命令审计。审计日志通常存储在 /var/log/audit/audit.log 文件中,可以使用 ausearchaureport 工具查看和分析审计日志。为了确保审计规则在系统重启后仍然有效,可以将规则写入 /etc/audit/rules.d/ 目录下的配置文件中,并重启 auditd 服务以应用新的规则。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值