上海網(wǎng)站開發(fā)公司外包自學(xué)seo能找到工作嗎
??官網(wǎng)地址:What is SELinux?
歡迎關(guān)注留言,我是收集整理小能手,工具翻譯,僅供參考,筆芯筆芯.
概述
安全增強(qiáng)型 Linux (SELinux) 是Linux? 系統(tǒng)的安全架構(gòu),允許管理員更好地控制誰(shuí)可以訪問(wèn)系統(tǒng)。它最初是由美國(guó)國(guó)家安全局 (NSA) 使用 Linux 安全模塊 (LSM) 開發(fā)的一系列Linux內(nèi)核補(bǔ)丁。??
SELinux于2000年發(fā)布到開源社區(qū),并于2003年集成到上游Linux內(nèi)核中。
SELinux 是如何工作的?
SELinux 定義了系統(tǒng)上應(yīng)用程序、進(jìn)程和文件的訪問(wèn)控制。它使用安全策略(一組規(guī)則告訴 SELinux 哪些內(nèi)容可以訪問(wèn)或哪些內(nèi)容不可以訪問(wèn))來(lái)強(qiáng)制執(zhí)行策略允許的訪問(wèn)。?
當(dāng)應(yīng)用程序或進(jìn)程(稱為主體)發(fā)出訪問(wèn)對(duì)象(如文件)的請(qǐng)求時(shí),SELinux 會(huì)檢查訪問(wèn)向量緩存 (AVC),其中緩存主體和客體的權(quán)限。
如果 SELinux 無(wú)法根據(jù)緩存的權(quán)限做出訪問(wèn)決策,則會(huì)將請(qǐng)求發(fā)送到安全服務(wù)器。安全服務(wù)器檢查應(yīng)用程序或進(jìn)程以及文件的安全上下文。安全上下文是從 SELinux 策略數(shù)據(jù)庫(kù)應(yīng)用的。然后授予或拒絕許可。?
如果權(quán)限被拒絕,/var/log.messages 中將顯示“avc:被拒絕”消息。
如何配置 SELinux?
您可以通過(guò)多種方式配置 SELinux 來(lái)保護(hù)您的系統(tǒng)。最常見的是有針對(duì)性的策略或多級(jí)安全 (MLS)。
目標(biāo)策略是默認(rèn)選項(xiàng),涵蓋一系列流程、任務(wù)和服務(wù)。MLS 可能非常復(fù)雜,通常僅由政府組織使用。?
您可以通過(guò)查看 /etc/sysconfig/selinux 文件來(lái)了解您的系統(tǒng)應(yīng)該運(yùn)行什么。該文件將有一個(gè)部分顯示 SELinux 是否處于寬容模式、強(qiáng)制模式或禁用模式,以及應(yīng)該加載哪個(gè)策略。
SELinux 標(biāo)簽和類型強(qiáng)制?
類型強(qiáng)制和標(biāo)簽是 SELinux 最重要的概念。
SELinux 作為一個(gè)標(biāo)簽系統(tǒng),這意味著系統(tǒng)中的所有文件、進(jìn)程和端口都有一個(gè)與之關(guān)聯(lián)的 SELinux 標(biāo)簽。標(biāo)簽是將事物分組在一起的邏輯方式。內(nèi)核在引導(dǎo)期間管理標(biāo)簽。
標(biāo)簽的格式為 user:role:type:level(級(jí)別是可選的)。用戶、角色和級(jí)別用于更高級(jí)的 SELinux 實(shí)現(xiàn),例如 MLS。標(biāo)簽類型對(duì)于有針對(duì)性的政策來(lái)說(shuō)是最重要的。?
SELinux 使用類型強(qiáng)制來(lái)強(qiáng)制執(zhí)行在系統(tǒng)上定義的策略。類型強(qiáng)制是 SELinux 策略的一部分,它定義以某種類型運(yùn)行的進(jìn)程是否可以訪問(wèn)標(biāo)有某種類型的文件。
啟用 SELinux
如果您的環(huán)境中已禁用 SELinux,您可以通過(guò)編輯 /etc/selinux/config 并設(shè)置 SELINUX=permissive 來(lái)啟用 SELinux。由于 SELinux 目前尚未啟用,因此您不想立即將其設(shè)置為強(qiáng)制執(zhí)行,因?yàn)橄到y(tǒng)可能會(huì)出現(xiàn)錯(cuò)誤標(biāo)記的內(nèi)容,從而導(dǎo)致系統(tǒng)無(wú)法啟動(dòng)。??
您可以通過(guò)在根目錄中創(chuàng)建名為 .autorelabel 的空文件然后重新啟動(dòng)來(lái)強(qiáng)制系統(tǒng)自動(dòng)重新標(biāo)記文件系統(tǒng)。如果系統(tǒng)錯(cuò)誤太多,您應(yīng)該在寬容模式下重新啟動(dòng),以便啟動(dòng)成功。重新標(biāo)記所有內(nèi)容后,使用 /etc/selinux/config 將 SELinux 設(shè)置為強(qiáng)制執(zhí)行并重新啟動(dòng),或運(yùn)行 setenforce 1。?
如果系統(tǒng)管理員不太熟悉命令行,可以使用圖形工具來(lái)管理 SELinux。?
SELinux 為L(zhǎng)inux 發(fā)行版中內(nèi)置的系統(tǒng)提供了額外的安全層。它應(yīng)該保持打開狀態(tài),以便在系統(tǒng)受到損害時(shí)可以保護(hù)您的系統(tǒng)。
你對(duì)Linux了解多少?
在 Linux 傳奇問(wèn)答中測(cè)試您的知識(shí)并贏得徽章。
自主訪問(wèn)控制 (DAC) 與強(qiáng)制訪問(wèn)控制 (MAC)
傳統(tǒng)上,Linux 和 UNIX 系統(tǒng)都使用 DAC。SELinux 是 Linux 的 MAC 系統(tǒng)的一個(gè)示例。?
有了 DAC,文件和進(jìn)程就有了所有者。您可以讓用戶擁有一個(gè)文件、一個(gè)組擁有一個(gè)文件或其他(可以是其他任何人)。用戶可以更改自己文件的權(quán)限。
root 用戶對(duì) DAC 系統(tǒng)具有完全訪問(wèn)控制權(quán)。如果您具有 root 訪問(wèn)權(quán)限,那么您可以訪問(wèn)任何其他用戶的文件或在系統(tǒng)上執(zhí)行您想要的任何操作。?
但在像 SELinux 這樣的 MAC 系統(tǒng)上,有關(guān)于訪問(wèn)的管理設(shè)置策略。即使您的主目錄上的 DAC 設(shè)置發(fā)生更改,防止其他用戶或進(jìn)程訪問(wèn)該目錄的 SELinux 策略也將確保系統(tǒng)安全。?
SELinux 策略讓您能夠具體化并涵蓋大量進(jìn)程。您可以使用 SELinux 進(jìn)行更改以限制用戶、文件、目錄等之間的訪問(wèn)。
如何處理 SELinux 錯(cuò)誤
當(dāng)您在 SELinux 中遇到錯(cuò)誤時(shí),有一些事情需要解決。這可能是以下 4 個(gè)常見問(wèn)題之一:
- 標(biāo)簽是錯(cuò)誤的。如果您的標(biāo)簽不正確,您可以使用工具來(lái)修復(fù)標(biāo)簽。
- 需要制定一項(xiàng)政策。這可能意味著您需要通知 SELinux 您所做的更改,或者您可能需要調(diào)整策略。您可以使用布爾值或策略模塊來(lái)修復(fù)它。
- 該政策存在錯(cuò)誤。策略中可能存在需要解決的錯(cuò)誤。
- 系統(tǒng)已被侵入。盡管 SELinux 可以在許多情況下保護(hù)您的系統(tǒng),但系統(tǒng)受到損害的可能性仍然存在。如果您懷疑情況確實(shí)如此,請(qǐng)立即采取行動(dòng)。
什么是布爾值?
布爾值是 SELinux 中函數(shù)的開/關(guān)設(shè)置。有數(shù)百種設(shè)置可以打開或關(guān)閉 SELinux 功能,其中許多設(shè)置已經(jīng)預(yù)定義。您可以通過(guò)運(yùn)行 getsebool -a 來(lái)找出系統(tǒng)中已經(jīng)設(shè)置了哪些布爾值。
紅帽可以提供幫助
紅帽企業(yè) Linux 是世界領(lǐng)先的開源 Linux 平臺(tái),使您能夠降低風(fēng)險(xiǎn)、實(shí)施安全配置和策略以及簡(jiǎn)化合規(guī)策略。?
紅帽企業(yè) Linux 系統(tǒng)角色是受支持的 Ansible? 角色的集合,可確保一致的工作流程并簡(jiǎn)化手動(dòng)任務(wù)的執(zhí)行。系統(tǒng)角色可幫助團(tuán)隊(duì)自動(dòng)化安全工作流程,并以最少的資源長(zhǎng)期、大規(guī)模地維護(hù)它們,并簡(jiǎn)化治理和合規(guī)性要求。通過(guò)SELinux系統(tǒng)角色,您可以自動(dòng)化SELinux的部署和管理。這包括:?
- 使用強(qiáng)制或許可模式啟用 SELinux,以確??刂频囊恢滦浴?/span>
- 自定義 SELinux 策略布爾值、文件上下文、端口和登錄以滿足您的要求。
- 利用系統(tǒng)角色來(lái)協(xié)調(diào)指定文件或目錄的文件上下文。
查看selinux狀態(tài),以下命令都可以查
getenforcecat /etc/selinux/configsestatus
三種狀態(tài)
enforcing (執(zhí)行中)、permissive (不執(zhí)行但產(chǎn)生警告)、disabled(關(guān)閉)
臨時(shí)設(shè)置,重啟后失效
#setenforce 0設(shè)置為permissive模式;setenforce 1 設(shè)置為enforcing模式;
setenforce 0
永久設(shè)置,需要重啟
sed -i s#SELINUX=enforcing#SELINUX=disabled# /etc/selinux/config
reboot