博客
关于我
linux审计功能及规则 (audit.rule)
阅读量:791 次
发布时间: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/

    你可能感兴趣的文章
    Linux学习总结(14)——Linux权限控制
    查看>>
    Linux学习总结(15)——提高 Vim 和 Shell 效率的 9 个建议
    查看>>
    Linux学习总结(16)——CentOS 下 Nginx + Tomcat 配置负载均衡
    查看>>
    Linux学习总结(17)——Linux新手必须学会的12个命令
    查看>>
    Linux学习总结(18)——Linux使用init命令关机、重启、切换模式
    查看>>
    Linux学习总结(19)——Linux中文本编辑器vim特殊使用方法
    查看>>
    Linux学习总结(1)——Linux命令大全完整版
    查看>>
    Linux学习总结(20)——Linux 文件夹结构和作用
    查看>>
    Linux学习总结(21)——CentOS7环境下FTP服务器的安装和配置
    查看>>
    Linux学习总结(24)——Linux查找文件命令
    查看>>
    Linux学习总结(26)——Shell常用命令总结
    查看>>
    Linux学习总结(28)——Linux主机加固
    查看>>
    Linux学习总结(28)——Linux主机加固
    查看>>
    Linux学习总结(28)——Linux主机加固
    查看>>
    Linux学习总结(29)——CentOS 6和CentOS 7区别总结
    查看>>
    Linux学习总结(2)——linux常用命令大全
    查看>>
    Linux学习总结(2)——linux常用命令大全
    查看>>
    Linux学习总结(30)——优秀程序员喜欢用Linux操作系统
    查看>>
    Linux学习总结(38)——Linux超实用的30个命令
    查看>>
    Linux学习总结(39)——系统管理员应该知道的 20 条 Linux 命令
    查看>>