Linux云计算架构-SELinux安全子系统

Linux云计算架构-SELinux安全子系统

1. selinux简介

Linux系统的双保险=SElinux域+SELinux安全上下文

  1. SELinux域:对服务程序的功能进行限制,确保服务程序做不了出格的事。【限制使用的功能】
  2. 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 找出系统中已设置的布尔值。

  1. 查询SELinux中所有与HTTP协议相关的安全策略(什么功能是允许的,什么功能是禁止的)【off为禁止,on为允许】【值为bool类型】
    getsebool -a | grep httpd 【获取SELinux域的有关httpd服务程序的功能开启情况】
  2. 启用或禁用SELinux域中关于某项服务的功能
    setsebool -P httpd_enable_homedirs=on 【修改参数httpd_enable_homedirs,-P为修改后的SELinux策略规则永久生效,且立即生效】【-P参数一定要加】

4. SELinux安全上下文(添加上下文,使得一般文件和目录文件支持某种服务)

  1. 查看文件或者目录的SELinux安全上下文
    -Z查看文件的SElinux安全上下文
    -d查看的文件是目录文件
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  2. 管理文件或者目录的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

  3. 查看某个服务支持的端口的SELinux安全上下文
    semanage port -l | grep http
    在这里插入图片描述

  4. 添加某个服务的端口号的SELinux安全上下文
    semanage port -a -t http_port_t -p tcp 8111
    在这里插入图片描述

理解了以上内容,就可以知道是否启动的SELinux服务,并根据实际情况修改SELinux域和SELinux安全上下文。