centos

centos selinux如何审计系统

小樊
35
2025-11-11 20:51:06
栏目: 智能运维

1. 确保审计服务(auditd)运行正常
SELinux审计依赖auditd守护进程收集系统事件。首先确认其状态:

sudo systemctl status auditd

若未运行,启动并设置开机自启:

sudo systemctl start auditd
sudo systemctl enable auditd

2. 查看SELinux核心审计日志文件
SELinux的拒绝事件默认记录在/var/log/audit/audit.log中。可通过以下命令直接查看:

sudo cat /var/log/audit/audit.log | grep "AVC"  # 过滤AVC(访问向量缓存)拒绝事件

或使用tail实时监控最新日志:

sudo tail -f /var/log/audit/audit.log | grep "denied"

3. 使用ausearch命令精准查询SELinux事件
ausearch是SELinux专用审计工具,可按时间、类型、进程等条件筛选日志:

4. 使用aureport生成SELinux审计报告
aureport可汇总审计日志,生成易读的报告:

5. 利用journalctl查看内核级SELinux日志
若系统使用systemd,可通过journalctl查看内核记录的SELinux事件:

6. 分析日志并生成自定义策略(可选)
若日志中出现大量denied(拒绝)事件,可使用以下工具诊断和解决:

7. 监控SELinux配置文件的变更(可选)
通过auditd监控SELinux配置文件(如/etc/selinux/config/etc/selinux/policy)的修改,及时发现异常:
编辑/etc/audit/audit.rules(或/etc/audit/rules.d/audit.rules),添加以下规则:

-w /etc/selinux/config -p wa -k selinux_config  # 监控配置文件读写
-w /etc/selinux/policy -p wa -k selinux_policy  # 监控策略文件变更

重启auditd使规则生效:

sudo systemctl restart auditd

之后可通过ausearch查看监控事件:

sudo ausearch -k selinux_config

0
看了该问题的人还看了