您好,登錄后才能下訂單哦!
今天小編給大家分享一下linux里selinux的作用是什么的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。
SELinux的作用:1、通過對進程和文件資源采用MAC控制方式,為Linux系統提供了改進的安全性;2、賦予了主體最小的訪問特權,最大限度地減小系統中服務進程可訪問的資源,可以防止主體對其他用戶或進程產生不利的影響;3、每個進程都有自己的運行區域,各進程僅運行在自己的域內,無法訪問其他進程和文件;4、SELinux能最大程序上限制Linux系統中的惡意代碼活動。
本教程操作環境:linux7.3系統、Dell G3電腦。
SELinux,Security Enhanced Linux 的縮寫,也就是安全強化的 Linux,是由美國國家安全局(NSA)聯合其他安全機構(比如 SCC 公司)共同開發的,旨在增強傳統 Linux 操作系統的安全性,解決傳統 Linux 系統中自主訪問控制(DAC)系統中的各種權限問題(如 root 權限過高等)。
對于 SELinux,初學者可以這么理解,它是部署在 Linux 上用于增強系統安全的功能模塊。
傳統的 Linux 系統安全,采用的是 DAC(自主訪問控制方式),而 SELinux 是部署在 Linux 系統中的安全增強功能模塊,它通過對進程和文件資源采用 MAC(強制訪問控制方式)為 Linux 系統提供了改進的安全性。
SELinux的主要作用
通過對進程和文件資源采用 MAC(強制訪問控制方式)控制方式,為 Linux 系統提供了改進的安全性。
最大限度地減小系統中服務進程可訪問的資源(最小權限原則)。
它賦予了主體(用戶或進程)最小的訪問特權,這也就意味著,每個主體僅被賦予了完成相關任務所必須的一組有限的權限。通過賦予最小訪問特權,可以防止主體對其他用戶或進程產生不利的影響。
SELinux 管理過程中,每個進程都有自己的運行區域(稱為域),各進程僅運行在自己的域內,無法訪問其他進程和文件,除非被授予了特殊權限。
SELinux 能最大程序上限制 Linux 系統中的惡意代碼活動。
擴展知識:
SELinux 基本概念:
1、主體(Subject):就是想要訪問文件或目錄資源的進程。想要得到資源,基本流程是這樣的:由用戶調用命令,由命令產生進程,由進程去訪問文件或目錄資源。在自主訪問控制系統中(Linux 默認權限中),靠權限控制的主體是用戶;而在強制訪問控制系統中(SELinux 中),靠策略規則控制的主體則是進程。
2、目標(Object):這個概念比較明確,就是需要訪問的文件或目錄資源。
3、策略(Policy):Linux 系統中進程與文件的數量龐大,那么限制進程是否可以訪問文件的 SELinux 規則數量就更加煩瑣,如果每個規則都需要管理員手工設定,那么 SELinux 的可用性就會極低。還好我們不用手工定義規則,SELinux 默認定義了兩個策略,規則都已經在這兩個策略中寫好了,默認只要調用策略就可以正常使用了。這兩個默認策略如下:
-targeted:這是 SELinux 的默認策略,這個策略主要是限制網絡服務的,對本機系統的限制極少。我們使用這個策略已經足夠了。
-mls:多級安全保護策略,這個策略限制得更為嚴格。
4、安全上下文(Security Context):每個進程、文件和目錄都有自己的安全上下文,進程具體是否能夠訪問文件或目錄,就要看這個安全上下文是否匹配。如果進程的安全上下文和文件或目錄的安全上下文能夠匹配,則該進程可以訪問這個文件或目錄。當然,判斷進程的安全上下文和文件或目錄的安全上下文是否匹配,則需要依靠策略中的規則。舉個例子,我們需要找對象,男人可以看作主體,女人就是目標了。而男人是否可以追到女人(主體是否可以訪問目標),主要看兩個人的性格是否合適(主體和目標的安全上下文是否匹配)。不過,兩個人的性格是否合適,是需要靠生活習慣、為人處世、家庭環境等具體的條件來進行判斷的(安全上下文是否匹配是需要通過策略中的規則來確定的)。
SELinux 的工作模式
SELinux 提供了 3 種工作模式:Disabled、Permissive 和 Enforcing,而每種模式都為 Linux 系統安全提供了不同的好處。
1、Disable工作模式(關閉模式)
在 Disable 模式中,SELinux 被關閉,默認的 DAC 訪問控制方式被使用。對于那些不需要增強安全性的環境來說,該模式是非常有用的。
例如,若從你的角度看正在運行的應用程序工作正常,但是卻產生了大量的 SELinux AVC 拒絕消息,最終可能會填滿日志文件,從而導致系統無法使用。在這種情況下,最直接的解決方法就是禁用 SELinux,當然,你也可以在應用程序所訪問的文件上設置正確的安全上下文。
需要注意的是,在禁用 SELinux 之前,需要考慮一下是否可能會在系統上再次使用 SELinux,如果決定以后將其設置為 Enforcing 或 Permissive,那么當下次重啟系統時,系統將會通過一個自動 SELinux 文件重新進程標記。
關閉 SELinux 的方式也很簡單,只需編輯配置文件 /etc/selinux/config,并將文本中 SELINUX= 更改為 SELINUX=disabled 即可,重啟系統后,SELinux 就被禁用了。
2、Permissive工作模式(寬容模式)
在 Permissive 模式中,SELinux 被啟用,但安全策略規則并沒有被強制執行。當安全策略規則應該拒絕訪問時,訪問仍然被允許。然而,此時會向日志文件發送一條消息,表示該訪問應該被拒絕。
SELinux Permissive 模式主要用于以下幾種情況:
審核當前的 SELinux 策略規則;
測試新應用程序,看看將 SELinux 策略規則應用到這些程序時會有什么效果;
解決某一特定服務或應用程序在 SELinux 下不再正常工作的故障。
某些情況下,可使用 audit2allow 命令來讀取 SELinux 審核日志并生成新的 SELinux 規則,從而有選擇性地允許被拒絕的行為,而這也是一種在不禁用 SELinux 的情況下,讓應用程序在 Linux 系統上工作的快速方法。
3、Enforcing工作模式(強制模式)
從此模式的名稱就可以看出,在 Enforcing 模式中, SELinux 被啟動,并強制執行所有的安全策略規則。
以上就是“linux里selinux的作用是什么”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。