SElinux详解

**

SELinux基本概念

**

  • SELinux(Security-Enhanced Linux,安全增强型Linux),相当于内核插件,是可保护你系统安全的额外机制。
    在某种程度上,它可以被看作是与标准权限系统并行的权限系统。在常规模式中,以用户身份运行进程,并且系统上的文件和其他资源都设置了权限(控制哪些用户对哪些文件拥有哪些访问权,SElinux的另一个不同之处在于,若要访问文件,你必须具有普遍访问权限和SElinux访问权限。
    在无SElinux保护时,恶意人员可以尝试利用web服务器中的安全漏洞强行进入系统。如果成功,将会控制以用户apache身份运行的进程,这时再由一个本地安全漏洞就可能使攻击者获得超级用户的访问权限

**

SElinux模式

**

强制模式enforcing:SElinux主动拒绝访问尝试读取类型上下文未tmp_t的web服务器。在强制模式中,SElinux既记录冲突,也强制执行规则。
许可模式permissive:通常用于对问题进行故障排除。在许可模式下,即使没有明确规则,SElinux也允许所有交互,并且记录所有被拒绝的交互。此模式可以用于确定你是否有selinux问题,无需重新引导即可从强制模式转为许可模式,或者再从许可模式转回强制模式。
禁用模式disabled

**

如何更改SELinux的模式

**
SElinux详解_第1张图片
在配置文件中修改SElinux的状态
SElinux详解_第2张图片
修改以后要重启,否则无效

**

更改安全上下文

所有的操作系统访问控制都是主体和客体的相关访问控制属性,在SELINUX,访问控制属性称为安全上下文安全上下文是一个简单的、一致的访问控制属性,所有客体(文件,进程间通信,通信管道,套接字,网络主机等)和主体(进程)有一个和客体和他们相关的单一安全上下文。

准备工作: 在虚拟机中安装vsftpd和lftp,开启vsftpd服务,并将selinux开机启动的状态改为enforcing

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

SElinux详解_第3张图片

  • 临时更改安全上下文:

先更改匿名用户的家目录,开启vsftpd服务
在这里插入图片描述
此时发现不能访问目录中的文件
在这里插入图片描述
更改安全上下文

chcon -t public_content_t file 文件名

SElinux详解_第4张图片
再次使用lftp访问,发现可以访问到目录
SElinux详解_第5张图片
但是这种更改的方式重启服务以后安全上下文会恢复回默认的default_t, 通过lftp也访问不到家目录中的内容

永久性更改安全上下文

通过命令可以查看目录以及目录中文件的安全上下文

semanage fcontext -l | grep /var/ftp

SElinux详解_第6张图片
更改安全上下文命令:

semanage fcontext -a -t public_content_t '/zeng(/.*)?'

我们可以通过ls -Zd命令查看是否生效,所以执行命令restorecon -FvvR /zeng让他生效

SElinux详解_第7张图片
通过lftp也可以访问到
SElinux详解_第8张图片
**

selinux为强制状态下用户操作权限管理

**
管理SELinux的布尔值

getsebool     # 显示布尔值
setsebool    # 修改布尔值
setsebool -P ftpd_anon_write on/1  #开启对应的服务
getsebool -a | grep ftp # 查看ftp服务的bool值

首先修改配置文件,开启上传和下载服务,重启vsftpd服务
在这里插入图片描述
修改默认发布目录权限
在这里插入图片描述
开启服务对应的值
先使用getsebool命令查看服务是否开启
SElinux详解_第9张图片

开启对应的服务

setsebool -P ftpd_anon_write on           #  -P表示永久

SElinux详解_第10张图片
更改默认发布目录的安全上下文,增加读写权限

chcon -t public_content_rw_t  /var/ftp/pub           # 增加读写权限

在这里插入图片描述
现在就完成了在selinux=enforcing的状态下也可以顺利的上传和下载文件了
SElinux详解_第11张图片

本地用户同理

在配置文件中开启本地用户的服务功能
SElinux详解_第12张图片
修改ftp相应服务的bool值
SElinux详解_第13张图片
使用本地用户student进行测试
SElinux详解_第14张图片

你可能感兴趣的:(Linux,SELinux详解)