ENGINEER 001:SELinux安全机制
一、系统安全保护
1、SELinux安全机制
(1)SELinux概述
Security-Enhanced Linux (安全增强版的Linux)
---美国NSA国家安全局主导开发。一套增强Linux系统安全的强制访问控制体系;
---集成到Linux内核(2.6及以上)中运行
---RHEL7基于SELinux体系针对用户、进程、目录和文件提供了预设的保护策略,一级管理工具。
当年把Linux服务器给攻击了,导致数据库的数据被窃取了,引起了国家安全局的重视。之后,SELinux诞生了。目标是:实行强制访问控制体系。
(SELinux连root都要遵守的规则,不能逾越这道红线,权限在内核当中,没有权力去卸载它。)危险的操作,或SELinux检测到比较危险的链接、进程活动不太稳定,SELinux直接有灭杀权力,不需要通过任何人的允许,包括root的允许。连root都可以杀。Root也可以把SELinux的状态改成permissive、disabled. 默认是enforcing(强制)
(2)SELinux运行模式的切换
SELinux的运行模式
---enforcing(强制)、permissive(宽松)
---disabled(彻底禁用)
切换运行模式
---临时切换:setenforce 1|0
---固定配置: /etc/selinux/config 文件
[root@server0~]# getenforce //查看当前模式,查看selinux的当前状态
enforcing/permissvie/disabled
[root@server0~]# vim /etc/selinux/config
SELINUX=enforcing //设置为强制启用
... ...
[root@server0~]# reboot //重启系统以切换模式
关闭SELinux只有一个:root
以后改为permissive可以应对所有的服务等,不会管你怎么访问。
到了hadopp、dotor阶段ELK和SELinux有一些不兼容的,到那时,直接把SELinux给disabled(彻底禁用)
[root@server0~]# getenforce //查看当前模式,查看selinux的当前状态
enforcing
[root@server0~]# setenforce 0 //0代表关闭 (目前设置为permissive)
permissive
[root@server0~]# setenforce 1 //1代表强制执行
enforcing
Engineer这个阶段,建议把Enforcing、permissive开了,第三阶段需要把它disabled关了。
Enforcing<--->permissive,可以自由切换。
Enforcing、permissive--->变为disabled(需要关机重启,才能实现)
Disabled--->变为Enforcing、permissive(也需要关机重启)
真机,是disabled状态。Disabled--->变为Enforcing、permissive(也需要关机重启)再满血复活。
下次,开机又会变为enforcing(强制),默认的了。
如果,让它记住,永远是permissive状态?---改配置文件。
[root@server0~]# ls /etc/selinux/config
/etc/selinux/config #此文件是,专门设置SELinux状态的配置文件。把状态写入到,修改此文件即可。
固定配置
[root@server0~]# vim /etc/selinux/config
SELINUX=permissive
进入之后,会是如下:
SELINUX=enforcing --->permissive #SELinux 运行的状态,改为enforcing、permissive
SELINUXTYPE=targeted #默认模式,千万不要改!不然开不了机。
补充快捷键:
按i键进入插入模式,删了,再改。
开关功能。前面是个功能=后面是个值。
补充:vim 命令模式
C(大写):删除光标之后到行尾,并且进入插入模式。 #常用
命令,掌管的是当前状态。
文件,影响的是下一次开机,和当前是没有关系的。
案例1:启用SELinux保护
为虚拟机server0、desktop0配置SELinux
(1)确保SELinux处于强制启用模式
(2)在每次重新开机后,此设置必须仍然有效