SElinux概述及状态切换

时间:2024-05-21 13:42:25

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 #警告模式,你可以执行,但你所做事件全部记录

disabled #关闭selinux

Selinux工作原理

SElinux概述及状态切换

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

Selinux 配置文件及状态切换

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

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


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

setenforce 0  #切换为 permissive 警告模式

setenforce 1  #切换为 enforcing 强制模式