1. 安裝SELinux及相關工具
Ubuntu默認未包含SELinux,需先通過以下命令安裝核心組件及工具:
sudo apt update
sudo apt install selinux-basics selinux-policy-default auditd setools selinux-policy-dev
這些工具用于激活SELinux、管理策略及查看日志。
2. 激活SELinux
安裝完成后,通過selinux-activate
命令激活SELinux,系統會在啟動時加載security=selinux
內核參數:
sudo selinux-activate
激活后需重啟系統使內核參數生效。
3. 配置SELinux模式(關鍵步驟)
SELinux有三種運行模式,需通過/etc/selinux/config
文件永久設置:
編輯配置文件:
sudo nano /etc/selinux/config
修改以下行(以Enforcing為例):
SELINUX=enforcing
SELINUXTYPE=default # 策略類型,默認即可
保存后重啟系統:
sudo reboot
臨時切換模式(無需重啟):
sudo setenforce 0
;sudo setenforce 1
。4. 驗證SELinux狀態
通過以下命令確認SELinux是否啟用及運行模式:
sestatus
getenforce
若輸出為Enforcing
,則表示配置成功。
5. 管理SELinux策略(確保配置正確)
ls -Z
(文件)、ps -Z
(進程)查看安全上下文,確保其符合預期(如Web文件應為httpd_sys_content_t
);sudo chcon -t httpd_sys_content_t /path/to/file
;semanage fcontext
添加規則,再用restorecon
恢復:sudo semanage fcontext -a -t httpd_sys_content_t "/path/to/dir(/.*)?"
sudo restorecon -RvvF /path/to/dir
setsebool
修改布爾值(永久生效需加-P
):sudo setsebool -P httpd_enable_homedirs 1 # 允許Apache訪問用戶主目錄
AVC拒絕
(訪問被阻止),通過日志分析生成自定義策略:grep avc /var/log/audit/audit.log | audit2allow -M mypolicy # 生成策略模塊
sudo semodule -i mypolicy.pp # 加載模塊
```。
6. 監控與調試SELinux
/var/log/audit/audit.log
,使用以下工具分析:sudo ausearch -m avc -ts recent # 查找最近的AVC拒絕事件
sudo aureport -m avc # 生成AVC報告
ausearch
定位具體拒絕規則,再用audit2why
分析原因。注意事項
Enforcing
模式,避免安全漏洞;/etc/selinux/config
及重要數據;sudo systemctl disable apparmor
);