Linux安全审计之audit安装与使用

    xiaoxiao2025-03-15  59

    场景

    安全最重要的一步是内部安全,如何监控用户的行为是一个永恒不变的话题。 audit可以详细监控用户的行为,详细到查看或修改了某个文件。这些都可以在日志中查看到。

    安装

    小贴士: CentOS默认已经安装

    yum -y install audit*

    开启audit服务

    service auditd start #开启 service auditd stop #关闭 service auditd restart #重启

    配置文件

    vim /etc/audit/auditd.conf log_file = /var/log/audit/audit.log #日志保存文件 max_log_file = 6 #单个日志文件最大占用空间(MB) max_log_file_action = ROTATE #日志文件达到最大空间的动作: ROTATE为将旧日志文件重命名,再新建日志文件继续写入 freq = 20 #每隔20条记录写入日志中(flush = INCREMENTAL时有效)

    添加规则

    1.临时有效
    auditctl -w /bin/rm -p x -k removefile -w #指定所要监控的文件或命令 -p #监控属性(如x执行) -k #指定关键词(方便在日志中查询) -D #清除规则(临时,不会清除配置文件规则)
    2.永久生效

    小贴士: /etc/audit/rules.d/audit.rules为规则配置文件 /etc/audit/audit.rules根据/etc/audit/rules.d/audit.rules里的规则自动生成 所以我们编辑/etc/audit/rules.d/audit.rules就好了

    vim vim /etc/audit/rules.d/audit.rules -w /bin/rm -p x -k removefile #添加这一句 service auditd restart #重启服务

    查看规则

    auditctl -l

    查看日志

    小贴士: 实验过程中记得把配置文件/etc/audit/auditd.conf中freq设置为1,不然很可能查看不到结果。

    方式1-直接查看
    cat /var/log/audit/audit.log

    例如:运行命令rm -rf /root/123 发现可以详细的看到谁在什么时候对谁干了些什么

    字段解释
    type=PATH #类型 msg=audit(1558846158.888:141) #时间戳和事件id(同一事件则id相同)
    方式2-ausearch

    一般查日志的方式很不方便,所以audit给出了非常友好的日志查看命令。

    ausearch -i #显示信息更清晰,比如显示日期而不是时间戳 -k #指定关键词(auditctl -k指定的关键词) -c commond #只显示与指令相关日志(如-c rm)

    例如:运行命令ausearch -i 可以看到不同事件用----分割开; 显示了日期而不是时间戳; 显示了用户名而不是uid。

    最新回复(0)