SELinux

1.SELinux介紹

(1) SELinux是Security Enhanced Linux的縮寫,意思是安全強化的linux,設計的目標是避免資源的誤用。SELinux是通過MAC(強制訪問控制)的方式來控制進程,其控制的主體是進程,目標是該進程能否讀取的文件資源。MAC針對特定的進程和特定的文件資源進行權限控制。

(2)SELinux是在進行程序,文件等權限設置依據的一個內核模塊。由於啓動網絡服務的的也是程序,因此SELinux也是能夠控制網絡服務能否訪問系統資源的。

(3)SELinux在運行中進程能否訪問文件資源,重點在於策略內的規則以及實際的安全上下文。進程通過SELinux策略內的規則後,與文件資源的安全上下文進行比較,比較正確則可以訪問文件資源;反之則訪問失敗。

2.SELinux的模式

getenforce      ##查看selinux狀態
setenforce 0|1  ##SELinux模式在permissive與enforcing之間轉換
0 permissive    ##警告狀態
1 enforcing     ##強制狀態

這裏寫圖片描述

SELinux模式調整
vim /etc/sysconfig/selinux

SELINUX=
enforcing       ##強制模式:SELinux正在運行中,且已正確開始限制domain/type了。
permissive      ##警告模式:SELinux正在運行中,不過僅有警告信息並不會實際限制domain/type的訪問。該模式可以用來調試SELinux
disabled        ##關閉模式:SELinux沒有實際運行。

注意:當在/etc/sysconfig/selinux文件內修改selinux的工作模式後,應重啓(reboot)系統。

這裏寫圖片描述

3.安全上下文

進程與文件系統的安全上下文必須一致才能順利訪問。

安全上下文的組成:

Identify:role:type
 身份識別:角色:類型

(1)Identify(身份標識)
主要有以下三種:
root:表示root的帳號身份
system_u:表示系統進程方面的表示
user_u:表示一般用戶帳號的身份

(2)角色
通過角色可判斷數據屬於程序,文件資源還是代表用戶
object_r:代表的是文件或目錄等文件資源
system_r:代表的是進程,一般用戶也會被指定爲system_r

(3)類型
一個主題進程能不能訪問文件資源與類型字段有關。domain與type搭配才能順利讀取文件資源。
type:在文件資源上稱爲類型
domain:在主題程序上稱爲域

4.修改安全上下文

(1)安全上下文查看

ls -Z           ##查看目錄或文件的安全上下文

(2)臨時修改安全上下文

chcon      ##通過直接指定的方式來處理安全上下文的數據。
-R         ##連同該目錄下的子目錄也修改
-t         ##後面接上安全上下文的字段,如http_sys_content_t
-r         ##後面接上角色,如:system_r
-u         ##後面接身份識別,如system_u

chcon -t public_content_t /westos ##臨時修改安全上下文

這裏寫圖片描述

restorecon          ##使用默認的安全上下文來還原
restorecon -RvvF    ##刷新安全上下文,臨時修改刷新後不生效

(2)永久修改安全上下文

semanage            ##安全上下文的查詢與修改
fcontext            ##主要用於安全上下文
semanage  fcontext -a  ##增加
                   -m  ##修改
                   -d  ##刪除
                   -l  ##查詢默認安全上下文設置

semanage fcontext -a -t public_content_rw_t '/westos(/.*)?'
##永久修改安全上下文。-a表示添加,-t表示指定類型
restorecon -RvvF /westos/  ##刷新後生效。R表示遞歸的,vv表示多個文件,F表示刷新

這裏寫圖片描述

5.策略

(1)targeted:針對網絡服務限制較多,針對本機限制較少,是默認的策略;
(2)strict:完整的SELinux限制,限制方面較爲嚴格。

6.布爾值的查詢與修改

布爾值的種類即是規則。

getsebool -a                    ##查看系統內所有布爾值的設定情況
getsebool -a | grep ftp         ##查看ftp的布爾值
setsebool -P ftp_home_dir on    ##直接將設置值寫入配置文件(修改)

這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章