大家好! 特別是對於課程學生 我們準備了 SELinux 項目官方常見問題解答的翻譯。 在我們看來,這個翻譯不僅對學生有用,所以我們把它分享給大家。

我們嘗試回答有關 SELinux 項目的一些最常見問題。 目前,問題分為兩大類。 所有問題和答案均已給出 .
Обзор
Обзор
- 什麼是安全增強型 Linux?
安全增強型 Linux (SELinux) 是 Flask 安全架構的參考實現,用於實現靈活、強制的訪問控制。 創建它是為了演示靈活執行機制的有用性以及如何將此類機制添加到操作系統中。 Flask架構隨後被集成到Linux中,並移植到其他幾個系統,包括Solaris操作系統、FreeBSD操作系統和Darwin內核,從而引發了廣泛的相關工作。 Flask 架構為執行多種類型的訪問控制執行策略提供了一般支持,包括基於類型執行、基於角色的訪問控制和多級安全性概念的策略。 - 安全增強型 Linux 提供了哪些標準 Linux 無法提供的功能?
安全性增強的 Linux 內核強制執行訪問控制策略,將用戶程序和系統服務器限制為完成其工作所需的最低權限。 通過此限制,這些用戶程序和系統守護程序在受到損害(例如,由於緩衝區溢出或配置錯誤)時造成損害的能力會減少或消除。 這種限制機制獨立於傳統的 Linux 訪問控制機制。 它沒有“root”超級用戶的概念,也沒有傳統Linux 安全機制的眾所周知的缺點(例如,對setuid/setgid 二進製文件的依賴)。
未經修改的 Linux 系統的安全性取決於內核、所有特權應用程序及其每個配置的正確性。 這些區域中的任何一個出現問題都可能危及整個系統。 相比之下,基於安全增強型Linux內核修改後的系統的安全性主要取決於內核的正確性及其安全策略的配置。 雖然應用程序正確性或配置問題可能會導致單個用戶程序和系統守護程序受到有限的損害,但它們不會對其他用戶程序和系統守護程序或整個系統的安全構成安全風險。 - 她有什麼好處?
Linux 的新安全增強功能旨在根據機密性和完整性要求提供信息隔離。 它們旨在防止進程讀取數據和程序、篡改數據和程序、繞過應用程序安全機制、執行不受信任的程序或違反系統安全策略干擾其他進程。 它們還有助於限制惡意軟件或有缺陷的程序可能造成的潛在損害。 它們還應該有助於確保具有不同安全權限的用戶可以使用同一系統訪問具有不同安全要求的不同類型的信息,而不會影響這些要求。 - 我怎樣才能得到一份副本?
許多 Linux 發行版都包含對 SELinux 的支持,該支持已作為默認功能或可選包內置。 核心 SELinux 用戶態代碼可在 。 最終用戶通常應該使用其發行版提供的軟件包。 - 您的版本中包含哪些內容?
NSA 版本的 SELinux 包含核心 SELinux 用戶層代碼。 對 SELinux 的支持已包含在主流 Linux 2.6 內核中,可從 kernel.org 獲取。 核心 SELinux 用戶層代碼由一個用於二進制策略操作的庫 (libsepol)、一個策略編譯器 (checkpolicy)、一個用於安全應用程序的庫 (libselinux)、一個用於策略管理工具的庫 (libsemanage) 和幾個與策略相關的實用程序 (策略核心實用程序)。
除了啟用 SELinux 的內核和基本用戶空間代碼之外,您還需要一個策略和一些經過 SELinux 修補的用戶空間軟件包才能使用 SELinux。 該政策可以從 . - 我可以在現有的 Linux 系統上安裝強化 Linux 嗎?
是的,您只能在現有的 Linux 系統上安裝 SELinux 修改版,也可以安裝已包含 SELinux 支持的 Linux 發行版。 SELinux 由支持 SELinux 的 Linux 內核、一組核心庫和實用程序、一些修改的用戶包以及策略配置組成。 要將其安裝在缺乏 SELinux 支持的現有 Linux 系統上,您必須能夠編譯該軟件,並且還擁有其他所需的系統軟件包。 如果您的 Linux 發行版已包含對 SELinux 的支持,則無需構建或安裝 NSA 版本的 SELinux。 - 安全增強型 Linux 與未經修改的 Linux 的兼容性如何?
安全增強型 Linux 提供與現有 Linux 應用程序和現有 Linux 內核模塊的二進制兼容性,但某些內核模塊可能需要修改才能與 SELinux 正確交互。 下面詳細討論這兩個兼容性類別:- 應用程序兼容性
SELinux 提供與現有應用程序的二進制兼容性。 我們擴展了內核數據結構以包含新的安全屬性,並為安全應用程序添加了新的 API 調用。 但是,我們沒有更改任何應用程序可見的數據結構,也沒有更改任何現有系統調用的接口,因此只要安全策略允許,現有應用程序仍然可以運行。 - 內核模塊兼容性
最初,SELinux 僅提供對現有內核模塊的初步兼容性; 有必要使用修改後的內核頭重新編譯此類模塊,以獲取添加到內核數據結構中的新安全字段。 由於LSM和SELinux現已集成到主流Linux 2.6內核中,SELinux現在提供了與現有內核模塊的二進制兼容性。 然而,某些內核模塊在不進行修改的情況下可能無法與 SELinux 很好地交互。 例如,如果內核模塊直接分配和設置內核對象而不使用正常的初始化函數,則該內核對象可能不具有正確的安全信息。 某些內核模塊也可能對其操作缺乏適當的安全控制; 任何現有的對內核函數或權限函數的調用也將觸發 SELinux 權限檢查,但可能需要更細粒度或額外的控制來執行 MAC 策略。
如果安全策略配置允許所有必要的操作,那麼安全增強型 Linux 不應與常規 Linux 系統產生互操作性問題。
- 應用程序兼容性
- 安全策略配置示例的目的是什麼?
在較高層面上,目標是展示強制訪問控制的靈活性和安全性,並提供一個簡單的工作系統,對應用程序進行最少的更改。 在較低級別,策略具有一組目標,如策略文檔中所述。 這些目標包括控制原始數據訪問,保護內核、系統軟件、系統配置信息和系統日誌的完整性,限制利用需要特權的進程中的漏洞可能造成的潛在損害,保護特權進程免遭惡意執行代碼,保護管理員角色和域在未經用戶身份驗證的情況下登錄,防止正常用戶進程干擾系統或管理進程,並保護用戶和管理員免遭惡意移動代碼利用瀏覽器中的漏洞。 - 為什麼選擇 Linux 作為基礎平台?
由於 Linux 的日益成功和開放的開發環境,Linux 被選為這項工作的初始參考實現平台。 Linux 提供了一個絕佳的機會來證明此功能可以在主機操作系統上成功,同時有助於確保廣泛使用的系統的安全性。 Linux 平台還為這項工作提供了一個絕佳的機會,以獲得盡可能廣泛的視野,並可能作為其他愛好者進行額外安全研究的基礎。 - 你為什麼做這項工作?
國家安全局負責研究和先進技術開發,使國家安全局能夠為對美國國家安全利益至關重要的信息基礎設施提供信息安全解決方案、產品和服務。
創建可行的安全操作系統仍然是一項重大的研究挑戰。 我們的目標是創建一個高效的架構,為安全性提供必要的支持,以對用戶基本透明的方式運行程序,並對供應商有吸引力。 我們認為,實現這一目標的重要一步是演示如何將強制訪問控制機製成功集成到主操作系統中。 - 這與 NSA 之前的 OS 研究有何關係?
NSA 國家保證研究實驗室的研究人員與安全計算公司 (SCC) 合作,開發了一種基於類型強制的強大且靈活的強制架構,類型強制是 LOCK 系統首創的機制。 NSA 和 SCC 開發了兩種基於 Mach 的原型架構:DTMach 和 DTOS()。 隨後,NSA 和 SCC 與猶他大學 Flux 研究小組合作,將該架構移植到 Fluke Research 操作系統中。 在此遷移過程中,架構得到了完善,為動態安全策略提供了更好的支持。 這種改進的架構被命名為 Flask ()。 現在 NSA 已將 Flask 架構集成到 Linux 操作系統中,將該技術帶給更廣泛的開發者和用戶社區。 - 安全性增強的Linux是可靠的操作系統嗎?
“受信任的操作系統”一詞通常是指為分層安全性和驗證提供足夠支持以滿足一組特定政府要求的操作系統。 安全增強型 Linux 融合了這些系統的有用見解,但重點關注強制訪問控制。 開發安全增強型 Linux 的最初目標是創建有用的功能,在廣泛的現實環境中提供切實的安全優勢,以展示這項技術。 SELinux 本身並不是一個可信操作系統,但它確實提供了可信操作系統所必需的關鍵安全功能——強制訪問控制。 SELinux 已集成到根據標籤安全保護配置文件進行評級的 Linux 發行版中。 有關經過測試和測試的產品的信息可以在以下位置找到: . - 她真的受到保護了嗎?
安全系統的概念包括許多屬性(例如,物理安全、人員安全等),而具有增強安全性的 Linux 僅涉及這些屬性中的一小部分(即操作系統的強制控制)。 換句話說,“安全系統”意味著足夠安全,足以保護現實世界中的某些信息免受真實對手的侵害,信息的所有者和/或用戶會受到警告。 安全增強型 Linux 只是為了展示像 Linux 這樣的現代操作系統中所需的控制,因此它本身不太可能符合任何有趣的安全系統定義。 我們相信,安全增強型 Linux 中展示的技術將對構建安全系統的人們有用。 - 您採取了哪些措施來改善保障?
該項目的目標是通過對 Linux 進行最小的更改來添加強制訪問控制。 最後一個目標嚴重限制了改進保修的工作,因此還沒有任何改進 Linux 保修的工作。 另一方面,這些改進建立在先前設計高安全性安全架構的工作基礎上,並且大部分設計原則已被延續到安全增強型 Linux 中。 - CCEVS 會評估具有增強安全性的 Linux 嗎?
就其本身而言,具有增強安全性的 Linux 並不是為了解決安全配置文件所代表的全套安全問題而設計的。 雖然可以僅評估其當前的功能,但我們認為這種評估的價值有限。 然而,我們已經與其他人合作,將該技術納入已評估和正在評估的 Linux 發行版中。 有關經過測試和測試的產品的信息可以在以下位置找到: . - 您是否嘗試過修復任何漏洞?
不,我們在工作過程中沒有尋找或發現任何漏洞。 我們只貢獻了足夠的最低限度來添加我們的新裝備。 - 該系統是否已獲准供政府使用?
與任何其他版本的 Linux 相比,安全增強型 Linux 沒有獲得政府使用的特殊或額外批准。與任何其他版本的 Linux 相比,安全增強型 Linux 沒有獲得政府使用的特殊或額外批准。 - 這與其他舉措有何不同?
安全性增強的 Linux 具有定義明確的架構,可實現靈活的強制訪問控制,並已通過多個原型系統(DTMach、DTOS、Flask)進行了實驗測試。 對該架構支持廣泛安全策略的能力進行了詳細研究,可在 и .
該架構提供了對許多不受其他系統控制的內核抽象和服務的細粒度控制。 具有擴展安全性的 Linux 系統的一些顯著特徵包括:- 政策與執行權完全分離
- 定義明確的策略接口
- 獨立於特定政策和政策語言
- 獨立於安全標籤的特定格式和內容
- 內核對象和服務的單獨標籤和控件
- 緩存訪問決策以提高效率
- 支持政策變化
- 控制進程初始化和繼承以及程序執行
- 管理文件系統、目錄、文件和打開文件的描述
- 管理套接字、消息和網絡接口
- 控制“機會”的使用
- 該系統有哪些許可限制?
網站上找到的所有源代碼 ,按照與原始源代碼相同的條款分發。 例如,針對 Linux 內核的修復以及針對此處提供的許多現有實用程序的修復均根據條款發布 . - 有出口管制嗎?
與任何其他版本的 Linux 相比,Linux 沒有額外的導出控制,並且安全性更高。 - NSA 是否計劃在國內使用?
出於顯而易見的原因,美國國家安全局不對操作用途發表評論。 - 安全計算公司 26 年 2002 月 XNUMX 日的保證聲明是否改變了 NSA 的立場,即 SELinux 是根據 GNU 通用公共許可證提供的?
美國國家安全局的立場沒有改變。 NSA 仍然認為 GNU 通用公共許可證的條款和條件管轄 SELinux 的使用、複製、分發和修改。 厘米。 . - NSA 支持開源軟件嗎?
美國國家安全局的軟件安全計劃涵蓋專有和開源軟件,我們在研究活動中成功地使用了專有和開源模型。 NSA 提高軟件安全性的工作源於一個簡單的考慮:充分利用我們的資源,為 NSA 客戶在其最廣泛使用的產品中提供最佳的安全選項。 美國國家安全局研究計劃的目標是開發可通過各種轉讓機制與軟件開發社區共享的技術進步。 美國國家安全局不認可或推廣任何特定的軟件產品或商業模式。 相反,國家安全局促進安全。 - NSA 支持 Linux 嗎?
如上所述,美國國家安全局不認可或推廣任何特定的軟件產品或平台; 美國國家安全局只會有助於提高安全性。 SELinux 參考實現中演示的 Flask 架構已被移植到其他幾個操作系統,包括 Solaris、FreeBSD 和 Darwin,移植到 Xen 虛擬機管理程序,並應用於 X Window System、GConf、D-BUS 和PostgreSQL。 Flask 架構概念廣泛適用於各種系統和環境。
合作
- 我們計劃如何與 Linux 社區互動?
我們有 ,這將作為我們發布安全增強Linux信息的主要方式。 如果您對安全性更高的 Linux 感興趣,我們鼓勵您加入開發人員郵件列表、查看源代碼並提供您的反饋(或代碼)。 要加入開發者郵件列表,請參閱 . - 誰可以幫忙?
SELinux 現在由開源 Linux 軟件社區維護和改進。 - NSA 是否資助任何後續工作?
美國國家安全局目前沒有考慮進一步工作的建議。 - 可以提供什麼類型的支持?
我們打算透過 selinux@tycho.nsa.gov 郵件清單來解決問題,但我們無法回答所有特定於網站的問題。 - 誰幫忙了? 他們做了什麼?
安全增強型 Linux 原型由 NSA 與 NAI Labs、SecureComputing Corporation (SCC) 和 MITRE Corporation 的研究合作夥伴共同開發。 首次公開發布後,出現了更多材料。 . - 我怎樣才能找到更多信息?
我們鼓勵您造訪我們的網頁,閱讀文件和過去的研究論文,並加入我們的郵件清單 selinux@vger.kernel.org
您覺得翻譯有用嗎? 寫評論!
來源: www.habr.com
