SELinux

1.SELinux介绍

(1) SELinux是Security Enhanced Linux的缩写,意思是安全强化的linux,设计的目标是避免资源的误用。SELinux是通过MAC(强制访问控制)的方式来控制进程,其控制的主体是进程,目标是该进程能否读取的文件资源。MAC针对特定的进程和特定的文件资源进行权限控制。

(2)SELinux是在进行程序,文件等权限设置依据的一个内核模块。由于启动网络服务的的也是程序,因此SELinux也是能够控制网络服务能否访问系统资源的。

(3)SELinux在运行中进程能否访问文件资源,重点在于策略内的规则以及实际的安全上下文。进程通过SELinux策略内的规则后,与文件资源的安全上下文进行比较,比较正确则可以访问文件资源;反之则访问失败。

2.SELinux的模式

getenforce      ##查看selinux状态
setenforce 0|1  ##SELinux模式在permissive与enforcing之间转换
0 permissive    ##警告状态
1 enforcing     ##强制状态

这里写图片描述

SELinux模式调整
vim /etc/sysconfig/selinux

SELINUX=
enforcing       ##强制模式:SELinux正在运行中,且已正确开始限制domain/type了。
permissive      ##警告模式:SELinux正在运行中,不过仅有警告信息并不会实际限制domain/type的访问。该模式可以用来调试SELinux
disabled        ##关闭模式:SELinux没有实际运行。

注意:当在/etc/sysconfig/selinux文件内修改selinux的工作模式后,应重启(reboot)系统。

这里写图片描述

3.安全上下文

进程与文件系统的安全上下文必须一致才能顺利访问。

安全上下文的组成:

Identify:role:type
 身份识别:角色:类型

(1)Identify(身份标识)
主要有以下三种:
root:表示root的帐号身份
system_u:表示系统进程方面的表示
user_u:表示一般用户帐号的身份

(2)角色
通过角色可判断数据属于程序,文件资源还是代表用户
object_r:代表的是文件或目录等文件资源
system_r:代表的是进程,一般用户也会被指定为system_r

(3)类型
一个主题进程能不能访问文件资源与类型字段有关。domain与type搭配才能顺利读取文件资源。
type:在文件资源上称为类型
domain:在主题程序上称为域

4.修改安全上下文

(1)安全上下文查看

ls -Z           ##查看目录或文件的安全上下文

(2)临时修改安全上下文

chcon      ##通过直接指定的方式来处理安全上下文的数据。
-R         ##连同该目录下的子目录也修改
-t         ##后面接上安全上下文的字段,如http_sys_content_t
-r         ##后面接上角色,如:system_r
-u         ##后面接身份识别,如system_u

chcon -t public_content_t /westos ##临时修改安全上下文

这里写图片描述

restorecon          ##使用默认的安全上下文来还原
restorecon -RvvF    ##刷新安全上下文,临时修改刷新后不生效

(2)永久修改安全上下文

semanage            ##安全上下文的查询与修改
fcontext            ##主要用于安全上下文
semanage  fcontext -a  ##增加
                   -m  ##修改
                   -d  ##删除
                   -l  ##查询默认安全上下文设置

semanage fcontext -a -t public_content_rw_t '/westos(/.*)?'
##永久修改安全上下文。-a表示添加,-t表示指定类型
restorecon -RvvF /westos/  ##刷新后生效。R表示递归的,vv表示多个文件,F表示刷新

这里写图片描述

5.策略

(1)targeted:针对网络服务限制较多,针对本机限制较少,是默认的策略;
(2)strict:完整的SELinux限制,限制方面较为严格。

6.布尔值的查询与修改

布尔值的种类即是规则。

getsebool -a                    ##查看系统内所有布尔值的设定情况
getsebool -a | grep ftp         ##查看ftp的布尔值
setsebool -P ftp_home_dir on    ##直接将设置值写入配置文件(修改)

这里写图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章