linux audit审计(5)--audit规则配置

audit可以配置规则,这个规则主要是给内核模块下发的,内核audit模块会按照这个规则获取审计信息,发送给auditd来记录日志。

规则类型可分为:

1、控制规则:控制audit系统的规则;

2、文件系统规则:也可以认为是文件监控,可以监控一个特定文件或者一个路径。

3、系统调用规则:可以记录特定程序的系统调用。

audit规则可以通过auditctl,在命令行里输入,这些设置的规则为临时的,当系统重启后就不存在了。可以通过配置/etc/audit/audit.rules文件,当每次audit服务启动后,都会从这个文件来加载规则。

auditctl,这个命令可以配置audit规则,audit根据这些规则来决定哪些事件会被记录。The auditctl program is used to control the behavior, get status, and add or delete rules into the 2.6 kernel‘s audit system.

控制规则:

-b  设置在内核中audit缓冲空间的最大值。

-f   这个选项来决定内核如何处理critical erros:0=silent 1=printk 2=panic.默认值为1。

-e  设置使能标志,设置为0,为关闭了audit,设置为1,则开启audit;当设置为2时,表示锁定,一般在设置完其他规则后最后设置,防止其他人修改规则;任何修改规则的行为都会被拒绝,并且记录审计日志,只有当重启系统后,这个使能标志才可以被修改。

-s 查询audit内核状态。如:

linux-xdYUnA:/var/log/audit # auditctl -s
enabled 1
failure 1
pid 27106
rate_limit 0
backlog_limit 8192
lost 106978588
backlog 0

-l  列出所有当前配置的规则。

-D 删除所有当前加载的规则。

定义文件系统规则:

auditctl -w path_to_file -p permissions -k key_name

path_to_file 为要做审计的文件或路径;

permissions为要记录的许可:rwx 文件或路径的读写执行,a 修改文件或路径的属性。

r — read access to a file or a directory.
w — write access to a file or a directory.
x — execute access to a file or a directory.
a — change in the file‘s or directory‘s attribute.

key_name 为一个可选字符串,明确哪些规则产生的这些日志。过滤时可以使用。

如下举例:

定义规则,记录所有对/etc/passwd文件的写入以及属性修改,可以输入如下命令:

~]# auditctl -w /etc/passwd -p wa -k passwd_changes

记录所有对/etc/selinux/目录的写入以及属性修改,可以输入如下命令:

~]# auditctl -w /etc/selinux/ -p wa -k selinux_changes

记录所有执行了/sbin/insmod命令,向内核插入模块的行为,输入如下命令:

~]# auditctl -w /sbin/insmod -p x -k module_insertion

定义系统调用规则:

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等的事件。具体有哪些字段,可以参考man linux  https://linux.die.net/man/8/auditctl

例如:

定义一个规则,当每次使用系统调用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没有被设置的用户。

也可以通过系统调用规则,来定义文件系统规则,如下的系统调用规则,与-w /etc/shadow -p wa的文件系统规则等同:

~]# auditctl -a always,exit -F path=/etc/shadow -F perm=wa

原文地址:https://www.cnblogs.com/xingmuxin/p/8716396.html

时间: 2024-07-29 19:25:12

linux audit审计(5)--audit规则配置的相关文章

linux audit审计(4)--audit的日志切分,以及与rsyslog的切分协同使用

audit的规则配置稍微不当,就会短时间内产生大量日志,所以这个规则配置一定要当心.当audit日志写满后,可以看到如下场景: -r-------- 1 root root 8388609 Mar 31 11:47 audit.log.997 -r-------- 1 root root 8388780 Mar 31 11:47 audit.log.998 -r-------- 1 root root 8388621 Mar 31 11:47 audit.log.999 然后在messages日

Oracle11g温习-第十九章:审计(audit)

2013年4月27日 星期六 10:52 1.审计的功能:监控用户在database 的 action (操作) 2.审计分类 1) session :在同一个session,相同的语句只产生一个审计结果(默认) 2) access :  在同一个session,每一个语句产生一个审计结果  3.启用审计(默认不启用) SYS @ prod >show parameter audit; audit_file_dest                      string      /u01/a

保证Linux系统安全之firewalld防火墙配置地址伪装和端口转发详解

