首页主机资讯centos selinux如何审计系统

centos selinux如何审计系统

时间2025-11-13 21:30:03发布访客分类主机资讯浏览317
导读:1. 确保审计服务(auditd)运行正常 SELinux审计依赖auditd守护进程收集系统事件。首先确认其状态: sudo systemctl status auditd 若未运行,启动并设置开机自启: sudo systemctl...

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专用审计工具,可按时间、类型、进程等条件筛选日志:

  • 查看近期所有SELinux拒绝事件
    sudo ausearch -m avc -ts recent
    
  • 查看特定时间段(如今天)的拒绝事件
    sudo ausearch -m avc -ts today
    
  • 查看特定进程(如nginx)的SELinux事件
    sudo ausearch -m avc -ts recent -c nginx
    
  • 将结果保存到文件(便于后续分析)
    sudo ausearch -m avc -ts recent >
         avc_events.txt
    

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

  • 查看所有SELinux拒绝事件的摘要
    sudo aureport -m selinux
    
  • 查看SELinux拒绝事件的详细列表
    sudo aureport -m selinux -i  # -i参数显示完整信息(如进程ID、用户)
    
  • 统计SELinux拒绝事件的数量
    sudo aureport -m selinux -s
    

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

  • 查看所有SELinux相关日志
    sudo journalctl -k | grep "selinux"
    
  • 查看特定时间段(如2025-10月)的SELinux日志
    sudo journalctl -k --since "2025-10-01" --until "2025-10-31" | grep "avc"
    
  • 实时监控SELinux内核日志
    sudo journalctl -k -f | grep "denied"
    

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

  • 解释拒绝事件的原因
    sudo audit2why -a  # -a参数分析整个审计日志
    
    输出会提示拒绝的原因(如“缺少权限”)及可能的解决方案。
  • 生成自定义策略模块
    根据audit2why的建议,生成策略模块文件(如my_policy.te):
    sudo audit2allow -M my_policy -a  # -M生成模块,-a分析日志
    
    编译并加载模块:
    sudo semodule -i my_policy.pp  # pp为编译后的模块文件
    

    注意:生成策略前需确认事件是否合法,避免过度放宽权限。

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

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: centos selinux如何审计系统
本文地址: https://pptw.com/jishu/747475.html
centos selinux如何优化策略 centos selinux如何支持新功能

游客 回复需填写必要信息