Ubuntu下SELinux日志记录配置与查看指南
SELinux(Security-Enhanced Linux)作为内核级安全模块,其日志记录主要依赖auditd(Linux审计守护进程)捕获安全事件。以下是在Ubuntu上配置SELinux日志记录的完整步骤:
首先需安装SELinux核心工具及auditd服务,确保系统支持SELinux日志记录:
sudo apt update
sudo apt install selinux-basics selinux-policy-default auditd audispd-plugins
编辑SELinux配置文件/etc/selinux/config,将模式设置为permissive(宽松模式,仅记录违规不阻止)或enforcing(强制模式,记录并阻止违规):
sudo nano /etc/selinux/config
找到SELINUX=行,修改为:
SELINUX=permissive # 测试阶段建议用permissive,稳定后再切enforcing
保存后重启系统使配置生效:
sudo reboot
auditd是SELinux日志的核心收集工具,需确保其正常运行并优化配置:
sudo systemctl start auditd
sudo systemctl enable auditd
/etc/audit/auditd.conf,设置日志文件路径、大小及保留数量(示例):audit_log_file = /var/log/audit/audit.log # 日志文件路径
audit_log_format = raw # 日志格式(raw/rawascii)
audit_rotate_size = 10485760 # 单个日志文件最大10MB
audit_rotate_count = 7 # 保留7个归档日志
保存后重启auditd:sudo systemctl restart auditd
通过auditctl命令或规则文件,监控SELinux关键文件及系统调用:
sudo auditctl -w /etc/selinux/config -p wa -k selinux_config # 配置文件变更
sudo auditctl -w /etc/selinux/policy -p wa -k selinux_policy # 策略文件变更
sudo auditctl -w /var/lib/selinux/active -p wa -k selinux_active # 活动策略目录
/etc/audit/rules.d/audit.rules文件,添加以下内容(监控进程执行及SELinux相关事件):# 监控所有进程执行事件
-a exit,always -F arch=b32 -S execve -S execveat -k executed-process
-a exit,always -F arch=b64 -S execve -S execveat -k executed-process
# 监控SELinux拒绝事件(需结合avc规则)
-a always,exit -F arch=b32 -S setrlimit -F a0=RLIMIT_CORE -k selinux_core_limit
-a always,exit -F arch=b64 -S setrlimit -F a0=RLIMIT_CORE -k selinux_core_limit
加载规则:sudo auditctl -R /etc/audit/rules.d/audit.rules
使用以下工具快速检索、分析SELinux相关日志:
sudo grep -i "denied" /var/log/audit/audit.log
ausearch命令按关键词(如selinux)或时间范围查询:sudo ausearch -k selinux_config # 按自定义关键词查询
sudo ausearch -m avc -ts today # 查询今日的SELinux访问控制事件(AVC)
aureport工具汇总SELinux事件统计(如拒绝次数、触发进程):sudo aureport -m selinux # 生成SELinux模块报告
sudo aureport -m selinux -i # 显示详细信息(包括进程名、用户)
sudo systemctl stop apparmor; sudo systemctl disable apparmor),避免冲突。permissive模式测试,确认日志记录无误后再切换至enforcing模式,防止误拦截合法操作。/var/log/audit/audit.log(如使用logrotate),避免日志文件过大占用磁盘空间。