SELinux介紹與設置

1、SELinux介紹

  selinux強制訪問控制的一種策略,在傳統的linux系統中,一切皆文件,有用戶,組和權限來控制訪問,在selinux中,一切皆對象,由存放在擴展屬性域的安全元素控制訪問,全部文件、端口、進程都具有安全上下文,安全上下文主要分爲五個安全元素user、role、type、sensitivity、category。linux

2、五個安全元素

user:登陸系統的用戶類型,如root,user_u,system_u,所屬本地進程都屬於自由(unconfined)進程
role:定義文件,進程和用戶的用途:文件:object_r,進程和用戶:system_r
type:數據類型,在規則中,何種進程類型訪問何種文件都是基於type來實現的,多服務公用的類型有public_content_t
sensitivity:限制訪問的須要由組織定義的分層
category:對於規定組織劃分不分層的分類centos

3、selinux工做模式

  selinux主要模式有:strict(centos5)、targeted、minimun(centos7)、mls幾類,selinux系統默認選擇是targeten,strict已經再也不使用,minimun和mls穩定性不足安全

4、實際上下文和指望上下文

實際上下文:存放在元數據中,查看文件上下文:ls -Z。查看進程上下文:ps -Z
SELinux介紹與設置
SELinux介紹與設置
指望上下文:指望上下文也能夠理解爲默認上下文,它存放在二進制的selinux策略庫中。查看指望上下文的命令爲semanage fcontext -l查看系統全部指望上下文ssh

SELinux介紹與設置

5、開啓和禁用selinux

SELinux介紹與設置
更改配置文件類型通常只在enforcing和disabled兩個模式下相互切換,由於第二種只是報警,沒有任何意義,該配置只有在重啓後有效
查看當前selinux的狀態命令爲
getenforce查看當前狀態
setenforce臨時開啓或關閉selinux
setenforce 0|1,其中0表明permissive,1表明enforcing
sestatus詳細查看當前selinux狀態
SELinux介紹與設置
給文件從新打安全標籤
chcon該命令直接更改實際上下文,不會更改指望上下文,若是系統從新打安全標籤,將更改,這裏不建議這麼更改。
chcon [-R] [-u user] [-r role] [-t type] 目錄|文件,其中-R遞歸打標籤。
恢復目錄或文件的指望上下文
restorecon 目錄或文件,-R遞歸
一、對默認安全上下文查詢與更改。 注意:在更改指望上下文後,須要restorecon 更改目錄,讓實際安全上下文和指望上下文同步
semanage fcontext -l
SELinux介紹與設置
semanage fcontext -a -t 類型 目錄或文件
SELinux介紹與設置
restorecon -Rv 目錄,恢復指望上下文,並顯示過程,若是指望上下文和實際上下文一致將不顯示任何信息
SELinux介紹與設置
semanage fcontext -d -t 類型 目錄或文件
SELinux介紹與設置
二、selinux更改端口標籤
查看端口標籤
semanage port -l
SELinux介紹與設置
添加端口,若須要讓該服務多增長一個不是默認端口號的端口,則須要添加新的端口號,這裏以ssh爲例
semanage port -a -t 類型 -p tcp|udp 端口號
SELinux介紹與設置
只須要在將ssh配置文件/etc/ssh/sshd.conf文件中的port端口改爲2222重啓服務便可
SELinux介紹與設置
刪除端口,只須要將a改爲d便可
semanage port -d -t 類型 -p tcp|udp 端口號
修改現有端口爲新標籤
semanage port -m -t 類型 -p tcp|udp 端口號
SELinux介紹與設置
三、selinux布爾值
查看當前系統全部布爾值
getsebool -a|名稱
SELinux介紹與設置
semanage boolean -l
semanage boolean -l -C查看當前已經修改過的bool值
SELinux介紹與設置
設置布爾值
setsebool [-P] 須要修改的bool值=[0|1]
setsebool [-P] 須要修改的bool值 [on|off]
SELinux介紹與設置
設置布爾值時,若是須要讓操做存入磁盤,永久有效,則須要在中間加上-P參數tcp

相關文章
相關標籤/搜索