SELinux的3種策略類型:1、Target策略,主要對系統(tǒng)中的服務(wù)進(jìn)程進(jìn)程訪問控制,還可以限制其他進(jìn)程和用戶。2、MLS策略,會對系統(tǒng)中的所有進(jìn)程進(jìn)行控制。3、Minimum策略,最初是針對低內(nèi)存計(jì)算機(jī)或者設(shè)備(比如智能手機(jī))而創(chuàng)建的,該策略允許SELinux在不消耗過多資源的情況下運(yùn)行。
本教程操作環(huán)境:linux7.3系統(tǒng)、Dell G3電腦。
對于 SELinux 來說,所選擇的策略類型直接決定了使用哪種策略規(guī)則來執(zhí)行主體(進(jìn)程)可以訪問的目標(biāo)(文件或目錄資源)。不僅如此,策略類型還決定需要哪些特定的安全上下文屬性。通過策略類型,可以更精確地了解 SELinux 所實(shí)現(xiàn)的訪問控制。
SELinux 提供 3 種不同的策略可供選擇,分別是 Targeted、MLS 以及 MiNimum。每個(gè)策略分別實(shí)現(xiàn)了可滿足不同需求的訪問控制,因此,為了正確地選擇一個(gè)滿足特定安全需求的策略,就不得不先了解這些策略類型。
Target 策略
Target 策略主要對系統(tǒng)中的服務(wù)進(jìn)程進(jìn)程訪問控制,同時(shí),它還可以限制其他進(jìn)程和用戶。服務(wù)進(jìn)程都被放入沙盒,在此環(huán)境中,服務(wù)進(jìn)程會被嚴(yán)格限制,以便使通過此類進(jìn)程所引發(fā)的惡意攻擊不會影響到其他服務(wù)或 Linux 系統(tǒng)。
沙盒(sandbox)是一種環(huán)境,在此環(huán)境中的進(jìn)程可以運(yùn)行,但對其他進(jìn)程或資源的訪問會被嚴(yán)格控制。換句話說,位于沙盒中的各個(gè)進(jìn)程,都只是運(yùn)行在自己的域(進(jìn)程所運(yùn)行的區(qū)域被稱為“域”)內(nèi),它們無法訪問其他進(jìn)程或資源(除非被授予特殊的權(quán)限)。
通過使用此策略,可以更加安全地共享打印服務(wù)器、文件服務(wù)器、Web 服務(wù)器或其他服務(wù),同時(shí)降低因訪問這些服務(wù)而對系統(tǒng)中其他資源造成不利影響的風(fēng)險(xiǎn)。
MLS 策略
MLS,是 Multi-Level Security 的縮寫,該策略會對系統(tǒng)中的所有進(jìn)程進(jìn)行控制。啟用 MLS 之后,用戶即便執(zhí)行最簡單的指令(如 ls),都會報(bào)錯(cuò)。
Minimum 策略
Minimum 策略的意思是“最小限制”,該策略最初是針對低內(nèi)存計(jì)算機(jī)或者設(shè)備(比如智能手機(jī))而創(chuàng)建的。
從本質(zhì)上來說,Minimun 和 Target 類似,不同之處在于,它僅使用基本的策略規(guī)則包。對于低內(nèi)存設(shè)備來說,Minumun 策略允許 SELinux 在不消耗過多資源的情況下運(yùn)行。
注意,你自己所使用的 Linux 發(fā)行版本中,可用的策略規(guī)則可能與以上所列出的策略規(guī)則不完全相同。比如說,在較早的 Linux 發(fā)行版本中,仍然可以使用 strict 策略,但在較新的發(fā)行版本中,strict 策略被合并在 Targeted 策略中,此策略也是默認(rèn)使用的策略規(guī)則。
那么,我們?nèi)绾尾樵儺?dāng)前系統(tǒng)中所使用的 SELinux 的策略是哪一種呢?這就要使用 sestatus 命令來查看了,命令如下:
[root@localhost ~]# sestatus SELinux status: enabled #SELinux啟用 SELinuxfs mount: /selinux #SELinux數(shù)據(jù)的掛載位置 Current mode: enforcing #運(yùn)行模式是強(qiáng)制模式 Mode from config file: enforcing #配置文件所指定的模式也是強(qiáng)制模式 Policy version: 24 #策略版本 Policy from config file: targeted #目前策略是針對性保護(hù)策略