當前位置 主頁 > 服務器問題 > Linux/apache問題 > 最大化 縮小

    SELINUX工作原理詳解

    欄目:Linux/apache問題 時間:2020-02-05 21:37

    1. 簡介

    SELinux帶給Linux的主要價值是:提供了一個靈活的,可配置的MAC機制。

        Security-Enhanced Linux (SELinux)由以下兩部分組成:

        1) Kernel SELinux模塊(/kernel/security/selinux)

        2) 用戶態工具

        SELinux是一個安全體系結構,它通過LSM(Linux Security Modules)框架被集成到Linux Kernel 2.6.x中。它是NSA (United States National Security Agency)和SELinux社區的聯合項目。

    SELinux提供了一種靈活的強制訪問控制(MAC)系統,且內嵌于Linux Kernel中。SELinux定義了系統中每個【用戶】、【進程】、【應用】和【文件】的訪問和轉變的權限,然后它使用一個安全策略來控制這些實體(用戶、進程、應用和文件)之間的交互,安全策略指定如何嚴格或寬松地進行檢查。

        SELinux對系統用戶(system users)是透明的,只有系統管理員需要考慮在他的服務器中如何制定嚴格的策略。策略可以根據需要是嚴格的或寬松的。

    只有同時滿足了【標準Linux訪問控制】和【SELinux訪問控制】時,主體才能訪問客體。

    1.1 DAC與MAC的關鍵區別(root用戶)

          安 全增強型Linux(SELinux)開始是由NSA(國家安全局)啟動并加入到Linux系統中的一套核心組件及用戶工具,可以讓應用程序運行在其所需的最低權限上。未 經修改過的Linux系統是使用自主訪問控制的,用戶可以自己請求更高的權限,由此惡意軟件幾乎可以訪問任何它想訪問的文件,而如果你授予其root權 限,那它就無所不能了。

          在SELinux中沒有root這個概念,安全策略是由管理員來定義的,任何軟件都無法取代它。這意味著那些潛在的惡意軟件所能造成的損害可以被控制在最小。一般情況下只有非常注重數據安全的企業級用戶才會使用SELinux。

    操作系統有兩類訪問控制:自主訪問控制(DAC)和強制訪問控制(MAC)。標準Linux安全是一種DAC,SELinux為Linux增加了一個靈活的和可配置的的MAC。

          所有DAC機制都有一個共同的弱點,就是它們不能識別自然人與計算機程序之間最基本的區別。簡單點說就是,如果一個用戶被授權允許訪問,意味著程序也被授權訪問,如果程序被授權訪問,那么惡意程序也將有同樣的訪問權。 DAC最根本的弱點是主體容易受到多種多樣的惡意軟件的攻擊,MAC就是避免這些攻擊的出路,大多數MAC特性組成了多層安全模型。

    SELinux實現了一個更靈活的MAC形式,叫做類型強制(Type Enforcement)和一個非強制的多層安全形式(Multi-Level Security)。

          在Android4.2中,SELinux是個可選項,谷歌并沒有直接取消root權限或其他功能。這是一個為企業級用戶或是對隱私數據極為重視的用戶提供的選項,普通消費者則完全可以關閉它。 

    2. SELinux的運行機制

        SELinux決策過程如下圖所示:

          當一個subject(如: 一個應用)試圖訪問一個object(如:一個文件),Kernel中的策略執行服務器將檢查AVC (Access Vector Cache), 在AVC中,subject和object的權限被緩存(cached)。如果基于AVC中的數據不能做出決定,則請求安全服務器,安全服務器在一個矩陣中查找“應用+文件”的安全環境。然后根據查詢結果允許或拒絕訪問,拒絕消息細節位于/var/log/messages中。

    3. SELinux偽文件系統

    下一篇:沒有了
777亚洲人成视频免费视频