sandbox 沙箱: 最小資源集合
進程脫離控制時,不能訪問用戶全部能訪問的文件
2)、SELinux有兩種工做模式 code
strict :嚴格級別 每一個進程都受到SELinux的控制htm
targetted : 僅有限個進程受SELinux控制,只監控容易被入侵的進程
3)SELinux工做方式
subject(主語) operation(謂) object(賓)
subject: 進程
operation: 取決於被操做對象支持的模式 及 操做者是否在有效區域內
object: 進程、文件、用戶
文件: operation: open, read, write, close, chown, chmod
活動範圍(域):
subject: domain
object: type 操做者稱爲域(活動的發出者),被操做者稱爲類型
4)SELinux安全標籤顯示
SELinux爲每一個文件、進程提供安全標籤
查看:
進程:ps axuZ
- 沒有激活SELinux(SELinux必須在內核啓動時激活才能生效)
文件: ls -Z 顯示SELinux的安全上下文
前三段 user:role:type
user: SELinux的user
role: 角色,相似linux的組
type: 類型, 沙箱的範圍
subject: domain
object: type
object能被subject操做只有:type是domain的子集:domain == type 或 domain包含type
2、激活SELinux
1)配置文件位置:
2)SELinux狀態
獲取SELinux當前狀態
設定狀態:當前有效,重啓失效
enforcing 強制:每一個受限的進程必然受限,不受限的進程不受限。
permissive 容許:每一個受限的進程違規操做不會禁止,但會被記錄於審計日誌中。 日誌位置:/var/log/audit.log
disabled 關閉
3)激活或關閉SELinux
開啓selinux: disabled --> enforcing/permissive
開啓SELinux必須重啓,在/從新掛載後,從新對全部文件打標才能夠對selinux操做
關閉selinux:enforcing/permissive --> disabled
c)、設定某些布爾型特性
[root@localhost /]# getsebool -a
5)改變文件所屬的域
chcon [-u USER] [-r ROLE] [-t TYPE] FILE...
-R :遞歸打標
使用示例
[root@localhost conf.d]#cd /etc/httpd/conf.d
[root@localhost conf.d]# mv welcome.conf welcome.conf.bak
6)還原標籤
restorecon [-R] /path/to/somewhere
-R :還原一個目錄下的全部標籤
e.g restorecon /www/html/index.html
使用示例
7)設定程序功能開啓或關閉
默認對於某些程序的功能,相對安全級別較低的功能,將被SELinux自動被禁止,例如ftp的匿名用戶:任何用戶能夠上傳文件
布爾型規則:
獲取程序功能sebool
getsebool -a [boolean] 全部程序功能
getsebool ftp_home_dir
設置程序功能
setsebool [-P] sebool=value
-P 永久有效,將修改的結果保存至策略庫中 (須要必定時間:找到規則庫,設定,轉換爲binary格式 )
例如:
setsebool ftp_home_dir 1
setsebool ftp_home_dir 0
setsebool ftp_home_dir on
setsebool ftp_home_dir off
參考:https://blog.51cto.com/sonlich/1964022