国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 系統(tǒng) > Linux > 正文

SELinux 的工作模式(Disabled、Permissive和Enforcing)

2024-08-27 23:56:22
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
通過(guò)對(duì) SElinux 的介紹,初學(xué)者可以這樣認(rèn)為,在傳統(tǒng) Linux 系統(tǒng)使用訪問(wèn)控制方式的基礎(chǔ)上,附加使用 SELinux 可增強(qiáng)系統(tǒng)安全。 那么,SELinux 是如何運(yùn)行的呢?

在解釋 SELinux 的工作模式之前,先解釋幾個(gè)概念。
  1. 主體(Subject):就是想要訪問(wèn)文件或目錄資源的進(jìn)程。想要得到資源,基本流程是這樣的:由用戶調(diào)用命令,由命令產(chǎn)生進(jìn)程,由進(jìn)程去訪問(wèn)文件或目錄資源。在自主訪問(wèn)控制系統(tǒng)中(Linux 默認(rèn)權(quán)限中),靠權(quán)限控制的主體是用戶;而在強(qiáng)制訪問(wèn)控制系統(tǒng)中(SELinux 中),靠策略規(guī)則控制的主體則是進(jìn)程。
  2. 目標(biāo)(Object):這個(gè)概念比較明確,就是需要訪問(wèn)的文件或目錄資源。
  3. 策略(Policy):Linux 系統(tǒng)中進(jìn)程與文件的數(shù)量龐大,那么限制進(jìn)程是否可以訪問(wèn)文件的 SELinux 規(guī)則數(shù)量就更加煩瑣,如果每個(gè)規(guī)則都需要管理員手工設(shè)定,那么 SELinux 的可用性就會(huì)極低。還好我們不用手工定義規(guī)則,SELinux 默認(rèn)定義了兩個(gè)策略,規(guī)則都已經(jīng)在這兩個(gè)策略中寫好了,默認(rèn)只要調(diào)用策略就可以正常使用了。這兩個(gè)默認(rèn)策略如下:
    • -targeted:這是 SELinux 的默認(rèn)策略,這個(gè)策略主要是限制網(wǎng)絡(luò)服務(wù)的,對(duì)本機(jī)系統(tǒng)的限制極少。我們使用這個(gè)策略已經(jīng)足夠了。
    • -mls:多級(jí)安全保護(hù)策略,這個(gè)策略限制得更為嚴(yán)格。
  4. 安全上下文(Security Context):每個(gè)進(jìn)程、文件和目錄都有自己的安全上下文,進(jìn)程具體是否能夠訪問(wèn)文件或目錄,就要看這個(gè)安全上下文是否匹配。如果進(jìn)程的安全上下文和文件或目錄的安全上下文能夠匹配,則該進(jìn)程可以訪問(wèn)這個(gè)文件或目錄。當(dāng)然,判斷進(jìn)程的安全上下文和文件或目錄的安全上下文是否匹配,則需要依靠策略中的規(guī)則。舉個(gè)例子,我們需要找對(duì)象,男人可以看作主體,女人就是目標(biāo)了。而男人是否可以追到女人(主體是否可以訪問(wèn)目標(biāo)),主要看兩個(gè)人的性格是否合適(主體和目標(biāo)的安全上下文是否匹配)。不過(guò),兩個(gè)人的性格是否合適,是需要靠生活習(xí)慣、為人處世、家庭環(huán)境等具體的條件來(lái)進(jìn)行判斷的(安全上下文是否匹配是需要通過(guò)策略中的規(guī)則來(lái)確定的)。

我們畫一張示意圖,來(lái)表示一下這幾個(gè)概念之間的關(guān)系,如圖 1 所示。


圖 1 SELinux 運(yùn)行模式的相關(guān)概念
解釋一下這張示意圖:當(dāng)主體想要訪問(wèn)目標(biāo)時(shí),如果系統(tǒng)中啟動(dòng)了 SELinux,則主體的訪問(wèn)請(qǐng)求首先需要和 SELinux 中定義好的策略進(jìn)行匹配。如果進(jìn)程符合策略中定義好的規(guī)則,則允許訪問(wèn),這時(shí)進(jìn)程的安全上下文就可以和目標(biāo)的安全上下文進(jìn)行匹配;如果比較失敗,則拒絕訪問(wèn),并通過(guò) AVC(Access Vector Cache,訪問(wèn)向量緩存,主要用于記錄所有和 SELinux 相關(guān)的訪問(wèn)統(tǒng)計(jì)信息)生成拒絕訪問(wèn)信息。如果安全上下文匹配,則可以正常訪問(wèn)目標(biāo)文件。當(dāng)然,最終是否可以真正地訪問(wèn)到目標(biāo)文件,還要匹配產(chǎn)生進(jìn)程(主體)的用戶是否對(duì)目標(biāo)文件擁有合理的讀、寫、執(zhí)行權(quán)限。

