SELinux(Security-Enhanced Linux) 是美国国家安全局(NSA)在linux开源社区的帮助下开发的一个强制访问(MAC:Mandatory Access Control)子系统,linux系统上试用SELinux技术的目的是为了让各个服务进程都收到约束,使其获取到本应获得的资源。
SELinux是为了杜绝软件(或进程)在后台默默做了不应该自己做的事,比如一个美图软件,当你使用它给照片进行美颜的时候,它却在后台默默监听着浏览器中输入的密码信息,而这显然不应该是它应做的事情。它能够从多方面监控违法行为:对服务程序的功能进行限制(SELinux域限制可以确保服务程序做不了出格的事情);对文件资源的访问限制(SELinux安全上下文确保文件资源只能被其所属的服务程序进行访问)。即时有黑客入侵,也没法使用系统内的服务程序进行越权操作。
selinux称为系统内核级防火墙。
SElinux安全体系是直接集成在linux的内核中,有三种运行模式
运行模式 | 实际意义 |
---|---|
disabled | 彻底禁用,内核在启动时不加载selinux安全体系 |
permissive | 宽松模式, 内核加载selinux安全体系,只作记录,不执行策略(服务和功能可以使用,但会收到警告信息,可视为对安全的提示) |
enforcing | 强制启用,内核加载selinux安全体系,并强制执行保护策略 |
[root@MiWiFi-R4AC-srv ~]# vi /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=enforcing #SELINUX状态设置,可设置为enforcing、permissive、disabled三个值中的一个值
# SELINUXTYPE= can take one of three values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
setenforce 0 临时关闭防火墙
setenforce 1 #临时打开
getenforce #查看selinux状态
临时生效,系统重启后失效
/etc/selinux/config #centos 7中有这个文件,UOS中没有
/etc/sysconfig/selinux
配置SELinux为enforcing、permissive、disabled三个值,修改后必须重启系统才能生效。