Linux怎么设置系统审计规则_Linux auditctl审计规则配置方法【高级】

酷浩君_3060

酷浩君_3060

2026-03-30

518人浏览

原创

必须区分运行时调试与生产环境持久化两种模式:auditctl添加临时规则适用于测试,重启失效;永久规则需写入/etc/audit/rules.d/并用augenrules加载;系统调用级审计可捕获动态行为;需通过auditd.conf优化性能与日志容量;部署后须用ausearch等工具验证有效性。

linux怎么设置系统审计规则_linux auditctl审计规则配置方法【高级】

如果您需要在Linux系统中配置精细化的审计规则以捕获关键安全事件,则必须区分运行时调试与生产环境持久化两种模式。以下是针对auditctl命令的高级配置方法:

一、使用auditctl添加临时审计规则

auditctl命令直接向内核审计框架下发指令,适用于快速验证规则有效性、应急响应或测试阶段。所有规则在内存中生效,系统重启后自动失效。

1、监控关键系统文件的写入与属性变更行为:执行sudo auditctl -w /etc/shadow -p wa -k shadow_modification

2、监控特权命令执行:执行sudo auditctl -w /usr/bin/sudo -p x -k privileged_exec

3、捕获对指定目录下所有文件的读写执行访问(含子项):执行sudo auditctl -a always,exit -F dir=/root -F perm=rwxa -k root_access

4、记录普通用户调用execve系统调用的行为(64位架构):执行sudo auditctl -a always,exit -F arch=b64 -S execve -F auid>=1000 -k user_exec

5、验证当前已加载的全部规则:执行sudo auditctl -l,确认输出中包含刚添加的规则条目

二、编写永久性审计规则文件

将auditctl验证通过的规则固化至磁盘配置文件,确保auditd服务重启后仍能自动加载,是生产环境唯一合规方式。规则需存入/etc/audit/rules.d/目录下的.rules文件,并通过augenrules统一编译加载。

1、创建自定义规则文件:sudo vim /etc/audit/rules.d/10-security-critical.rules

2、在文件中逐行写入已验证的规则语句,例如:
-w /etc/passwd -p wa -k identity
-w /etc/ssh/sshd_config -p wa -k sshd_config
-a always,exit -F arch=b64 -S execve -F auid>=1000 -k user_exec

3、添加以#开头的注释行说明每条规则用途,便于后期维护

4、执行sudo augenrules --load重新加载全部规则集

5、检查规则是否成功载入:sudo auditctl -l | grep "identity",确认匹配结果存在

三、配置细粒度系统调用级审计

当文件路径监控无法覆盖动态行为(如远程下载、内存注入、非标准路径执行)时,需基于系统调用进行过滤,实现深度行为捕获。该方式依赖精确的架构标识与字段匹配,避免误报泛滥。

1、监控所有对网络端口绑定的系统调用(含失败尝试):sudo auditctl -a always,exit -F arch=b64 -S bind -k network_bind

2、捕获调用curl、wget、nc等工具的完整执行路径:sudo auditctl -a always,exit -F arch=b64 -S execve -F path=/usr/bin/curl -k http_tool_usage

3、限制仅记录非标准端口上的bind行为:sudo auditctl -a always,exit -F arch=b64 -S bind -F a0!=22 -F a0!=80 -F a0!=443 -k nonstandard_port_bind

4、记录所有在/tmp或/dev/shm目录下启动的进程:sudo auditctl -a always,exit -F arch=b64 -S execve -F path=/tmp -k tmp_exec

5、启用失败事件记录开关以捕获权限拒绝类操作:sudo auditctl -f -e 2(-f表示记录失败事件,-e 2表示严格模式)

四、优化审计性能与日志容量控制

不加约束的审计规则会引发日志爆炸式增长及I/O瓶颈,必须结合auditd.conf参数与规则筛选逻辑进行协同调控,防止服务中断或磁盘占满。

1、编辑主配置文件:sudo vim /etc/audit/auditd.conf

2、将max_log_file设为100(单位MB),避免单个日志过大

3、将num_logs设为6,确保最多保留6个轮转日志文件

4、设置space_left_action = SYSLOG与admin_space_left_action = SUSPEND,防止磁盘耗尽导致审计停止

5、将flush参数由默认INCREMENTAL改为DATA,提升日志写入可靠性但略微增加延迟

五、验证规则有效性与日志捕获能力

规则部署后必须立即验证其是否真实触发并生成可检索日志,否则可能因路径拼写错误、权限标记遗漏、架构不匹配等原因导致静默失效。

1、手动触发一条被监控行为,例如:sudo cp /etc/passwd /tmp/test_passwd

2、立即执行sudo ausearch -k identity -i,查看是否返回包含cp操作的完整审计记录

3、若无输出,检查规则路径是否为软链接目标路径而非链接本身;确认-p参数是否遗漏w(写)权限

4、对于系统调用规则,使用sudo ausearch -m SYSCALL -ts recent检索最近所有系统调用事件,确认是否存在对应execve或bind条目

5、检查/var/log/audit/audit.log文件末尾是否有新增时间戳匹配的操作记录,且ausearch输出中key字段与规则-k值一致

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
curl_exec
curl_exec

curl_exec函数是PHP cURL函数列表中的一种,它的功能是执行一个cURL会话。给大家总结了一下php curl_exec函数的一些用法实例,这个函数应该在初始化一个cURL会话并且全部的选项都被设置后被调用。他的返回值成功时返回TRUE, 或者在失败时返回FALSE。

2023.06.14

3483

6

linux常见下载安装工具
linux常见下载安装工具

linux常见下载安装工具有APT、YUM、DNF、Snapcraft、Flatpak、AppImage、Wget、Curl等。想了解更多linux常见下载安装工具相关内容,可以阅读本专题下面的文章。

2023.10.30

775

4

vim保存退出命令
vim保存退出命令

vim是一个非常强大的文本编辑器,常用于Unix和Linux系统。它是从vi发展而来的,相比vi有许多改进和扩展。在vim中,保存并退出的命令是:wq"wq"这个命令是由两个部分组成的。其中,"w"表示写入文件,将所做的更改保存到磁盘;而"q"表示退出vim编辑器。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.08.01

329

3

磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

2023.06.21

3890

4

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

2023.06.29

3353

10

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2023.06.30

2493

5

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

2023.07.05

6010

7

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

2023.07.06

5642

7

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.20

3313

8

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.6万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 133.4万人学习