1.SELinux的运行模式

image.png

2.SELinux的安装与启动管理

2.1SELinux的安装

SELinux默认已安装好,但是很多的SELinux管理工具需要我们手工安装

  1. yum -y install setroubleshoot
  2. yum -y install setools-console

2.2SELinux的启动管理

通过打开SELinux的配置文件进行启动和关闭
vim /etc/selinux/config
image.png
enforcing:强制模式,代表SELinux正常运行,所有的策略已经生效
permissive:宽容模式,代表SELinux已经启动,但是只会显示警告信息,而实际并不会实际限制进程访问文件或目 录资源
disable:关闭,代表SELinux被禁用了

如果从强制模式、宽容模式切换到关闭模式,反之 则必须重启linux系统才能生效,但是强制模式和宽容模式相互切换不需要重启

2.2.1查看运行模式命令

  1. getenforce

image.png

2.2.2 修改SELinux的运行模式命令

setenforce 选项

选项:
0:宽容模式
1:强制模式
image.png

2.2.3查询SELinux的策略

sestatus

image.png

3.SELinux安全上下文管理

3.1查看安全上下文命令

ls -Z

image.png

查看文件的上下文就是使用“ls -Z 文件名” 当然,要想查看目录的安全上下文,记得加“-d” 代表显示目录本身,而不是显示目录下的子文件
image.png

查看进程的安全上下文,需用ps即可
image.png

只要进程和文件的安全上下文匹配,该进程就可以访问该文件资源
image.png

image.png
image.png

3.2修改和设置安全上下文

chcon [选项] 文件或目录

选项:
-R 递归,当前目录和目录下的所有子文件都设置
-t 修改安全上下文的类型字段,最常用
-u 修改安全上下文的身份字段
-r 修改安全上下文的角色字段

restorecon [选项] 文件或目录

选项:
-R 递归,当前目录和目录下的所有子文件同时恢复
-v 把恢复过程显示到屏幕上

image.png

image.png

image.png

image.png

4. SELinux日志查看

4.1auditd的安装与启动

centos7 默认安装和自启动
image.png

4.2auditd日志的使用

auditd会把SELinux的信息记录在/var/log/audit/auditd.log
image.png

4.2.1 audit2why命令

分析audit.log日志文件,并分析SELinux为什么会拒绝进程的访问

audit2why < 日志文件名

4.2.2 audit2allow命令

分析日志,并提供允许的建议规则或拒绝的建议规则

audit2allow -a 指定日志文件名

image.png

4.2.3 sealert命令

和以上类似

sealert -a 指定文件名

5.SELinux的策略规则

5.1策略的查看

5.1.1 seinfo命令

只能看到所有规则的名称

seinfo -b
#-b 查看布尔值,也就是查询规则名称

image.png

5.1.2 sesearch命令

sesearch [选项] [规则类型] [表达式]

选项:
-h 显示帮助信息
规则类型:
—allow 显示允许的规则
—neverallow 显示从不允许的规则
—all 显示所有的规则
表达式:
-s 主体类型:源类型
-t 目标类型:目标类型
-b 规则名:
image.png

image.png
可以清楚的看到httpd_t和httpd_sys_content_t类型是匹配的

5.2 策略规则的开启与关闭

5.2.1 查询策略规则是否开启

查看哪些规则是启用的,哪些规则是关闭的

getsebool [选项] [规则名]

选项:
-a:列出所有规则的开启状态
image.png

5.2.2 修改规则的开启状态

查询到规则的开启状态,使用setsebool命令就可以开启和关闭某个规则,我们应该先通过sesearch命令确定这个规则的作用

setsebool [选项] 规则名=[0|1]

选项:
-P 将规则写入配置文件
规则名=0 :该规则关闭
规则名=1 :将规则开启
image.png