我們?cè)谶M(jìn)行 SELinux 管理的時(shí)候,一般只會(huì)修改文件或目錄的安全上下文,使其和訪問(wèn)進(jìn)程的安全上下文匹配或不匹配,用來(lái)控制進(jìn)程是否可以訪問(wèn)文件或目錄資源;而很少會(huì)去修改策略中的具體規(guī)則,因?yàn)橐?guī)則實(shí)在太多了,修改起來(lái)過(guò)于復(fù)雜。不過(guò),我們是可以人為定義規(guī)則是否生效,用以控制規(guī)則的啟用與關(guān)閉的。

SELinux 的工作模式

SELinux 提供了 3 種工作模式:Disabled、Permissive 和 Enforcing,而每種模式都為 Linux 系統(tǒng)安全提供了不同的好處。

Disable工作模式(關(guān)閉模式)

在 Disable 模式中,SELinux 被關(guān)閉,默認(rèn)的 DAC 訪問(wèn)控制方式被使用。對(duì)于那些不需要增強(qiáng)安全性的環(huán)境來(lái)說(shuō),該模式是非常有用的。

例如,若從你的角度看正在運(yùn)行的應(yīng)用程序工作正常,但是卻產(chǎn)生了大量的 SELinux AVC 拒絕消息,最終可能會(huì)填滿日志文件,從而導(dǎo)致系統(tǒng)無(wú)法使用。在這種情況下,最直接的解決方法就是禁用 SELinux,當(dāng)然,你也可以在應(yīng)用程序所訪問(wèn)的文件上設(shè)置正確的安全上下文。

需要注意的是,在禁用 SELinux 之前,需要考慮一下是否可能會(huì)在系統(tǒng)上再次使用 SELinux,如果決定以后將其設(shè)置為 Enforcing 或 Permissive,那么當(dāng)下次重啟系統(tǒng)時(shí),系統(tǒng)將會(huì)通過(guò)一個(gè)自動(dòng) SELinux 文件重新進(jìn)程標(biāo)記。

關(guān)閉 SELinux 的方式也很簡(jiǎn)單,只需編輯配置文件 /etc/selinux/config,并將文本中 SELINUX= 更改為 SELINUX=disabled 即可,重啟系統(tǒng)后,SELinux 就被禁用了。

Permissive工作模式(寬容模式)

在 Permissive 模式中,SELinux 被啟用,但安全策略規(guī)則并沒有被強(qiáng)制執(zhí)行。當(dāng)安全策略規(guī)則應(yīng)該拒絕訪問(wèn)時(shí),訪問(wèn)仍然被允許。然而,此時(shí)會(huì)向日志文件發(fā)送一條消息,表示該訪問(wèn)應(yīng)該被拒絕。

SELinux Permissive 模式主要用于以下幾種情況:
審核當(dāng)前的 SELinux 策略規(guī)則;
測(cè)試新應(yīng)用程序,看看將 SELinux 策略規(guī)則應(yīng)用到這些程序時(shí)會(huì)有什么效果;
解決某一特定服務(wù)或應(yīng)用程序在 SELinux 下不再正常工作的故障。

某些情況下,可使用 audit2allow 命令來(lái)讀取 SELinux 審核日志并生成新的 SELinux 規(guī)則,從而有選擇性地允許被拒絕的行為,而這也是一種在不禁用 SELinux 的情況下,讓應(yīng)用程序在 Linux 系統(tǒng)上工作的快速方法。

Enforcing工作模式(強(qiáng)制模式)

從此模式的名稱就可以看出,在 Enforcing 模式中, SELinux 被啟動(dòng),并強(qiáng)制執(zhí)行所有的安全策略規(guī)則。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 洮南市| 襄垣县| 凌云县| 漳平市| 卢龙县| 海城市| 常熟市| 清镇市| 肃北| 龙山县| 双峰县| 逊克县| 山丹县| 启东市| 萝北县| 买车| 迁安市| 昭通市| 万盛区| 武夷山市| 诏安县| 山西省| 营山县| 公安县| 瑞安市| 冷水江市| 阿克陶县| 龙山县| 宁乡县| 苏尼特左旗| 图木舒克市| 乐昌市| 慈溪市| 乡宁县| 盘锦市| 佛冈县| 通海县| 阿尔山市| 平泉县| 桓台县| 嘉黎县|