SELinux策略語言
SELinux架構中,對于內核資源,策略通過策略管理接口載入SELinux LSM模塊安全服務器中,從而決定訪問控制。
SELinux的優勢是其策略規則不是靜態的,用戶必須按照安全目標的要求自行編寫策略。使用和應用SELinux本質上就是編寫和執行策略的過程。
策略在策略源文件中描述。策略源文件名稱為policy.conf,其文件結構包括以下幾點。
?(1)類別許可,指安全服務器的客體類別,對于內核而言,類別直接關系內核源文件,許可指針對每個客體類別的許可。通常,SELinux策略編寫者不會修改客體的類別和許可定義。
?(2)類型強制聲明,包括所有的類型聲明和所有的TE(Type Enforcement,類型強制)規則,是SELinux策略中最重要的部分。
?(3)約束,是TE規則許可范圍之外的規則,為TE規則提供必要的限制。多級安全(MLS)是一種約束規則。
?(4)資源標記說明,指對所有客體都必須添加的一個“安全上下文”標記,是SELinux實施訪問控制的前提。SELinux根據資源標記說明處理文件系統標記以及標記運行時創建的臨時客體規則。
SELinux策略大而復雜,由一個個小的策略模塊構成。
策略模塊的生成一般采用源模塊法。源模塊法支持單策略的開發,并通過一組shell腳本、m4宏和Makefile一起合并成為文本文件。
多個策略模塊集合組成策略源文件,即policy.conf,策略源文件是文本文件,通過策略編譯器checkpolicy編譯為二進制文件policy.xx(xx為版本號),并通過策略裝載函數security_load_policy載入內核且實施訪問控制。
使用源模塊構造和載入SELinux策略的全過程如圖所示。
?首先,通過源模塊法生成一個個策略模塊,策略模塊聚合形成一個大的策略源文件policy.conf;
?其次,策略源文件policy.conf通過策略編譯器checkpolicy,生成可被內核讀取的二進制文件policy.xx;
?最后,policy.xx通過策略裝載函數security_load_policy載入內核空間并實施訪問控制。
-
內核
+關注
關注
3文章
1376瀏覽量
40319 -
Linux
+關注
關注
87文章
11319瀏覽量
209830 -
源文件
+關注
關注
0文章
30瀏覽量
4601 -
系統
+關注
關注
1文章
1017瀏覽量
21375
發布評論請先 登錄
相關推薦
評論