selinux

自由決定的訪問控制:基於用戶和組的模型,標準的用戶//其他權限安全模型

強制訪問控制:基於對象並由更加複雜的規則控制,SELinux安全模型

SELinux:用於確定哪個進程可以訪問哪些文件、目錄和端口的安全規則

SELinux上下文:每個文件、進程和端口都具有特別的安全標籤,策略用它來確定某個進程能否訪問文件、目錄和端口

SELinux上下文的種類:用戶、角色、類型、敏感度

 目標策略根據類型上下文來制定自己的規則,類型上下文以_t結尾

eg:

   httpd_tweb服務器的類型上下文

   http_port_tweb服務器的端口類型上下文

   httpd_sys_content_t/var/www/html中的文件和目錄的類型上下文

   tmp_t/tmp /var/tmp 中的文件和目錄類型的上下文

pslscpmkdir都是用-Z來顯示或設置SELinux上下文

SELinux的三種模式:

  強制模式enforcing:不僅記錄而且提供保護,主動拒絕訪問嘗試tmp_t 的文件

 許可模式permissive:用於對問題進行故障排除,會記錄在強制模式下拒絕的交互,暫時允許訪問selinux正在限制的內容

  禁用模式disable:完全禁用selinux,需重啓系統才能徹底禁用,或切換爲另一模式

getenforce:顯示當前使用的有效selinux模式

setenforce:修改當前的selinux模式,0 表示許可模式,1表示強制模式

  另一種方法:啓動時將參數傳遞給內核,

傳遞內核參數enforcing=0,系統進入許可模式

enforcing=1,系統進入強制模式

指定selinux=0參數,表示禁用SELinux

        selinux=1參數,表示啓用SELinux

設置默認SELinux模式

  使用配置文件/etc/selinux/config來更改默認的SELinux模式

  傳遞selinux=enforcing=內核參數會覆蓋在/etc/selinux/config中的任何默認值

更改SELinux上下文

   通常父目錄的上下文會分配給新建文件(適於vim,touch,cp),若文件是在其他位置創建並且權限得以保留,那麼原始SELinux上下文將不會發生改變(mv,cp –a等)

  chcon:將文件上下文更改成已指定爲該命令參數的上下文,-t指定上下文的類型

      eg:     chcon  –t  httpd_sys_content_t  /virtual

 restorecon:更改selinux上下文的首選方法,不會明確指定上下文,使用selinux策略中的規則來確定應該是那種上下文

      eg:     

定義SELinux默認文件上下文規則

  Semanage  fcontext 命令用於顯示或修改restorecon命令用來設置默認文件上下文的規則,使用擴展正則表達式來指定路徑和文件名,fcontext規則中最常用的擴展正則表達式是(/.*?:匹配/後跟任意數量的字符,它將會匹配在表達式前面列出的目錄並遞歸,restorecon命令是policycoreutil軟件包的一部分,semanagepolicycoreutil-python軟件包的一部分

eg:semanage  fcontext  -a -t  httpd_sys_content_t  ‘/virtual(/.*)?’

     restorecon /virtual

SElinux布爾值

  是更改SELinux策略行爲的開關,可以啓用或禁用的規則

  getsebool:顯示selinux布爾值及其當前值

  setsebool:修改selinux布爾值

        -P 修改selinux的策略,並使修改永久保留

semanage  boolean -l:顯示布爾值是否爲永久值,並提供該布爾值的簡短描述

semanage  Boolean  -l –C:僅列出進過本地修改的SELinux布爾值狀態     

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