SELinux是一个强制访问控制安全框架,主要用于增强linux系统的安全性,SELinux利用系列安全策略来限制程序和用户可访问的资源,以此减少潜在的安全威胁。SELinux的运行模式主要分两种,强制模式和宽容模式具体华纳云为您总结如下。
Enforcing是强制模式,在这种模式下SELinux会强制全部定义的安全策略,如有一个操作违反了这些策略,SELinux就会阻止这个操作甚至是记录下相关信息。这也是SELinux的默认运行模式,提供了最高级别的安全保护。
在Permissive(宽容模式)下,SELinux不会强制执行安全策略,而是允许全部操作执行,但是会记录违反安全策略的行为,可以用于调试和分析安全策略,因为SELinux可以允许管理者观察有哪些操作违反了安全策略但是实际上不会组织这些操作。
宽容模式可以用于调试、策略开发和审计工作。当SELinux在强制模式下组织一些操作时,切换到宽容模式可以让管理者能够识别哪些安全策略造成的阻止行为。在开发新的SELinux策略时,宽容模式也可以让管理者可以测试策略,并且不会影响系统的正常运行。而在审计工作中,宽容模式能够帮助管理者审计系统日志,来确定所需调整的安全策略。
切换SELinux模式的方法,查看SELinux模式:
Getenforce
把SELinux设置成宽容模式:
sudo setenforce 0
把SELinux设置回强制模式:
sudo setenforce 1
需要注意的是,setenforce命令只能影响当前的SELinux模式,重启后的SELinux会回复到配置文件中设置的模式。如需要永久性的更改SELinux模式,还要编辑/etc/selinux/config文件,并在其中设置SELINUX=enforcing或SELINUX=permissive,然后重启系统。
如可以使用超级用户权限,使用文本编辑器打开SELinux配置文件。可使用‘ nano ’或‘ vi ’
Sudo nano /etc/selinux/config
或:
Sudo vi /etc/selinux/config
查找出以SELINUX=开头的行,这行会决定SELinux在引导时的启动模式。将值改为enforcement:
SELINUX =enforcing
保存文件并退出文本编辑器,如果使用是“nano”可以按“Ctrl + X”,然后按“Y”来确认保存更改,然后按“Enter”来确认文件名。在重启系统让其生效。
重启后,如何检查SELinux当前是否处于强制模式?在终端上使用getenforce命令可以查看SELinux的当前模式:
Getenforce
输出结果将指示SELinux的当前模式:如果返回enforcement,则SELinux处于enforcement模式,所有策略都被强制执行。
如果它返回Permissive,则SELinux处于许可模式,并且正在记录策略,但没有强制执行。
如果它返回Disabled,则SELinux完全被禁用。
这个命令用于检查系统上SELinux的状态是快速而直接的。