通过保证Linux系统安全之firewalld防火墙入门详解认识Linux系统firewalld防火墙,并可以编写一些相对简单一些的防火墙规则.Linux防火墙可以充当路由器(网关).路由器上的NAT技术,同样可以通过Linux防火墙来实现.地址伪装和端口转发说白了就是路由器中的NAT技术. 一.地址伪装和端口转发简介 firewalld防火墙支持两种类型的NAT: (1)地址伪装 地址伪装:基于源地址进行转换,通过地址伪装,NAT设备将经过设备的数据包转发到指定接收方,同时将通过的数据包的源地

linux日志审计2

http://www.cnblogs.com/ahuo/archive/2012/08/24/2653905.html http://people.redhat.com/sgrubb/audit/ (1)audit sudo apt-get install auditd syslog会记录系统状态(硬件警告.软件的log), 但syslog属于应用层, log归咎与软件, 并不会记录所有动作. 于是audit来记录更多信息. (2) inotify. inotify 是文件系统事件监控机制,是细

linux下mysql数据库主从同步配置

说明: 操作系统:CentOS 5.x 64位 MySQL数据库版本:mysql-5.5.35 MySQL主服务器:192.168.21.128 MySQL从服务器:192.168.21.129 准备篇: 说明:在两台MySQL服务器192.168.21.128和192.168.21.129上分别进行如下操作 备注: 作为主从服务器的MySQL版本建议使用同一版本! 或者必须保证主服务器的MySQL版本要高于从服务器的MySQL版本! 一.配置好IP.DNS .网关,确保使用远程连接工具能够连接

Windows和Linux环境下Memcached安装与配置(转)

一.memcached安装配置 windows平台安装 1.memcached-1.2.6-win32-bin.zip下载地址: http://code.jellycan.com/memcached/,执行memcached.exe -d install 安装. 2.守护进程方式启动:memcached.exe -m 512 -d start-d为守护进程启动,不能指定端口 默认端口11211-m为指定内存大小 3.指定端口启动:memcached.exe –p 33000 -m 512可以启动

Cloud Foundry中warden的网络设计实现——iptable规则配置

在Cloud Foundry v2版本中,该平台使用warden技术来实现用户应用实例运行的资源控制与隔离. 简要的介绍下warden,就是dea_ng如果需要运行用户应用实例(本文暂不考虑warden container提供staging打包环境),则发送相应请求给warden server,由warden server来创建warden container,并在warden container内部运行应用实例,而warden container的具体实现中使用cgroups等内核虚拟化技术,

Linux基础入门之网络属性配置

Linux基础入门之网络属性配置 摘要 Linux网络属性配置,最根本的就是ip和子网掩码(netmask),子网掩码是用来让本地主机来判断通信目标是否是本地网络内主机的,从而采取不同的通信机制. Linux网络属性配置,最根本的就是ip和子网掩码(netmask),子网掩码是用来让本地主机来判断通信目标是否是本地网络内主机的,如果在同一网络内,那么可以通过ARP广播机制得到对方mac地址后就可以进行通信的,如果不是本地网络内就必须将数据报文封装后一层一层的经由网关路由进行转发.无论目标是哪的一

Centos 7.3下 Linux For SQL Server安装及配置介绍

Centos 7.3下Linux For SQL Server安装及配置介绍 说到SQL Server服务,我们大家都知道是Microsoft公司的数据库服务,当然说到数据库,现在主要分为三大商:1:Oracle.2:Msql Server.3:Mysql:三种数据库在当下环境受到不了不同程度的关注:比如oracle主要应用到大型的商业比较多,比如银行:SQL Server主要在常见的互联网公司使用:mysql主要应用于小型的企业或者服务商使用:当然从费用上来说,Oracle是最贵的,也是最为稳

Linux的文件权限和目录配置

二.Linux的基本操作 2.1.Linux的文件权限和目录配置 2.1.1.Linux文件属性 以root身份登录后,执行“ls –al”将会出现如下内容: [[email protected] ~]# ls -al 总用量 44 dr-xr-x---. 5 root root 4096 8月   6 14:44 . dr-xr-xr-x. 17 root root 4096 7月 25 05:33 .. -rw-------. 1 root root 1426 7月 25 05:35 ana