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
等依賴包;