前言

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