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
failure
pid
rate_limit
backlog_limit
lost
backlog
-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>= -F auid!= -k delete
注意,-F auid!=4294967295 这个是为了排除login UID没有被设置的用户。
也可以通过系统调用规则,来定义文件系统规则,如下的系统调用规则,与-w /etc/shadow -p wa的文件系统规则等同:
~]# auditctl -a always,exit -F path=/etc/shadow -F perm=wa
linux audit审计(5)--audit规则配置的更多相关文章
- linux audit审计(6)--audit永久生效的规则配置
定义reboot系统后,仍然生效的审计规则,有两种办法: 1.直接写入/etc/audit/audit.rules文件中,在service文件中需要加入ExecStartPost=-/sbin/aud ...
- [转] Linux下防火墙iptables用法规则详及其防火墙配置
from: http://www.cnblogs.com/yi-meng/p/3213925.html 备注: 排版还不错,建议看以上的链接. iptables规则 规则--顾名思义就是规矩和原则,和 ...
- Linux下防火墙iptables用法规则详及其防火墙配置
转:http://www.linuxidc.com/Linux/2012-08/67952.htm iptables规则 规则--顾名思义就是规矩和原则,和现实生活中的事情是一样的,国有国法,家有家规 ...
- linux audit审计(3)--audit服务配置
audit守护进程可以通过/etc/audit/auditd.conf文件进行配置,默认的auditd配置文件可以满足大多数环境的要求. local_events = yes write_logs = ...
- linux的审计功能(audit)
为了满足这样的需求:记录文件变化.记录用户对文件的读写,甚至记录系统调用,文件变化通知.什么是auditThe Linux Audit Subsystem is a system to Collect ...
- linux audit审计(8)--开启audit对系统性能的影响
我们使用测试性能的工具,unixbench,它有一下几项测试项目: Execl Throughput 每秒钟执行 execl 系统调用的次数 Pipe Throughput 一秒钟内一个进程向一个管道 ...
- linux audit审计(4)--audit的日志切分,以及与rsyslog的切分协同使用
audit的规则配置稍微不当,就会短时间内产生大量日志,所以这个规则配置一定要当心.当audit日志写满后,可以看到如下场景: -r-------- 1 root root 8388609 Mar 3 ...
- Oracle Audit 审计功能的认识与使用
1.Audit的概念 Audit是监视和记录用户对数据库进行的操作,以供DBA进行问题分析.利用Audit功能,可以完成以下任务: 监视和收集特定数据库活动的数据.例如管理员能够审计哪些表被更新,在某 ...
- ORACLE AUDIT 审计
转自 http://blog.csdn.net/dnnyyq/article/details/4525980 1.什么是审计 审计(Audit)用于监视用户所执行的数据库操作,并且Oracle会将审计 ...
- MySQL审计工具Audit Plugin安装使用
本实验的审计插件均是安装在 mysql-community-server-5.7.9 的服务器上. 插件安装(社区版) 插件下载地址: https://bintray.com/mcafee/mysql ...
随机推荐
- P1145 约瑟夫 W(模拟)
暴力+模拟 #include<iostream> #include<cstring> using namespace std; int ans, k, k2; ]; bool ...
- 【js】鼠标跟随效果
1.实现思想 ①鼠标跟随效果,发生在鼠标移动的时候,故需要使用onmousemove事件 ②当页面内容多于1屏时,就需要考虑滚动距离的问题 ③想实现鼠标跟随的效果需要: 元素的left位置 = 鼠标当 ...
- 吴恩达课后作业学习2-week1-3梯度校验
参考:https://blog.csdn.net/u013733326/article/details/79847918 希望大家直接到上面的网址去查看代码,下面是本人的笔记 5.梯度校验 在我们执行 ...
- Vim 中使用 vimim 来输入中文
Vim 中输入中文,要来回切换中英文,偶尔不慎的切换和按键,可能导致误删不能恢复的错误,一直是个很头疼的问题.现在有了 vimim 这个插件,整个世界清净了. 插件官方网站:http://www.vi ...
- DataGuard切换(主库为Rac+备库为Rac)
http://blog.itpub.net/29477587/viewspace-1331121/ 前段时间做了一次主备库的切换,大体写下操作步骤和记录,分享下. 环境: db v ...
- 操作循环的关键字switch,break,return的应用及区别
break 使用break结束循环 break可以终止循环 和 switch语句的运行; break用于结束一个循环,即跳出循环体,执行循环体之后的代码: switch 使用continue提前结束 ...
- LCA--倍增法
一般来求LCA有3种方法 1.倍增 2.RMQ+欧拉序 3.tarjan(离线) 本文将倍增求lca 这个算法是很常见很常见的 也是较好理解的 (我也不明白假期学长讲的时候我为什么死活都不明白 自闭q ...
- 如何使用Apollo标定激光雷达和IMU
https://github.com/ApolloAuto/apollo/blob/master/docs/quickstart/apollo_1_5_lidar_calibration_guide_ ...
- Tencent Cloud Developers Conference(2018.12.15)
时间:2018.12.15地点:北京朝阳悠唐皇冠假日酒店
- Gulp压缩前端CS,JS,图片文件
Gulp 基于Node.js的前端构建工具,Gulp有许多插件(这里是插件),使用Gulp可以实现前端代码的编译(sass.less).压缩.图片的压缩等,当然主要是前端工程化,不过我目前只是需要压缩 ...