Linux云计算架构-SELinux安全子系统
文章目录
Linux云计算架构-SELinux安全子系统
1. selinux简介
Linux系统的双保险=SElinux域+SELinux安全上下文
- SELinux域:对服务程序的功能进行限制,确保服务程序做不了出格的事。【限制使用的功能】
- SELinux安全上下文:确保文件资源只能被其所属服务程序进行访问。【限制功能的合理使用】
在使用SELinux安全子系统的时候,可以从限制资源使用的角度去理解问题,首先看有没有这个功能,其次是这个功能有没有正确的被使用。
2. SELinux服务的配置模式
- selinux的配置模式
enforcing
【强制启动安全策略模式,拦截服务的不合法请求】
permissive
【若服务器越权访问,发出警告但不强制拦截】
disabled
【对越权行为,不警告也不拦截】 - 配置文件及命令
cat /etc/selinux/config
【查看selinux主配置文件的selinux的配置模式】【默认为:enforcing
】【重启依然生效】
getenforce
【获取当前的SELinux服务的运行模式】
setenforce 0
【临时修改SELinux服务的运行模式,0为禁用,1为启用】【禁用enforcing,即相当于启用permissive】【0为启用permissive,1为启用enforcing】【临时生效,重启失效】
一般SELinux安全子系统默认的配置模式是Enforcing
3. SElinux域(开启或禁用某个功能)
在这里先介绍布尔值的概念。布尔值是SELinux中功能的开关设置。可通过命令getsebool -a
找出系统中已设置的布尔值。
- 查询SELinux中所有与HTTP协议相关的安全策略(什么功能是允许的,什么功能是禁止的)【
off
为禁止,on
为允许】【值为bool类型】
getsebool -a | grep httpd
【获取SELinux域的有关httpd服务程序的功能开启情况】 - 启用或禁用SELinux域中关于某项服务的功能
setsebool -P httpd_enable_homedirs=on
【修改参数httpd_enable_homedirs,-P为修改后的SELinux策略规则永久生效,且立即生效】【-P参数一定要加】
4. SELinux安全上下文(添加上下文,使得一般文件和目录文件支持某种服务)
-
查看文件或者目录的SELinux安全上下文
-Z
:查看文件的SElinux安全上下文
-d
:查看的文件是目录文件
-
管理文件或者目录的SELinux安全上下文
①添加SELinux安全上下文(目录和目录下的所有文件都要添加)
semanage fcontext -a -t httpd_sys_content_t /home/wwwroot
【目录】
semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/*
【目录下所有文件】
②让SELinux安全上下文立即生效
restorecon -Rv /home/wwwroot/
【-Rv参数对指定的目录进行递归操作,以及显示SELinux安全上下文的修改过程】
③一步添加selinux安全上下文并立即生效
chcon -R -t http_sys_content_t /home/wwwroot
-
查看某个服务支持的端口的SELinux安全上下文
semanage port -l | grep http
-
添加某个服务的端口号的SELinux安全上下文
semanage port -a -t http_port_t -p tcp 8111
理解了以上内容,就可以知道是否启动的SELinux服务,并根据实际情况修改SELinux域和SELinux安全上下文。