SElinux (Security Enhanced Linux 安全強化的linux)

關鍵字:DAC、 MAC、 Subject、 Object、 Policy、 Security Context、 Identify(root、system_u、user_u)、 Role(object_r、system_r)、 Type(type、domain)

 一般用途:

在DAC的基礎上增強對文件的權限的訪問,主要是針對網絡訪問文件。

SElinux是整合到kernel的一個module,一般使用的RHEL系統的distribution都包括了SElinux直接啟用即可。

具體selinux操作請見下:

具體的selinux支持的三種模式:

enforcing:強制模式

permissive:寬容模式

disabled:關閉selinux

如果要啟用selinux請務必不能配置成disabled。

首先檢查selinux狀態,用指令getenforce或者查看配置文件/etc/selinux/config相關的具體配置就兩行,SELINUX=enforcing/permissive/disabled,SELINUXTYPE=targeted/strict。

如果要啟用selinux請在linux啟動的時候kernel啟動的時候一定不能在kernel /vmlinuz-2.6.xx-xx.xxx ro root=/dev/xxx 後面有selinux=0出現。不然同樣不能使用selinux。

查看selinux的Policy請用指令sestatus具體參數vb。切換selinux在enforcing和permissive模式之間敬請用setenforce指令,只有兩個數字參數,0、1,分別代表permissive和enforcing。更改selinux的Policy也同樣可以編輯配置文件/etc/selinux/config文件,具體配置請見文件注釋。

怎樣重新設置selinux的安全性文本呢?請用指令chcon具體參數Rtur --reference,具體用法請man或者info或者chcon --help。何為selinux的安全性文本呢?利用ls -Z指令即可查看各文件的selinux安全性文本。

使各文件的selinux安全性文本還原成預設的值,請用指令restorecon,參數Rv。由於文件的複製,或其他的方式導致文件的selinux安全性文本錯誤,導致不可使用。用restorecon即可更改為預設值。

selinux在發生錯誤的時候使用的兩個服務:即setroubleshoot、auditd。setroubleshoot服務的日誌寫入/var/log/message文件,二auditd服務寫入/var/log/audit/audit.log日誌文件。具體的兩個服務只用到的相關指令是sealert和audit2why具體的使用方法請google或者man、info

targeted的Policy使用的規則查看,請用指令seinfo參數Atrub,查詢到相關的類別或者是booleans時,想知道更詳細的規則,請使用sesearch指令,參數atb。查詢所有booleans值的指令getsebool。booleans值的修改請用setsebool指令。具體參數請用“指令 --help”或者使用man、info等。

預設目錄的安全性文本的查詢和修改,請使用指令semanage具體的使用規則請man。

本次使用到的主要指令有:getenforce、sestatus、chcon、restroecon、sealert、audit2why、seinfo、sesearch、getsebool、setsebool、semanage