SElinux

SElinux:Secure Enhanced Linux

  SElinux工作與linux內核中他所實現的功能叫做強制訪問控制機制。DAC:是linux的自主訪問控制。MAC:是SElinux引入的訪問法則,叫作強制訪問控制。

  SElinux有兩種工作級別:

    strick:嚴格級別,每個進程都收到SElinux的控制:
    targeted:僅有限個進程受到SElinux控制:
        只監控容易被入侵的進程:

SElinux是如何工作的

subject: 進程
object: 包括進程,文件,
文件支持的操作:open, read, write, close, chown, chmod
該模型為一個進程對另一個對象進行操作,被操作的對象可以為進程,也可以是文件目錄等,subject:存在domain(域),
object:存在type(類型),而所允許的操作其subject和object要求域內存在所允許的類型的文件
selinux圍繞一個進程所能夠對另外一個進程被操縱資源的操作功能,
被操縱資源的操作功能受限于一個文件被操作資源和操作者兩者是否位于同一個區域內。
SElinux為每個文件提供了安全標簽,也為進程提供了安全標簽,安全標簽使用冒號隔開由五段組成,
最后兩段對于在CentOS系列的文件系上是無太多意義的:selinux必須在系統啟動時候激活內核加載此功能
    user:role:type
        user:selinux的user;
        role:角色
        type:類型

SElinux規則庫:庫里定義了很多規則

規則說明了哪種域能訪問哪種或哪些種類型內的文件

如何配置SElinux:

SElinux是否啟用:
    啟用與否的模式有三種:
        enforcing:強制,每個受限的進程都必然受限
        permissive:啟用,每個受限的進程違規操作不會被禁止,但會被記錄于審計日志
        disabled:關閉
        注意:如果當前系統SElinux處于disabled狀態,無論需要啟用為enfotcing,permissive狀態,
        都需要重啟系統讓內核對根文件系統上的所有文件做打標簽以后才能啟用。如果當前系統SElinux處于permissive狀態,
        需要改為enfotcing就簡單多了,想看以下命令;

        相關命令:
            getenforce:獲取selinux當前狀態:
            setenforce 0|1
                0:設置為permissive
                1:設置為enforcing
            注意:此設定重啟系統后無效;需要當前系統selilnux為啟用狀態。如果要想永久有效需要改配置文件,改完以后需重啟

            配置文件:/etc/sysconfig/selinux,/etc/selinux/config
                SELINUX={disabled|enforcing|permissive}


給文件重新打標:
    chcon:
        chcon [OPTION]... CONTEXT FILE...
        chcon [OPTION]... [-u USER] [-r ROLE] [-t TYPE] FILE...
        chcon [OPTION]... --reference=RFILE FILE...
          -R:遞歸打標;

還原文件的標簽:
    restorecon [-R] /path/to/somewhere

設定某些布型特性:
    getsebool:顯示布爾型特性
        getsebool [-a] [boolean]
    setsebool:設置布爾型特性
        setsebool [ -P] boolean value | bool1=val1 bool2=val2 …
        -P:保存在策略庫中,立刻有效

練習1、啟用SElinux策略并安裝http服務,改變網站的默認主目錄為/website,添加SElinux文件標簽規則,使網站可訪問

1)安裝httpd,并且開啟, 修改SElinux配置文件為enforcing強制狀態然后重啟,并且重啟后需要httpd是開啟狀態

SElinux

SElinux

2)創建/website并且給目錄打標

SElinux

SElinux

3)編輯httpd.conf文件,修改默認目錄為/website

]#vim/etc/httpd/conf/httpd.conf

SElinux

練習2、修改上述網站的http端口為9527,增加SElinux端口標簽,使網站可訪問

1)修改httpd服務監聽端口配置文件

SElinux

2)安裝semange ]# yum install policycoreutils-python -y

3)將9527設置為httpd監聽端口

SElinux

練習3、啟用相關的SElinux布爾值,使上述網站的用戶student家目錄可通過http訪問

]# setsebool httpdenablehomedirs=on

SElinux

配置完成,清空防火墻策略,訪問測試

SElinux

SElinux

原創文章,作者:M20-1馬星,如若轉載,請注明出處:http://www.www58058.com/48719

(1)
M20-1馬星M20-1馬星
上一篇 2016-09-23
下一篇 2016-09-23

相關推薦

  • 網絡N22期 第1周作業

    一、計算機組成及其功能 計算機由硬件部分和軟件部分組成。     硬件部分包括,         1、CPU:包括運算器、控制器、寄存器、緩存,具有對數據控制和計算功能。         2、存儲器:內部存儲器、外部存儲器,對數據提供存儲功能。   …

    Linux干貨 2016-08-15
  • 初識linux文件管理

    初識linux文件管理 1.文件系統與目錄結構 文件系統從根目錄 下開始,用“/”。 以. 開頭的文件為隱藏文件,路徑分隔用/表示。文件系統的層級結構是LSB(linux standard base),遵循文件系統層級標準(FHS ) 文件命名規則:   文件名最長255個字節,包括路徑名在內共4095個字節  &nb…

    2017-02-18
  • Linux文件類型及顏色標識

    文件類型(共7種): – :普通文件 d:目錄文件 (directory) c:字符設備文件 (char) b:塊設備文件 (block) s:本地域套接口 (socket) p:有名管道 (pipeline) l:符號連接 (link) 關于硬鏈接、軟連接、復制之間的區別說明: 上圖中,我為photo.png這個圖片文件建立了一個拷貝(phot…

    Linux干貨 2016-10-16
  • Redhat kickstart 無人值守安裝

                       Redhat kickstart 無人值守安裝 一、PXE       PXE工作于Client/Server的網絡模式,支持可以通…

    系統運維 2016-09-21
  • linux下VMware Tools安裝方法

    關于VMware Tools 是虛擬機里面的驅動,和各種實用工具,安裝了vmware tools,你的虛擬機就可以打開DX3D的支持,鼠標想移出虛擬機也不需要按組合鍵,文件可以從主機直接拖動復制到虛擬機里面,虛擬機的分辨率也會自動跟隨窗口調整而變化,還能解決圖形界面下的卡頓,總之就是拓展了虛擬機的功能,方便使用。     &nb…

    Linux干貨 2016-08-04
  • 權限管理

    權限管理包括普通權限、特殊權限、默認權限、ACL權限。 這些權限都是針對u(owner)、g(group)、o(other)三類定義的。 設置權限時文件和目錄不同(此處把文件和目錄分開,一般說文件就包含目錄(linux思想:一切皆文件))如下圖所示, 分別用兩個用戶分別創建了一個目錄一個文件,可以看到同是目錄的liutest和test的權限不同,它倆同為目錄…

    Linux干貨 2017-07-30
欧美性久久久久