1.selinux 概述

SELinux( Security Enhanced Linux 安全性增强的Linux),由美国国家安全局 NSA(National Security Agency)开发,构建与 Kernel 之上,拥有灵活的强制性访问控制结构,主要用在提高 Linux 的安全性,提供强健的安全保证,可以防御未知攻击,据称相当于 B1 级的军事安全性能(信息安全评估标准)!

信息安全评估标准:4(D,C,B,A),7 个级别:D,C1,C2,B1,B2,B3,A Selinux 已经整合到了 2.6Kernel 以上的版本中 uname -r

传统的 Linux 在没有 Selinux 保护的时候,倘若运行于之上的服务器被骇客攻陷,其服务器最高权限就可能随之丧失,但是倘若有了 SElinux 的保护,入侵的也只有服务本身,整个服务器的最高权限依然还健在!

一句话熟悉 Selinux 的作用:增强 Linux 系统安全性,一个例子:那么是我运行的 Apache 服务器被入侵,也只是入侵到了我 httpd 这个服务,可以把它禁锢到这里(相当于整个服务器运行了 httpd,入侵httpd 而已),而系统的整个权限依然正常!

2.Selinux 特点

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

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

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

进程 vim,只可以读标签为 T1 的文件a.txt T1 b.txt T2

3.Selinux 工作原理

Subject 进程你要干嘛,你得问 selinux, selinux 去读一下数据库,按规则你不能执行或能执行。

[root@benet63 ~]# rpm -qa | grep selinux #selinux 关软件包,默认已经安装

[root@benet63 ~]# ls /etc/sysconfig/selinux #配置文件位置[root@benet63 ~]# getenforce #查看当前 selinux 的运行状态

[root@benet63 ~]# vim /etc/sysconfig/selinux #编selinux 配置文件,启用 selinux

4.Selinux 状态切换

[root@benet63 ~]# setenforce 0#enforcing 切换为permissive[root@benet63 ~]# getenforce

[root@benet63 ~]# setenforce 1 #permissive 切换为 enforcing

[root@benet63 ~]# getenforce

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