本文共 1959 字,大约阅读时间需要 6 分钟。
Linux系统自带了一套强大的审计功能——audit log,专门用于记录和监控系统操作日志。本文将详细解析其工作原理、配置规则以及实际应用场景。
在Linux系统中,audit log的配置规则主要存在于/etc/audit/rules.d/audit.rules
文件中。通过在此文件中定义规则,可以指定需要监控的操作类型、文件路径以及权限变更等详细信息。这些规则将记录在/var/log/audit/audit.log
中,为后续分析提供重要数据支持。
audit log规则主要通过以下几个参数来定义:
-S execve
可用于监控进程的启动。r
、写入w
、执行x
、属性更改a
)。setuid/setgid规则
通过-S execve
参数,可以监控用户执行程序时的setuid和setgid操作。例如:-a always,exit -F arch=b64 -S execve -C uid!=euid -F euid=0 -k setuid
这一规则用于检测用户尝试提升权限到root或组的行为。
文件操作规则
对于文件和目录的权限、属性等变更,可以使用-S fchown
、-S chmod
等参数。例如:-a always,exit -F arch=b64 -S fchmod -F auid>=1000 -F auid!=4294967295 -k perm_mod
这一规则用于监控文件权限的变更。
特权操作监控
对于具有特权的系统命令(如sudo、crontab、setsebool等),可以通过-S
参数指定对应的系统调用。例如:-a always,exit -F arch=b64 -S su -F auid>=1000 -F auid!=4294967295 -k privilege escalation
这一规则用于检测用户执行特权命令的行为。
扩展属性监控
扩展属性(extended attributes)用于存储文件和目录的额外元数据。通过-S removexattr
、-S setxattr
等参数,可以监控相关操作。例如:-a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=4294967295 -k perm_mod
日志文件监控
对于与用户账户相关的文件(如/etc/passwd
、/etc/shadow
等),可以通过-w
参数指定路径并启用监控。例如:-w /etc/shadow -p wa -k identity
这一规则用于监控对用户账户文件的读写操作。
安装audit工具:
yum -y install audit
启动audit服务并配置日志文件:
systemctl start auditdcat /etc/audit/auditd.conf | grep log_file
根据提示,确认日志文件路径为/var/log/audit/audit.log
。
加载预定义规则:
auditctl -R /etc/audit/rules.d/audit.rules
启用并验证规则:
auditctl -a always,exit -F arch=b64 -S execve -C uid!=euid -F euid=0auditctl -l
通过以下命令可以查看audit日志:
ausearch -hn 192.168.1.1
ausearch -k setuid
ausearch -w /etc/passwd
ausearch -t 2023-10-01 -e 2023-10-02 -f /etc/passwd
auditctl
命令可以添加、删除或修改规则。例如:auditctl -Dauditctl -l
auditctl -R /etc/audit/rules.d/audit.rules
/var/log/audit
目录存在,权限设置为755
,以便正常写入。通过合理配置audit规则,可以全面监控系统操作,保障系统安全。如有疑问或问题,请随时留言讨论!
转载地址:http://kukfk.baihongyu.com/