SELinux 入門教程

來源:互聯網
上載者:User

幾乎可以肯定每個人都聽說過 SELinux (更準確的說,嘗試關閉過),甚至某些過往的經驗讓您對 SELinux 產生了偏見。不過隨著日益增長的 0-day 安全性漏洞,或許現在是時候去瞭解下這個在 Linux 核心中已經有8年歷史的強制性存取控制系統(MAC)了。

SELinux 與強制存取控制系統

SELinux 全稱 Security Enhanced Linux (安全強化 Linux),是 MAC (Mandatory Access Control,強制存取控制系統)的一個實現,目的在於明確的指明某個進程可以訪問哪些資源(檔案、網路連接埠等)。

強制存取控制系統的用途在於增強系統抵禦 0-Day 攻擊(利用尚未公開的漏洞實現的攻擊行為)的能力。所以它不是網路防火牆或 ACL 的替代品,在用途上也不重複。

舉例來說,系統上的 Apache 被發現存在一個漏洞,使得某遠端使用者可以訪問系統上的敏感檔案(比如 /etc/passwd 來獲得系統已存在使用者),而修複該安全性漏洞的 Apache 更新補丁尚未釋出。此時 SELinux 可以起到彌補該漏洞的緩和方案。因為 /etc/passwd 不具有 Apache 的訪問標籤,所以 Apache 對於/etc/passwd 的訪問會被 SELinux 阻止。

相比其他強制性存取控制系統,SELinux 有如下優勢:

  • 控制策略是可查詢而非程式不可見的。
  • 可以熱更改策略而無需重啟或者停止服務。
  • 可以從進程初始化、繼承和程式執行三個方面通過策略進行控制。
  • 控制範圍覆蓋檔案系統、目錄、檔案、檔案啟動描述符、連接埠、訊息介面和網路介面。

那麼 SELinux 對於系統效能有什麼樣的影響呢?根據 Phoronix 在 2009 年使用 Fedora 11 所做的橫向比較來看,開啟 SELinux 僅在少數情況下導致系統效能約 5% 的降低。

SELinux 是不是會十分影響一般案頭應用及程式開發呢?原先是,因為 SELinux 的策略主要針對伺服器環境。但隨著 SELinux 8年來的廣泛應用,目前SELinux 策略在一般案頭及程式開發環境下依然可以同時滿足安全性及便利性的要求。以剛剛發布的 Fedora 15 為例,筆者在搭建完整的娛樂(包含多款第三方原生 Linux 遊戲及 Wine 遊戲)及開發環境(Android SDK + Eclipse)過程中,只有 Wine 程式的首次運行時受到 SELinux 預設策略的阻攔,在圖形化的“SELinux 故障排除程式”協助下,點擊一下按鈕就解決了。

  • 1
  • 2
  • 3
  • 下一頁

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.