博客
关于我
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下的容器化技术:从入门到实践
    查看>>
    Linux下的文件权限与访问控制:守护你的数据宝藏
    查看>>
    Linux下的版本控制系统——Git:初学者指南
    查看>>
    Linux下的硬件管理与设备驱动全解析
    查看>>
    Linux下的系统安全加固与入侵检测全解析
    查看>>
    Linux下的系统监控与性能调优:从入门到精通
    查看>>
    Linux下的自动化任务与计划任务:让你的系统更智能
    查看>>
    linux下监控用户操作记录的工具
    查看>>
    Linux下磁盘的分区
    查看>>
    linux下解压命令
    查看>>
    linux下迅雷远程下载服务,在 Linux 下使用迅雷的另一种无入侵方式
    查看>>
    Linux下进程通信与FIFO操作详解
    查看>>
    Linux下通过ssh访问另一台内网服务器
    查看>>
    Linux下通过端口杀死进程
    查看>>
    Linux下部署maven-web项目,包括JDK安装、TOMCAT安装、MYSQL安装详细解释
    查看>>
    Linux下,C++判断指定路径下,是否存在wps打开的文件
    查看>>
    Linux下,Docker出现Cannot connect to the Docker daemon. Is the docker daemon running on this host错误解决办法
    查看>>
    Linux下,配置nodejs环境两种方法,并使用cron系统任务定时启动web服务
    查看>>
    Linux中 dir 命令还能这样玩!
    查看>>
    Linux中.a,.la,.o,.so文件的意义和编程实现
    查看>>