1案例1:启用SELinux保护
1.1问题
本例要求为虚拟机server0、desktop0配置SELinux:
- 确保SELinux处于强制启用模式
- 在每次重新开机后,此设置必须仍然有效
1.2方案
SELinux,Security-Enhanced Linux:是由美国NSA国家安全局提供的一套基于内核的增强的强制安全保护机制,针对用户、进程、文档标记安全属性并实现保护性限制。
SELinux安全体系直接集成在Linux内核中,包括三种运行模式:
- disabled:彻底禁用,内核在启动时不加载SELinux安全体系
- enforcing:强制启动,内核加载SELinux安全体系,并强制执行保护策略
- permissive:宽松模式,内核加载SELinux安全体系,只记录不执行
执行getenforce可以查看当前所处的模式。
在disabled模式与enforcing、permissive模式之间切换时,需要重新启动Linux系统;而在enforcing模式与permissive模式之间切换时,不需要重新启动,可以直接执行setenforce 1|0操作。
1.3步骤
实现此案例需要按照如下步骤进行。
步骤一:调整当前的SELinux运行模式
1)查看当前模式
[root@server0 ~]# getenforce
Permissive //表示当前为宽松模式
若上述操作显示的结果为disabled,表示SELinux机制已被禁用,只通过步骤修改固定配置后在重启;若显示的结果为enforcing,表示已经处于强制启用模式。
2)切换enforcing强制启动模式
如果在操作1)中显示的结果为permissive,则执行以下操作切换为强制启用:
[root@server0 ~]# setenforce 1 //强制启用
[root@server0 ~]# getenforce //确认切换结果
Enforcing
如果在操作1)中显示的结果为disabled,则无法使用setenforce命令:
[root@server0 ~]# setenforce 1 //强制启用
[root@server0 ~]# getenforce //确认切换结果
Enforcing
步骤二:为SELinux运行模式建立固定配置
1)修改配置文件/etc/selinux/config
[root@server0 ~]# vim /etc/selinux/config
SELINUX=enforcing
.. ..
2)重启验证结果
[root@server0 ~]# reboot
.. ..
[root@server0 ~]# getenforce
Enforcing