- 自主式存取控制(Discretionary Access Control, DAC)
- 傳統的檔案權限與帳號關係:依據程序的擁有者與檔案資源的rwx權限來決定有無存取的能力。
- 若該程序屬root權限,則其可在系統上進任何資源存取。
- 若某個目錄權限為777,則任何帳號的程序都可任意存取及寫入。
- 系統出現問題
- 內部員工的資源誤用遠高於外部攻擊。
- 員工資源誤用:系統管理員為了自己方便,將防火牆完全關閉或某個檔案目錄的權限設定為777。
- 為控管員工資源誤用問題,美國國家安全局(NSA)開發安全增強式Linux(SELinux, Security-Enhanced Linux)模組,並整合到Linux核心。
- SELinux是一種強制存取控制(mandatory access control, MAC)的實現。
- 強制存取控制
- 針對特定的程序與特定的檔案資源進行權限的控管。
- WWW server啟動的程序為httpd,selinux預設僅能在/var/www目錄下存取檔案。
- 開啟 SELinux 出現的現象:
- httpd 配置正常,防火牆也放行,但用戶就是無法訪問?
- vsftpd 配置正常,防火牆也放行,但客戶端訪問提示無法轉換家目錄?
- 關閉 SELinux 後一切正常,因此很多人對 SELinux 有了極大的偏見,認為 SELinux只有帶來麻煩,於是選擇在安裝系統後或出現問題時關閉 SELinux。
- 實際上,SELinux 在很多時候提供關鍵的保障,所以還是要開啟 SELinux,出現無法訪問等問題時,以修改 SELinux 安全上下文、布林值...等方式來解決。