首頁  >  文章  >  運維  >  SELinux是什麼

SELinux是什麼

青灯夜游
青灯夜游原創
2023-02-08 11:56:353815瀏覽

SELinux是指安全強化的Linux,是Linux的安全子系統,旨在增強傳統Linux作業系統的安全性,解決傳統Linux系統中自主存取控制(DAC)系統中的各種權限問題(如root權限過高等)。 SELinux中採用的是強制存取控制(MAC)系統,也就是控制一個程序對特定檔案系統上面的檔案或目錄是否擁有存取權限。

SELinux是什麼

本教學操作環境:linux7.3系統、Dell G3電腦。

SELinux是什麼

SELinux,Security Enhanced Linux 的縮寫,也就是安全強化的Linux,是由美國國家安全局(NSA )聯合其他安全機構(如SCC 公司)共同開發的Linux安全子系統,旨在增強傳統Linux 作業系統的安全性,解決傳統Linux 系統中自主存取控制(DAC)系統中的各種權限問題(如root 權限過高等)。

SELinux 專案在 2000 年以 GPL 協定的形式開源,當 Red Hat 在其 Linux 發行版本中包含了 SELinux 之後,SELinux 才逐步變得流行起來。現在,SELinux 已經被許多組織廣泛使用,幾乎所有的 Linux  核心 2.6 以上版本,都整合了 SELinux 功能。

對於 SELinux,初學者可以這麼理解,它是部署在 Linux 上用於增強系統安全的功能模組。

我們知道,在傳統的Linux 系統中,預設權限是對檔案或目錄的擁有者、所屬群組和其他人的讀取、寫入和執行權限進行控制,這種控制方式稱為自主存取控制(DAC)方式;而在SELinux 中,採用的是強制存取控制(MAC)系統,也就是控制一個進程對特定檔案系統上面的檔案或目錄是否擁有存取權限,而判斷進程是否可以存取文件或目錄的依據,取決於SELinux 中設定的許多策略規則。

說到這裡,讀者有必要詳細地了解這兩個存取控制系統的特點:

  • #自主存取控制系統(Discretionary Access Control,DAC)是Linux 的預設存取控制方式,也就是依據使用者的身分和該身分對檔案及目錄的rwx 權限來判斷是否可以存取。不過,在DAC 存取控制的實際使用中我們也發現了一些問題:
    • root 權限過高,rwx 權限對root 使用者並不生效,一旦root 使用者被竊取或root 使用者本身的誤操作,都是對Linux 系統的致命威脅。

    • Linux 預設權限過於簡單,只有擁有者、所屬群組和其他人的身份,權限也只有讀取、寫入和執行權限,並不利於權限細分與設定。

    • 不合理權限的指派會導致嚴重後果,例如為系統敏感檔案或目錄設定 777 權限,或為敏感檔案設定特殊權限-SetUID 權限等。

  • 強制存取控制(Mandatory Access Control,MAC)是透過SELinux 的預設策略規則來控制特定的程序對系統的檔案資源的訪問。也就是說,即使你是 root 用戶,但是當你存取檔案資源時,如果使用了不正確的進程,那麼也是不能存取這個檔案資源的。

這樣一來,SELinux 控制的就不會單單只是使用者及權限,還有進程。每個行程能夠存取哪個檔案資源,以及每個檔案資源可以被哪些行程訪問,都靠 SELinux 的規則策略來決定。

注意,在SELinux 中,Linux 的預設權限還是有作用的,也就是說,一個用戶要能存取一個文件,既要求這個用戶的權限符合rwx 權限,也要求這個用戶的進程符合SELinux 的規定。

不過,系統中有這麼多的進程,也有這麼多的文件,如果手工來進行分配和指定,那麼工作量過大。所以 SELinux 提供了許多預設的策略規則,這些策略規則已經設定得比較完善,我們稍後再來學習如何檢視和管理這些策略規則。

為了讓讀者清楚地了解 SELinux 所扮演的角色,這裡舉一個例子,假設 apache 上發現了一個漏洞,使得某個遠端使用者可以存取系統的敏感檔案(如 /etc/shadow)。如果我們的Linux 中啟用了SELinux,那麼,因為apache 服務的進程並不具備存取/etc/shadow 的權限,所以這個遠端使用者透過apache 存取/etc/shadow檔案就會被SELinux 所阻擋,起到保護Linux系統的作用。

Selinux如何關閉

#查看selinux状态
[root@vm01]# getenforce
 
#临时关闭selinux
[root@vm01]# setenforce 0
 
#永久关闭
[root@vm01]# vi /etc/selinux/config
# SELINUX=enforcing改为SELINUX=disabled

相關推薦:《Linux影片教學

以上是SELinux是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn