發表文章

目前顯示的是 4月, 2012的文章

[RHCE] SELinux

圖片
SELINUX SELinux(Security Enhanced Linux)用以針對Linux系統的安全性進行強化。 簡單的說,SELinux是針對程序對於檔案系統的存取,進行以政策(Policy)為基準的控管。當程序通過政策之後,會與檔案系統進行安全性本文比對,比對相符就可以存取檔案系統。 SELinux必須在root權限下才可進行設定。使用 #getenforce 可以查詢目前SELinux的狀態。 enforcing: 強制模式,表示SELinux正常運作中。 permissive: 警告模式,SELinux也是正常運作,但是對於政策只會給予警告,用以debug用。 disabled: 關閉SELinux。 可以於/etc/sysconfig/selinux中變更SELinux狀態。或者使用 #setenforce 0 (or 1) 變更,0為警告模式,1為強制模式。 SELinux的政策中訂立了許多規則,規則設定了程序對於檔案系統各種動作的權限。可以使用 #getsebool -a 來查詢所有目前運行的規則。可以在後面加上規則名稱或者grep去查詢特定的規則。之後可以使用 #setsebool -P [規則] on (or off) 開啟或關閉規則。 TROUBLESHOOT SELinux的設定錯誤會導致程序無法正常的進行。例如你可能不小心關閉了httpd,使得你的網站無法正常的被瀏覽。這時候就必須進行除錯。 除錯可以使用setroubleshoot或auditd這兩個服務。安裝後記得使用 #chkconfig 設定為開機啟動才可完整紀錄所有錯誤。 安裝setroubleshoot可以用以紀錄SELinux的錯誤訊息。使用 #grep setroubleshoot /var/log/message 可以查詢目前SELinux的錯誤訊息。每筆錯誤紀錄會有一個編號,使用 #sealert -l [編號] 可以查詢該筆錯誤詳細資料。 或者安裝auditd這個服務,同樣也可以紀錄SELinux的錯誤訊息。使用 #sealert -a /var/bg/audit/audit.log 可以查詢所有錯誤訊息的詳細資料。