SElinux概述及状态切换

Selinux 概述

SELinux(Security Enhanced Linux 安全性增强的Linux),由美国国家安全局NSA开发,构建与Kernel之上,拥有灵活的强制性访问控制结构,主要用于提高Linux的安全性,提供强健的安全保证,可以防御未知攻击。

传统的Linux在没有Selinux保护的时候,倘若运行于之上的服务器被骇客攻陷,其服务器最高权限就可以随之丧失,倘若有了SElinux的保护,入侵的也只有服务本身,整个服务器的最高权限依然还健在。比如黑客入侵了Apache服务器,也只是入侵了httpd这个服务,可以把它禁锢到这里,而系统的整个权限依然正常。

Selinux特点

MAC (Mandotor Access Control) 对访问控制彻底化,对所有的文件,目录,端口的访问,都是基于策略设定的,这些策略都是由管理员设定的,一般用户无权限管理和更改。

RBAC(Role Base Access Control) 对用户只赋予最小权限,对于用户来说,被划分一些role,即使是root用户,你要是不在sysadm_r里,也不能实行sysadm_t的管理操作

TE(Type Enforcement)对进程只赋予最小运行权限,TE的概念在SElinux中非常重要,其特点是对文件赋予一个type的标签类型,对进程赋予一个叫domain的标签,可以规定某个标签进程只能执行某类文件,例如进程VIM ,只可以读标签为T1的文件。

Selinux的运行模式

enforcing #强制模式,只要selinux不允许,就无法执行

permissive #警告模式,你可以执行,但你所做事件全部记录

Selinux工作原理

SElinux概述及状态切换_第1张图片

Subject(应用或进程)试图访问一个Object(文件,目录或端口),需要经过SELlinux,SELinux会查询策略数据库,允许或拒绝,拒绝的日志/var/log/messages

Selinux 配置文件及状态切换

vim /etc/sysconfig/selinux  #编辑Selinux配置文件

SELINUX=enforcing #启用selinux,启用后需要重启系统,初次开启,需要更新文件标签,耗时。


getenforce  #查看当前selinux的运行模式

setenforce 0  #切换为 permissive 警告模式

setenforce 1  #切换为 enforcing 强制模式

谈谈对selinux的理解

应用程序或进程试图访问一个文件目录或端口的时候,需要经过selinux,selinux会查询规则数据库,允许或拒绝。
selinux域:限制了服务的功能,selinux安全上下文:确保资源只被所属的服务进行访问。
例如黑客黑掉了一个nginx服务,因为selinux的规则策略保护,他只是入侵了nginx的服务,而整个系统权限依然正常。
selinux 有2种运行模式,一种是enforcing强制模式,只要selinux规则不允许的,就不能执行,一种是permissive警告模式,可以执行,但所做事件全部记录。

你可能感兴趣的:(linux)