auditctl审计使用手册

  1. 概述

Linux提供了一个审计服务auditd。

默认情况下,开启这个服务只记录较少的资料。

这可能不满足大多数人的需要。但是如果开启全部记录,对于生产环境,可能负载过重,导致影响正常的服务。因此,根据实际需要进行配置是必须的。

  1. 注意事项

audit规则可以使用auditctl命令或配置规则文件来实现。

auditctl命令可以立即生效,但是重启服务会丢失配置的规则。

使用配置文件配置,需要在/etc/audit/audit.rules配置文件中添加规则,然后重启auditd服务生效。

service auditd restart

  1. 命令介绍

查看规则:auditctl -l

 

状态查看:auditctl -s

 

添加规则:auditctl -w 路径或路径+文件 -p 规则 -k 关键字

vi /etc/audit/rules.d/audit.rules

-w /opt/jumpserver/config/ -p rwxa

-w /etc/nginx/nginx.conf -p rwxa

-w /etc/nginx/vhost/ -p rwxa

service auditd restart

auditctl -l

 

例子:

/scripts目录下发生读、写、执行、属性变化进行审计记录:auditctl -w /scripts -p rwxa

/bin目录下发生执行进行审计记录:auditctl -w /bin -p x

这次看到2条规则。

-k参数是一个可选项,允许填写一个字符串,说明这个规则的用途,这个字符串在记录后可以用于过滤使用。

定义系统调用规则:auditctl -a action,filter -S system_call -F field=value -k key_name

action和filter 明确一个事件被记录。action可以为always或者never,filter明确出对应的匹配过滤,filter可以为:task,exit,user,exclude

system_call 明确出系统调用的名字,几个系统调用可以写在一个规则里,如-S xxx -S xxx。系统调用的名字可以在/usr/include/asm/unistd_64.h文件中找到

field=value 作为附加选项,修改规则以匹配特定架构、GroupID,ProcessID等的事件。

例子:

定义一个规则,当每次使用系统调用adjtimex或者settimeofday时,并且为64位架构,记录审计日志,命令可以输入如下:

auditctl -a always,exit -F arch=b64 -S adjtimex -S settimeofday -k time_change

一个文件被user ID为1000或者更大的用户删除,或重命名,记录审计,命令如下:

auditctl -a always,exit -S unlink -S unlinkat -S rename -S renameat -F auid>=1000 -F auid!=4294967295 -k delete

注意:-F auid!=4294967295 这个是为了排除login UID没有被设置的用户。

其他命令:

-D删除所有规则

-W删除一条规则(和-w对应)

-d删除一条UI规则(和-a对应)

  1. 编辑规则

基本参数与命令auditctl一致,只需要直接写入配置文件/etc/audit/audit.rules,重启auditd服务即可。

/etc/audit/rules.d下放置的文件,可以被导入到audit.rules配置文件。

导入命令:augenrules --load

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值