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
),避免日志文件過大占用磁盤空間。