当前位置:   article > 正文

audit安装配置及使用_重新安装audit

重新安装audit

官网链接:https://access.redhat.com/documentation/zh-cn/red_hat_enterprise_linux/7/html/security_guide/chap-system_auditing

安装

没试过,centos默认自带audit
如果没有可尝试:yum install audit

查看是否安装:systemctl status auditd
正常安装运行中会是以下状态:
在这里插入图片描述

配置

配置文件

配置文件路径:/etc/audit

  • auditd.conf文件 ----审计工具的配置文件(文件说明可参考:https://linux.die.net/man/8/auditd.conf)
    • log_file 参数可配置审计日志存储路径
    • num_logs 参数决定保留日志文件数
    • max_log_file参数可限制审计日志文件最大日志容量(单位为兆)
  • audit.rules文件 ----审计的规则,该文件由/etc/audit/rules.d产生
  • audit-stop.rules文件 ----审计停止规则,该文件定义了停止检测
  • rules.d目录 ----定义需要审计的规则,写到文件之后会永久有效
    预配置的规则文件路径:/usr/share/doc/audit/rules/

指令

ps:audit规则可以通过auditctl在命令行里进行操作,这些设置的规则为临时的,当系统重启后就不存在了。如需永久修改可以对/etc/audit/audit.rules文件进行修改。
永久生效指令:

auditctl -R path-to-rules //将path-to-rules文件中的规则读取到内核中永久生效,指定文件中语法同auditctl但不包含auditctl字符串
augenrules --load //将/etc/audit/rules.d目录下的规则,按照顺序编辑到audit.rules中,具体顺序可见man augenrules

  1. 添加监控规则
    • 规则类型
      • 控制规则
        修改 Audit 系统自身的行为及其某些配置
      • 文件系统规则
        也称为文件监视,允许审核对特定文件或目录的访问
      • 系统调用规则
        记录任何指定程序进行的系统调用
    • 规则配置项
      • 控制规则
        • -l 列出所有当前载入的审计规则
      • 文件系统规则
        eg. auditctl -w path_to_file -p permissions -k key_name(key_name 是一个可选字符串,可用于识别哪个规则或一组规则生成特定的日志条目)
        • -w 监控路径
        • -p 监控动作(如果没有-p,则默认监控rwxa)
          eg. -w /etc/passwd -p wa 监控/etc/passwd文件的写和权限修改行为
          • r 读
          • w 写
          • x 执行
          • a 修改文件属性
        • -k 关键字
      • 系统调用规则
        eg.auditctl -a action,filter -S system_call -F field=value -k key_name
        • -S 系统调用名称(有哪些可通过man syscalls命令查看)
        • -a 指定何时记录特定事件(action/filter)
          • action
            • always - 规定何时记录审计事件
            • never - 规定何时不记录审计事件
          • filter
            • task - 仅记录与进程相关的事件
            • exit - 在系统调用结束时记录
            • user - 记录用户空间的事件
              • 该过滤器唯一有效的字段是(指-F):uid、auid、gid、pid、subj_user、subj_role、subj_type、subj_sen、subj_clr和msgtype,所有其他字段将被视为不匹配。
              • 具有CAP_AUDIT_WRITE的能力的用户空间的任何事件都将被记录到审计跟踪中(通常情况下,只有特权进程(具有 root 权限)才具有 CAP_AUDIT_WRITE 能力),所以此类过滤器常与never动作一并使用,用于加白
            • exclude - 不被记录的事件
              • 向事件类型排除筛选器列表中添加规则。此列表用于筛选不希望看到的事件。例如,如果您不想看到任何avc消息,您可以使用此列表来记录。事件可以通过进程ID、用户ID、组ID、登录用户ID、邮件类型或主题上下文来排除。该动作将被忽略,并使用默认值“never”。
        • -F 指定附加选项,进一步根据指定的架构、组 ID、进程 ID 等进一步修改规则来匹配事件

eg1.
auditctl -a always,exit -S unlink -S unlinkat -S rename -S renameat -F auid>=1000 -F auid!=4294967295 -k delete
// 定义一个规则,当 ID 为 1000 或更大的系统用户每次删除或重命名文件时记录该事件

eg2.
auditctl -a always,exit -F path=/etc/shadow -F perm=wa
//使用系统调用创建一个与 -w /etc/shadow -p wa 文件系统规则想通的规则

eg3.
auditctl -a always,exit -F exe=/bin/id -F arch=b64 -S execve -k execution_bin_id
//记录所有 /bin/id 程序的执行

  1. 删除监控规则
    • auditctl -D 删除所有当前载入的审计规则
    • 删除指定规则需要在 auditctl -D 后添加与要删除规则完全匹配的参数
  2. 查看监控日志
    • 监控日志默认位置:/var/log/audit/
    • 可通过修改/etc/audit/auditd.conf文件更改文件保存位置
    • ausearch - audit log文件有格式,直接用cat等查看不太友好,audit提供工具ausearch 来查询audit log,命令详见ausearch -h
      • -i(–interpret) 返回结果人类可读
      • -m(–message) 基于type进行查找
      • -k(–key) 基于key进行查找
      • 搜索失败的登录尝试:ausearch --message USER_LOGIN --success no --interpret
      • 搜索所有帐户、组和角色更改的事件:ausearch -m ADD_USER -m DEL_USER -m ADD_GROUP -m USER_CHAUTHTOK -m DEL_GROUP -m CHGRP_ID -m ROLE_ASSIGN -m ROLE_REMOVE -i

audit监控日志说明

日志中可能存在的字段含义及type类型枚举值可查阅链接:

https://access.redhat.com/articles/4409591#audit-record-types-2

audit.log文件内容示例
该样例是通过规则 -w /etc/ssh/sshd_config -p warx -k sshd_config检测到的查看ssh配置文件时间,触发命令为:bash cat /etc/ssh/sshd_config

type=SYSCALL msg=audit(1364481363.243:24287): arch=c000003e syscall=2 success=no exit=-13 a0=7fffd19c5592 a1=0 a2=7fffd19c4b50 a3=a items=1 ppid=2686 pid=3538 auid=1000 uid=1000 gid=1000 euid=1000 suid=1000 fsuid=1000 egid=1000 sgid=1000 fsgid=1000 tty=pts0 ses=1 comm="cat" exe="/bin/cat" subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 key="sshd_config"
type=CWD msg=audit(1364481363.243:24287):  cwd="/home/shadowman"
type=PATH msg=audit(1364481363.243:24287): item=0 name="/etc/ssh/sshd_config" inode=409248 dev=fd:00 mode=0100600 ouid=0 ogid=0 rdev=00:00 obj=system_u:object_r:etc_t:s0  objtype=NORMAL cap_fp=none cap_fi=none cap_fe=0 cap_fver=0
type=PROCTITLE msg=audit(1364481363.243:24287) : proctitle=636174002F6574632F7373682F737368645F636F6E666967
  • 1
  • 2
  • 3
  • 4
  • type - 记录的类型,其枚举值详见:https://access.redhat.com/articles/4409591#audit-record-types-2,以下对几条样例的类型进行解释
    • type=SYSCALL - 表示该记录是由对内核的系统调用触发的
    • type=CWD - 记录当前进程的位置
    • type=PATH - 记录作为参数传递给系统调用的文件或目录的完整路径
    • type=PROCTITLE - 给出触发此Audit事件的完整命令行
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/672136
推荐阅读
相关标签
  

闽ICP备14008679号