Ubuntu默认安全机制与SELinux的关系
Ubuntu系统默认采用AppArmor作为内核级安全增强工具,并未启用SELinux(Security-Enhanced Linux)。若需在Ubuntu上使用SELinux,需手动安装相关组件并配置,但这并非Ubuntu的原生方案,可能面临功能支持有限或兼容性问题。
SELinux更新策略的核心步骤(针对已启用SELinux的Ubuntu系统)
若已在Ubuntu上启用SELinux,更新策略可分为策略模块管理、配置调整及日志驱动的自定义更新三类场景:
semodule
命令加载预编译的策略模块(.pp文件),例如sudo semodule -i your_new_policy.pp
;semodule -r your_policy_module
命令删除指定模块;semodule -l
列出当前系统中所有已加载的SELinux策略模块。/etc/selinux/config
,修改SELINUX=
参数调整全局模式:
enforcing
:强制执行策略(默认推荐);permissive
:仅记录违规行为而不阻止(用于调试);disabled
:完全禁用SELinux(不推荐,除非有特殊需求)。当系统出现SELinux访问控制拒绝(AVC)时,可通过以下流程生成并应用自定义策略:
ausearch
命令提取最近的AVC拒绝事件,例如sudo ausearch -m avc -ts recent
;audit2allow
工具将日志转换为可读的策略建议,例如sudo ausearch -m avc -ts recent | audit2allow -M mypol
(生成mypol.pp
策略模块和mypol.te
源文件);semodule -i mypol.pp
命令将生成的策略模块加载到系统中。自定义策略开发的进阶操作(可选)
若需更灵活的策略定制,可通过以下步骤创建从头编写的策略:
/selinux-custom-policy
)并新建.te
源文件(如custom_policy.te
),编写策略规则(例如定义类型、权限);make -f /usr/share/selinux/devel/Makefile
(生成.pp
文件);sudo semodule -i custom_policy.pp
;sudo restorecon -Rv /path/to/target_directory
(恢复默认上下文或应用新策略)。注意事项
selinux-basics
、selinux-policy-default
、auditd
等依赖包;