第七章 Selinux

7.1 DAC與MAC

  DAC:Linux自己的安全機制叫做DAC(Discretionary Access Control,自主訪問控制)

  MAC:SELinux實現的功能叫做MAC(Mandatory Access Control,強制訪問控制機制)

7.2 selinux的工作級別與機制

  SELinux:Secure Enhanced Linux,工作於Linux內核中。

  SELinux有兩種工作級別:

    strict:嚴格級別,每個進程都受到selinux的控制

    targeted:僅有限個進程受到selinux的控制

      只監控容易被***的進程

  SELinux工作機制:

    SELinux採用類似沙箱(sandbox)的方式來運行進程:

      subject operation object

      subject:進程

      object:可以是進程,可以是文件

        適用於文件的操作:open,read,write,close,chown,chmod

    SELinux爲每個文件提供了安全標籤,也爲進程提供了安全標籤:

      user:role:type

      user:SELinux的user

      role:角色

      type:類型

    SELinux規則庫:

      規則:定義了哪種域能訪問哪種或哪些種類型內的文件

      遵循“法無授權即禁止”的規則,也就是說沒有明確授權的所有操作均禁止

7.3 selinux的配置

  SELinux是否啓用:在/etc/selinux/config文件中定義

  SELinux的狀態:

    enforcing:強制,每個受限的進程都必然受限

    permissive:啓用,每個受限的進程違規操作時不會被禁止,但會被記錄於審計日誌

    disabled:禁用

    相關命令:

      getenforce:獲取selinux當前狀態

      setenforce 0|1

        0:設置爲permissive

        1:設置爲enforcing

      此設定僅當前有效,重啓系統後無效

      配置文件:/etc/sysconfig/selinux,/etc/selinux/config

        SELINUX={disabled|enforcing|permissive}

  給文件重新打標籤:

    chcon:change context,改變上下文

    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]

      例:

getsebool -a
getsebool ftp_home_dir

    setsebool

語法:setsebool [ -PV] boolean value | bool1=val1 bool2=val2 ...
-P:把設置添加進規則庫,使之永久生效,若不使用此選項則只當前有效,重啓系統會失效


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章