配置CentOS SELinux策略可以通过以下步骤进行:
1. 查看SELinux状态
首先,确认SELinux是否启用以及其当前模式(Enforcing、Permissive或Disabled)。
getenforce
- Enforcing:SELinux强制执行策略。
- Permissive:SELinux记录违规行为但不阻止它们。
- Disabled:SELinux完全禁用。
2. 修改SELinux模式
如果需要更改SELinux模式,可以使用setenforce
命令临时更改,或修改配置文件永久更改。
临时更改
setenforce 0 # 设置为Permissive模式 setenforce 1 # 设置为Enforcing模式
永久更改
编辑/etc/selinux/config
文件:
sudo vi /etc/selinux/config
找到以下行并进行修改:
SELINUX=enforcing # 或者 permissive
保存并退出编辑器,然后重启系统以使更改生效。
3. 查看SELinux策略
查看当前加载的SELinux策略模块:
sestatus
查看所有可用的SELinux策略模块:
ls /etc/selinux/targeted/policy/policies/
4. 安装新的SELinux策略模块
如果需要安装新的策略模块,可以使用semodule
命令。
安装模块
sudo semodule -i module.pp
列出已安装的模块
sudo semodule -l
删除模块
sudo semodule -r module_name
5. 自定义SELinux策略
如果需要自定义SELinux策略,可以使用audit2allow
工具从SELinux拒绝日志中生成自定义策略模块。
生成自定义策略
-
启用SELinux审计日志:
sudo setsebool -P httpd_can_network_connect 1
-
查看SELinux拒绝日志:
sudo ausearch -m avc -ts recent
-
使用
audit2allow
生成策略模块:sudo ausearch -m avc -ts recent | audit2allow -M my_custom_policy
-
安装生成的策略模块:
sudo semodule -i my_custom_policy.pp
6. 验证策略更改
最后,验证策略更改是否生效。可以通过查看SELinux拒绝日志或使用sestatus
命令来确认。
sudo ausearch -m avc -ts recent
如果没有新的拒绝日志,说明策略更改已生效。
通过以上步骤,你可以配置和管理CentOS系统上的SELinux策略。根据具体需求,可以选择合适的策略模块并进行自定义。