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 12:26
下一篇 2016-09-23 15:41

相關推薦

  • N25期–第十七周作業

    1、  結合圖形描述LVS的工作原理; 針對高可伸縮、高可用網絡服務的需求,給出了基于IP層和基于內容請求分發的負載平衡調度解決方法,并在Linux內核中實現了這些方法,將一組服務器構成一個實現可伸縮的、高可用網絡服務的虛擬服務器。 虛擬服務器的體系結構如圖所示,一組服務器通過高速的局域網或者地理分布的廣域網相互連接,在它們的前端有一個負載調度器(…

    2017-05-08
  • 關于linux的小小心得

    1、命令行歷史  history(history顯示當前終端的歷史記錄)    (1) 保存你輸入的命令歷史。 可以用它來重復執行命令    (2) 登錄shell時, 會讀取命令歷史文件中記錄下的命令 ~/.bash_history    (3)登錄進shell后新執行的命令只…

    Linux干貨 2017-07-15
  • GlusterFS測試報告-01

    一、GlusterFS基礎環境的介紹 1、關于GlusterFS文件系統和架構的介紹 http://jingyan.baidu.com/article/046a7b3ef65250f9c27fa9d9.html 2、實驗的目的 a. 利用多臺性能較低并且老舊的服務器,實現企業的云盤功能 b. GlusterFS服務端和客戶端的部署和配置 c. 實現Glust…

    Linux干貨 2016-07-22
  • Linux 發展史

    Linux 發展史 一、Linux 系統概述     首先大家需要明白,Linux 只是內核,沒有應用程序,如果想有應用程序就需要GNU 組織來提供應用程序,GNU其實就是一個開源組織,這就要說GNU 和GPL 的概念了,其實GNU可以看作就是軟件行業的共產黨組織 而GPL 就是共產黨宣言 為全人類服務。所以說GNU 和 LIN…

    Linux干貨 2016-10-19
  • 淺談DNS基本原理以及實現方法(二)

             DNS作為互聯網服務的一個基礎型服務,了解和掌握DNS服務的原理和配置將是每一個運維人員必備的技能,這就如同闖蕩江湖的俠客不但要有的招式,還要懂的運用這些招式的心法一樣,接下來我將從DNS的正反向解析、主從同步、子域授權以及Bind view這四個方面來揭開它神…

    Linux干貨 2015-12-19
  • Linux文件屬性及如何修改文件屬性

    ls -al:顯示文件的文件名與相關屬性并列出所有文件詳細的權限與屬性   dr-xr-x—.   7       root     root       4…

    2017-04-03
欧美性久久久久