RHCE心得6----Selinux心得

Selinux是強大的,複雜的。通過一段時間的學習應該說對Selinux的掌握情況不是很好,但是在實際搭建各種服務中遇到的關於Selinux的問題卻已經基本上可以全部解決了。

    現在特將Selinux的一些基本功能、設置、學習方法總結一下希望能給大家一點幫助。
 
1、Selinux的三種模式:
Enforcing強制模式:默認模式,按照Selinux的策略來進行驗證和管理系統安全。如果發現和Selinux的規定不相符合則強制阻止程序的運行或者訪問,同時給出提示。
Permissive允許模式:系統記錄所有違反策略的行爲並給與一定的提示,同時不中阻止程序的運行。
Disabled禁用模式:關閉Selinux
getenforce:查詢當前的Selinux模式
setenforce 0 |1 0:允許模式 1:強制模式
禁用selinux: 修改/etc/sysconfig/selinux 然後重新引導系統。
2、selinux下的環境元素:不同的安全需要使用不同的元素
Ls -Z 查看目標文件或者目錄的策略
Ps -Z 查看進程的策略
*目前有5種支持元素,但不一定出現在所有系統中。
User:role:type:sensitivity:category
User_u:object_r:tmp_t:s0:c0
************************************************************
[root@server ~]# ls -Z /home
drwx------ redhat redhat system_u:object_r:user_home_dir_t redhat
drwxrwxrwx root root root:object_r:public_content_rw_t share
**************************************************************
用戶(user)
指登陸到系統的用戶類型;根用戶登陸,則用戶類型就是root;其他用戶類型是user_u,即便是使用su命令提高訪問權限也還是user_u;進程類型是system_u。
角色(role)
定義某個文件、進程、或用戶的目的。文件角色是object_r;進程角色是system_r;用戶角色也是system_r;
類型(type)
“強制類型”用來指定文件或者進程中數據的性質。策略中的規則指定那個進程類型可以使用哪個文件類型。
敏感性(sensitivity)
被政府、軍事等部門使用的安全級別。
類別(cagegory)
與組類似,但可以阻止root訪問的保密數據。
備註:類型爲unconfined_t得到進程是尚未被selinux限制的進程。
3、Selinux目標策略:
chcon –t tmp_t /path 修改目標對象的安全環境類型。
**********************************************************
[root@server ~]# ls -Z
-rw-r--r-- root root root:object_r:user_home_t test
[root@server ~]# chcon -t etc_t test
[root@server ~]# ls -Z
-rw-r--r-- root root root:object_r:etc_t test
************************************************************
Chcon –reference 對象1 對象2 把對象1的安全環境類型應用到對象2上
************************************************************
[root@server ~]# ls -Z
-rw-r--r-- root root root:object_r:user_home_t install.log
-rw-r--r-- root root root:object_r:etc_t test
[root@server ~]# chcon --reference ./install.log ./test
[root@server ~]# ls -Z
-rw-r--r-- root root root:object_r:user_home_t install.log
-rw-r--r-- root root root:object_r:user_home_t test
************************************************************
restorecon /path 自動判斷並應用對象的默認環境策略。
************************************************************
[root@server ~]# ls -Z
-rw-r--r-- root root root:object_r:user_home_t install.log
-rw-r--r-- root root root:object_r:etc_t test
[root@server ~]# restorecon ./*
[root@server ~]# ls -Z
-rw-r--r-- root root root:object_r:user_home_t install.log
-rw-r--r-- root root root:object_r:user_home_t test
********************************************************
4、selinux策略的控制:策略文件位置/selinux/booleans
system-config-selinux 圖形模式下修改各個項目的selinux的設置,要重新引導才能生效。
命令法:
1)getsebool 控制策略 :查看某個控制策略啓用情況 on 啓用 off關閉。
     getsebool –a |grep XXX 可以過濾所有XXX的策略的啓用情況。
2)setsebool –P 控制策略 on|off
     setsebool –P 控制策略=1|0
     -P表示始終;開啓或者關閉某個策略。
 
    Selinux 總是針對服務和進程出現的,要學好Selinux就不要禁用它。這樣在做練習時,纔會遇上相關的問題,才能看到Selinux給你解決問題的提示,也只有這樣才能學好Selinux。
    針對某個服務的Selinux相關設置我都總結在XXX服務的RHCE心得中。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章