阅读量:0
前提:Ubuntu默认使用AppArmor,需先安装SELinux
Ubuntu并非默认启用SELinux(默认使用AppArmor),因此需先安装SELinux及相关工具。通过以下命令完成安装:
sudo apt update
sudo apt install selinux selinux-utils auditd audispd-plugins
步骤1:配置SELinux模式
编辑SELinux配置文件/etc/selinux/config,将SELINUX参数设置为permissive(宽松模式,仅记录违规不阻止)或enforcing(强制模式,阻止违规)。例如:
sudo sed -i 's/^SELINUX=.*/SELINUX=permissive/' /etc/selinux/config
修改后重启系统使设置生效:
sudo reboot
验证SELinux状态:
sestatus
# 应显示"SELinux status: enabled"及当前模式(如"Current mode: permissive")
步骤2:安装并配置auditd服务
auditd是Linux审计框架的核心守护进程,用于记录SELinux相关事件。
- 安装auditd:
sudo apt install auditd audispd-plugins - 启动并启用服务:
sudo systemctl start auditd sudo systemctl enable auditd - 配置日志参数(可选):
编辑/etc/audit/auditd.conf,调整日志大小、保留数量等参数(如max_file_size 100表示单日志文件最大100MB,num_files 10表示保留10个归档文件),修改后重启服务:sudo systemctl restart auditd
步骤3:配置SELinux审计规则
通过auditctl命令或自定义规则文件监控SELinux关键操作:
- 临时规则(重启失效):
监控SELinux配置文件(/etc/selinux/config)、策略文件(/etc/selinux/policy)及活动策略目录(/var/lib/selinux/active)的所有读写操作,自定义关键词selinux_audit便于后续过滤:sudo auditctl -w /etc/selinux/config -p wa -k selinux_audit sudo auditctl -w /etc/selinux/policy -p wa -k selinux_audit sudo auditctl -w /var/lib/selinux/active -p wa -k selinux_audit - 永久规则:
创建自定义规则文件/etc/audit/rules.d/selinux.rules,添加以下内容(监控SELinux AVC拒绝事件及上述文件变更):加载规则:-w /etc/selinux/config -p wa -k selinux_audit -w /etc/selinux/policy -p wa -k selinux_audit -w /var/lib/selinux/active -p wa -k selinux_audit -a always,exit -F arch=b32 -S avc -k selinux_avc -a always,exit -F arch=b64 -S avc -k selinux_avcsudo augenrules --load
步骤4:查看与分析SELinux审计日志
- 实时查看SELinux相关事件:
使用ausearch命令过滤selinux_audit关键词或avc(SELinux访问控制)消息类型,-ts recent表示最近1分钟内事件,-i参数显示详细信息:sudo ausearch -k selinux_audit -ts recent -i sudo ausearch -m avc -ts recent -i - 生成SELinux审计报告:
使用aureport命令生成汇总报告,-m selinux参数聚焦SELinux事件,可查看违规次数、类型等统计信息:sudo aureport -m selinux -i - 直接查看原始日志:
SELinux日志默认存储在/var/log/audit/audit.log,可使用grep快速筛选拒绝事件:sudo grep -i "denied" /var/log/audit/audit.log
注意事项
- 生产环境建议将SELinux设置为
enforcing模式,但需提前通过permissive模式测试避免误拦截; - 定期备份审计日志(如
/var/log/audit/audit.log),防止日志被覆盖或篡改; - 若需更细粒度的SELinux策略审计,可结合
semanage(策略管理工具)和audit2allow(生成自定义策略)工具使用。
以上就是关于“ubuntu如何使用selinux进行审计”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm