SELinux(Security-Enhanced Linux)是CentOS中的一項安全模塊,它提供了強制訪問控制(MAC)功能,以增強系統的安全性。以下是管理SELinux的一些基本步驟:
首先,你需要檢查SELinux的當前狀態:
sestatus
輸出示例:
SELinux status: enabled
SELinuxfs mount: /sys/kernel/security
SELinux root directory: /etc/selinux
Loaded policy name: targeted
Current mode: enforcing
Mode from config file: enforcing
Policy MLS status: enabled
Policy deny_unknown status: allowed
Max kernel policy version: 31
SELinux有三種運行模式:enforcing(強制模式)、permissive(寬容模式)和disabled(禁用模式)。
setenforce 0
或者修改配置文件 /etc/selinux/config:
SELINUX=permissive
setenforce 1
或者修改配置文件 /etc/selinux/config:
SELINUX=enforcing
SELinux策略定義了哪些操作是允許的,哪些是禁止的。你可以通過以下方式管理策略:
seinfo -l
yum install policycoreutils-python
checkmodule -M -m -o mymodule.mod mypolicy.te
semodule_package -o mymodule.pp -m mymodule.mod
semodule -i mymodule.pp
SELinux日志記錄了所有被拒絕的操作。你可以通過以下命令查看日志:
grep avc /var/log/audit/audit.log
或者使用 ausearch 工具:
ausearch -m avc -ts recent
當遇到SELinux相關的問題時,可以使用 audit2why 和 audit2allow 工具來幫助調試和生成自定義策略模塊。
yum install policycoreutils-python
ausearch -c 'httpd' --raw | audit2why
ausearch -c 'httpd' --raw | audit2allow -M my_httpd_policy
semodule -i my_httpd_policy.pp
雖然有時為了測試或特定需求可能需要禁用SELinux,但強烈建議在生產環境中保持SELinux啟用,以獲得最佳的安全性。
通過以上步驟,你可以有效地管理和配置CentOS中的SELinux。