selinux配置錯誤實例介紹
錯誤原因
配置關閉SELinux,結果誤操作
應修改配置文件/etc/selinux/config中的「SELINUX」參數的值,
# SELINUX=enforcing 原始配置 SELINUX=disabled 正確
但是誤將「SELINUXTYPE」看成「SELINUX」,設置了SELINUXTYPE參數:
#SELINUXTYPE=targeted 原始配置 這個不必修改。 SELINUXTYPE=disabled 錯誤錯誤結果
重啟後 機器就報 Failed to load SELinux policy. Freezing 錯誤 導致一直不能啟動
解決辦法:
1. 重啟時在啟動頁面,選擇你要啟動的內核 按 E, 進入 grub 編輯頁面。
2. 找到 linux16 那一行,在language 後面 也就是LANG=zh_CN.UTF-8,空格 加上 selinux=0 或者 enforcing=0 (備註:我是加入selinux=0 生效的。)
3. 然後 ctrl + x 啟動,就看到熟悉的登錄界面。
4 .修改selinux配置文件,正確關閉selinux ~!
vim /etc/selinux/config # This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=disabled # SELINUXTYPE= can take one of three two values: # targeted - Targeted processes are protected, # minimum - Modification of targeted policy. Only selected processes are protected. # mls - Multi Level Security protection. SELINUXTYPE=targeted
修改完畢後,重啟。查看是否會報錯 。over。
安全增強型 Linux(Security-Enhanced Linux)
SELinux,它是一個 Linux 內核模塊,也是 Linux 的一個安全子系統。
SELinux 主要由美國國家安全局開發。2.6 及以上版本的 Linux 內核都已經集成了 SELinux 模塊。SELinux 的作用及許可權管理機制
1.1 SELinux 的作用
SELinux 主要作用就是最大限度地減小系統中服務進程可訪問的資源(最小許可權原則)。
目前系統文件許可權的管理有兩種:DAC(傳統的) 和 MAC(SELinux)
1.2 DAC
傳統的文件許可權與帳號關係:自主式存取控制, DAC(Discretionary Access Control, DAC)
在沒有使用 SELinux 的操作系統中,決定一個資源是否能被訪問的因素是:某個資源是否擁有對應用戶的許可權(讀、寫、執行)。
只要訪問這個資源的進程符合以上的條件就可以被訪問。
而最致命問題是,root 用戶不受任何管制,系統上任何資源都可以無限制地訪問。
這種許可權管理機制的主體是用戶,也稱為自主訪問控制(DAC)。
1.3 MAC
以政策規則訂定特定程序讀取特定文件:委任式存取控制,MAC
在使用了 SELinux 的操作系統中,決定一個資源是否能被訪問的因素除了上述因素之外,還需要判斷每一類進程是否擁有對某一類資源的訪問許可權。
這樣一來,即使進程是以 root 身份運行的,也需要判斷這個進程的類型以及允許訪問的資源類型才能決定是否允許訪問某個資源。進程的活動空間也可以被壓縮到最小。
即使是以 root 身份運行的服務進程,一般也只能訪問到它所需要的資源。即使程序出了漏洞,影響範圍也只有在其允許訪問的資源範圍內。安全性大大增加。
這種許可權管理機制的主體是進程,也稱為強制訪問控制(MAC)。
而 MAC 又細分為了兩種方式,一種叫類別安全(MCS)模式,另一種叫多級安全(MLS)模式。
在 DAC 模式下,只要相應目錄有相應用戶的許可權,就可以被訪問
在 MAC 模式下,還要受進程允許訪問目錄範圍的限制。
總結理解
DAC是以用戶為出發點來管理許可權的
MAC是以程序為出發點來管理許可權的
以前:root--->啟動httpd---->httpd可以訪問系統任何文件
現在:root--->啟動httpd---->httpd只能訪問/var/www/目錄(這是MAC)規則的約束
如果httpd想要訪問其他目錄,那麼必須滿足兩個條件:DAC的rwx + MAC的規則
TAG:尤沐西子 |