【資訊保安】SELinux
SELinux 是安全增強了的Linux,是Security-enhanced Linux 的簡寫,SELinux 使用了分級的強制訪問控制,是Linux 核心的重要安全措施;SELinux 改進了對核心物件和服務的訪問控制,改進了對程式初始化、繼承和程式執行的訪問控制,改進了對檔案系統、目錄、檔案和開啟檔案描述的訪問控制,還改進了對埠、資訊和網路介面的訪問控制。
1. SELinux 的強制訪問控制機制(MAC)
SELinux 在核心中使用強制訪問控制機制(MAC)檢查允許的操作。SELinux MAC 訪問控制框架中定義,所有的主體(程式)對系統的客體或目標物件(如:檔案、裝置、socket、埠等)進行操作,需要許可權或許可。
2. SELinux 安全上下文
在SELinux 中,訪問控制屬性叫做安全上下文。所有客體(檔案、程式間通訊通道、套接字、網路主機等)和主體(程式)都有與其關聯的安全上下文,一個安全上下文由三部分組成:使用者、角色和型別識別符號。這裡的型別識別符號被用於強制訪問控制規則的設定。
主客體的安全上下文的定義
在SELinux 中,需要對主客體的安全上下文進行定義,不同型別的主客體定義的方式也不同。對於有唯一且永久的節點號的傳統檔案系統,SELinux 用永久的標識對映,透過fs_use_psid 命令來指定檔案系統內的節點的安全上下文和檔案系統本身的安全上下文。
#fs_use_psid ext2
#fs_use_psid ext3
#fs_use_psid reiserfs
對於不支援永久標識對映的檔案系統,用genfscon 命令來指定檔案系統或檔案路徑或檔案的安全上下文。
#genfscon proc / system_u:object_r:proc_t
#genfscon proc /kmsg system_u:object_r;proc_kmsg-t
#genfscon /kcore system_u:object-r:proc_kcore_t
對於代表管道和socket 物件的偽檔案系統,SE Linux 常指定建立程式的上下文給代表物件的節點。
這個行為用fs_use_task 來宣告。
#fs_use_task pipefs system_u:object_r:fs_t
#fs_use_task sockfs system:object_r:fs_t
檢視安全上下文
SELinux 系統中透過新增一個-Z 選項顯示主體和客體的安全上下文:
ps -Z 顯示程式(主體)的安全上下文
ls -Z 顯示檔案(客體)的安全上下文
3 SELinux 中的型別強制(TE:Type Enforcement)
在SELinux 中,不管使用者UID 或者GID 是什麼,所有訪問都必須明確授權,SELinux 預設不允許任何訪問。這就意味著在SELinux 中,沒有預設的超級使用者了,任何訪問需要透過指定主體型別和客體型別,使用allow 規則來授予訪問許可權,allow 規則由四部分組成:
源型別(Source type(s) ) 通常是嘗試訪問的程式的域型別
目標型別(Target type(s) ) 被程式訪問的客體的型別
客體類別(Object class(es)) 指定允許訪問的客體的型別
許可(Permission(s)) 象徵目標型別允許源型別訪問客體型別的訪問種類
語法格式如下:
allow Source type Target type :Object class { Permission }
強制訪問控制配置示例
假設我們允許程式(主體)passwd 命令可以讀和執行/etc/shadow 檔案,那麼首先,需要知道主體和客體的型別。
檢視主體的型別
# ps -aZ
joe:user_r:passwd_t 16532 pts/0 00:00:00 passwd
//從安全上下文的型別識別符號中可以看到主體型別是passwd_t
檢視客體檔案的型別
#ls -Z /etc/shadow
-r---- root root system_u:object_r:shadow_t shadow
//從安全上下文的型別識別符號中可以看到客體型別是shadow_t
根據主客體的型別配置訪問規則
#allow passwd_t shadow_t : file {read execute getattr}
//擁有域型別passwd_t 的程式(主體)可以讀/執行具有shadow_t 型別的檔案(客體),可以獲取具有shadow_t 型別的客體檔案的屬性
4. SELinux 中的多層安全MLS
型別強制(TE)無疑是SELinux 引入的最重要的強制訪問控制(MAC)機制,然而,在某些情況下,對於保密控制應用程式的一個子集,傳統的多層安全(MLS)MAC 與型別強制(TE)一起使用顯得更有價值,在這些情況下,SELinux 中MLS 特性是可選的,作為SELinux 的兩個MAC 機制中的一個,它通常不是最重要的那個,對大多數安全應用程式而言,包括許多非保密資料應用程式,型別強制是最適合的安全增強的機制,對於一些涉密的資料,MLS 相比於TE 對應用程式還是增強了更多的安全性。
---------------------------------
kingsql分享
轉載請註明出處
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28389881/viewspace-1266656/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 資訊保安
- 物聯網資訊保安
- 資訊保安入門指南
- 曹政資訊保安課筆記-常見資訊保安的常識錯誤筆記
- 分享資訊保安工作小記
- 人工智慧與資訊保安人工智慧
- 如何保障Cookie的資訊保安Cookie
- 湖南發力資訊保安產業產業
- 資訊保安策略建立步驟
- 網路資訊保安論述
- 資訊保安數學基礎
- 《資訊保安保障》一2.2 我國資訊保安保障工作主要內容
- 古代密碼學與資訊保安密碼學
- 資訊保安與Linux系統Linux
- DefenseCode — 資訊保安測試工具
- 02-02-01 資訊保安框架框架
- 破解資訊保安產業的“人才荒”產業
- 資訊保安產業頻獲政策扶持產業
- 資料庫的資訊保安管理資料庫
- 【資訊保安】PAM模組的研究(二)
- 【資訊保安】PAM模組的研究(一)
- 菜鳥的資訊保安學習之路
- CSAO註冊資訊保安意識官
- Linux賬戶資訊保安深入剖析Linux
- 資訊保安與密碼學概論密碼學
- 資訊保安實踐Lab2-CSSCSS
- 依法使用網路維護資訊保安
- 國產軟體劍指自主資訊保安
- 保障網路資訊保安需立法先行
- 中小企業資訊保安解決篇
- 建立企業的資訊保安的流程
- 資訊化打造核心能力——談研發資訊保安(二)(轉)
- 資訊化打造核心能力——談研發資訊保安(一)(轉)
- 資訊化打造核心能力——談研發資訊保安(三)(轉)
- 資訊化打造核心能力——談研發資訊保安(四)(轉)
- 國內車載資訊保安產業聯盟成立《車載資訊保安技術要求白皮書》釋出產業
- SELinuxLinux
- 密碼立法:保障資訊保安刻不容緩密碼