博客
关于我
linux审计功能及规则 (audit.rule)
阅读量:797 次
发布时间:2023-02-04

本文共 1959 字,大约阅读时间需要 6 分钟。

Linux审计功能(audit log)解析

Linux系统自带了一套强大的审计功能——audit log,专门用于记录和监控系统操作日志。本文将详细解析其工作原理、配置规则以及实际应用场景。

审计规则概述

在Linux系统中,audit log的配置规则主要存在于/etc/audit/rules.d/audit.rules文件中。通过在此文件中定义规则,可以指定需要监控的操作类型、文件路径以及权限变更等详细信息。这些规则将记录在/var/log/audit/audit.log中,为后续分析提供重要数据支持。

常见规则说明

audit log规则主要通过以下几个参数来定义:

  • -a:启用新增规则。
  • -F:添加文件或目录过滤条件。
  • -S:指定需要监控的系统调用。例如,-S execve可用于监控进程的启动。
  • -w:指定需要监控的文件或目录路径。
  • -p:指定需要监控的权限类型(如读取r、写入w、执行x、属性更改a)。
  • -k:为事件添加标记,便于在日志中快速定位特定操作。

实际应用示例

  • setuid/setgid规则

    通过-S execve参数,可以监控用户执行程序时的setuid和setgid操作。例如:

    -a always,exit -F arch=b64 -S execve -C uid!=euid -F euid=0 -k setuid

    这一规则用于检测用户尝试提升权限到root或组的行为。

  • 文件操作规则

    对于文件和目录的权限、属性等变更,可以使用-S fchown-S chmod等参数。例如:

    -a always,exit -F arch=b64 -S fchmod -F auid>=1000 -F auid!=4294967295 -k perm_mod

    这一规则用于监控文件权限的变更。

  • 特权操作监控

    对于具有特权的系统命令(如sudo、crontab、setsebool等),可以通过-S参数指定对应的系统调用。例如:

    -a always,exit -F arch=b64 -S su -F auid>=1000 -F auid!=4294967295 -k privilege escalation

    这一规则用于检测用户执行特权命令的行为。

  • 扩展属性监控

    扩展属性(extended attributes)用于存储文件和目录的额外元数据。通过-S removexattr-S setxattr等参数,可以监控相关操作。例如:

    -a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=4294967295 -k perm_mod
  • 日志文件监控

    对于与用户账户相关的文件(如/etc/passwd/etc/shadow等),可以通过-w参数指定路径并启用监控。例如:

    -w /etc/shadow -p wa -k identity

    这一规则用于监控对用户账户文件的读写操作。

  • 实际操作指南

    配置步骤

  • 安装audit工具:

    yum -y install audit
  • 启动audit服务并配置日志文件:

    systemctl start auditdcat /etc/audit/auditd.conf | grep log_file

    根据提示,确认日志文件路径为/var/log/audit/audit.log

  • 加载预定义规则:

    auditctl -R /etc/audit/rules.d/audit.rules
  • 启用并验证规则:

    auditctl -a always,exit -F arch=b64 -S execve -C uid!=euid -F euid=0auditctl -l
  • 查看日志

    通过以下命令可以查看audit日志:

    • 按主机名查找:
      ausearch -hn 192.168.1.1
    • 按事件关键字查找:
      ausearch -k setuid
    • 按文件路径限制查找:
      ausearch -w /etc/passwd
    • 生成时间范围内的报表:
      ausearch -t 2023-10-01 -e 2023-10-02 -f /etc/passwd

    注意事项

    • 规则管理:通过auditctl命令可以添加、删除或修改规则。例如:
      auditctl -Dauditctl -l
    • 日志分析:如果发现无规则的情况,需先加载规则文件:
      auditctl -R /etc/audit/rules.d/audit.rules
    • 日志存储:确保/var/log/audit目录存在,权限设置为755,以便正常写入。

    通过合理配置audit规则,可以全面监控系统操作,保障系统安全。如有疑问或问题,请随时留言讨论!

    转载地址:http://kukfk.baihongyu.com/

    你可能感兴趣的文章
    Objective-C实现无锁链表(附完整源码)
    查看>>
    Objective-C实现无锁链表(附完整源码)
    查看>>
    Objective-C实现时间戳转为年月日时分秒(附完整源码)
    查看>>
    Objective-C实现是否为 Pythagoreantriplet 毕氏三元数组算法(附完整源码)
    查看>>
    Objective-C实现显示响应算法(附完整源码)
    查看>>
    Objective-C实现晚捆绑测试实例(附完整源码)
    查看>>
    Objective-C实现普通矩阵A和B的乘积(附完整源码)
    查看>>
    Objective-C实现更新数字指定偏移量上的值updateBit算法(附完整源码)
    查看>>
    Objective-C实现最优二叉搜索树算法(附完整源码)
    查看>>
    Objective-C实现最大和连续子序列算法(附完整源码)
    查看>>
    Objective-C实现最大最小距离算法(附完整源码)
    查看>>
    Objective-C实现最大的非常大的数字算法(附完整源码)
    查看>>
    Objective-C实现最大类间方差法OTSU算法(附完整源码)
    查看>>
    Objective-C实现最大非相邻和算法(附完整源码)
    查看>>
    Objective-C实现最小二乘多项式曲线拟合(附完整源码)
    查看>>
    Objective-C实现最小二乘法(附完整源码)
    查看>>
    Objective-C实现最小值滤波(附完整源码)
    查看>>
    Objective-C实现最小公倍数LCM算法(附完整源码)
    查看>>
    Objective-C实现最小生成树 boruvka算法(附完整源码)
    查看>>
    Objective-C实现最小编辑距离问题算法(附完整源码)
    查看>>