Linux系統下安全控制策略SELinux解析

墨雲安全發表於2023-10-27

SELinux(Security-Enhanced linux)是增強版Linux,簡稱SELinux,它是一個Linux核心模組,也是Linux的一個安全子系統,主要以核心模組為支援,使用者態程式進行許可權策略管理。


背景

Linux系統下的root許可權相當於系統的最高許可權,例如,當一個Linux木馬程式透過漏洞或釣魚等方式在使用者電腦中執行時,幾乎可以完成任何操作,這給Linux系統安全造成了嚴峻的威脅。


為了降低這一安全風險,Linux系統引入了SELinux安全控制策略。SELinux控制策略的核心思想,相當於給系統設定了2把鎖,除了root許可權使用者之外,還引入了管理員adm使用者,而且這兩個使用者的許可權各不相同,甚至存在相互制約,攻擊者必須同時獲取兩把鑰匙才能取得許可權,這極大降低了暴露的攻擊面和被攻擊的可能。


SELinux安全策略把許可權細化到訪問的目錄或具體的檔案,這意味著每個Linux系統執行的程式只能訪問事先被允許的檔案,訪問其他的檔案就會出現訪問受限或者報錯。如果許可權控制策略寫的非常仔細,或在產品的二進位制中執行RCE shellcode,最終也只能訪問一些無關的不重要資訊。


SELinux的引入降低了系統被攻擊和控制的風險,但同時導致Linux系統在使用上更復雜,因此,這些策略更適用於佈置在已經除錯好的機器。但SELinux也是歷史上最傑出的安全子系統,其中的模組實現細節和安全思想也被多數安全產品借鑑,二次開發出安全產品和引入到其他的類linux系統中。


本文將詳細介紹其中的實現思想,並對控制策略細節進行分析。


策略細節分析

1. 策略3種狀態


在Linux安全作業系統上,SELinux的安全策略狀態有三種:


Enforcing(強制模式): 表示SELinux正在執行,所設定的所有安全策略都被啟用,所有與SELinux安全策略相關的服務和程式被策略限制。


Permissive(寬容模式): 表示SELinux執行,所設定的所有安全策略都被啟用,所有涉及到的安全策略相關的服務和程式不會被策略限制,程式不會受到限制,但是會有日誌記錄。


Disabled(關閉): SELinux安全策略被關閉。


2. 實現細節


SELinux的框架實現的思想是通Linux核心模組的LSM框架進行實現的,LSM框架的思想允許安全模組.ko型別的檔案以外掛的方式進入核心,以便更嚴格地控制基於身份的任意訪問安全性。LSM框架開發了一套系統的鉤子函式介面,可以對Linux系統的檔案進行復制、移動及修改,網路行為監控、IP、埠都對應了其中的配置規則,SELinux作為一個LSM的核心模組載入到核心中,在允許之前進行額外的訪問確認,安全伺服器就是對訪問的規則進行策略判斷,這些策略透過使用者空間的策略管理介面配置到系統中,SELinux策略透過核心的LSM框架為基礎去實現,LSM提供核心訊息鉤子函式去捕獲作業系統的各種操作訊息,在此基礎上,SELinux自己在核心中實現了策略管理器,透過不同的策略與傳遞過來的訊息進行對比,以此判斷放行或阻斷。


3. 配置檔案說明

上述了策略的配置,管理員賬戶可透過使用者態提供策略的介面去配置策略,策略檔案是為策略原始檔作說明的,policy.conf策略的具體組成包括:類別和許可、型別強制宣告(型別、TE規則、角色和使用者)、約束、資源標記說明。


其應用於管理編寫特定規則下的檔案,例如policy.conf,透過策略編譯器checkpolicy去編譯、生成policy.xx的二進位制檔案,同時策略編譯器在編譯規則時會檢測語法是否正確,錯誤的規則語法會判斷編譯不透過,之後編譯檔案的策略二進位制透過checkmodule命令去載入到核心中,規則開始生效。

具體的規則配置官方手冊:


適用場景及優缺點

SELinux安全控制策略作為Linux子系統中的安全防護環節,具有安全可靠、許可權細化等特點。由於開啟SELinux策略的Linux系統,會對所有操作進行審計和規則檢測,如果規則中沒有給瀏覽器對應的埠訪問許可權和特定的檔案執行,訪問就會失敗,因此,SELinux策略更適用於安全產品配置到Linux系統中的一體化硬體裝置中去開啟,也能更大程度發揮出安全策略的優勢。


總結

SELinux安全控制策略是安全體系中端點安全防護中的一環,其主要採用許可權分類和認證的策略,使未經過認證的程式無法被執行,防止作業系統被入侵後陌生程式執行惡意程式和木馬,Android的許可權訪問控制策略也借鑑了其中的安全思想。總的來說,SELinux的安全控制策略擁有優秀的安全控制框架,允許自定義適合自身系統的安全策略,增強Linux的系統安全,防禦未知攻擊。



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70020988/viewspace-2991586/,如需轉載,請註明出處,否則將追究法律責任。

相關文章