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