Linux系统下的SElinux

一、SElinux 对系统的影响

1.什么是 SElinux?
SElinux,内核级加强型防火墙。
SElinux 是强制访问控制(MAC)安全系统,是linux历史上最杰出的新安全系统。对于 linux 安全模块来说,SElinux 的功能是最全面的,测试也是最充分的,这是一种基于内核的安全系统。

2.SElinux 的三种模式

Enforcing 强制(强制模式)SELinux 策略强制执行,基于 SELinux 策略规则授予或拒绝主体对目标的访问
Permissive 宽容(警告模式)SELinux 策略不强制执行,不实际拒绝访问,但会有拒绝信息写入日志
Disabled 禁用(关闭模式)完全禁用SELinux

3.如何管理selinux级别
SElinux开启或者关闭
在配置文件"/etc/sysconfig/selinux"下将"SELINUX=enforcing"改为"SELINUX=disabled",因为SElinux是基于内核的安全系统,所以在设置完成之后需要重启内核,即需要重启电脑才可以生效。
vim /etc/sysconfig/selinux
selinux=disabled ##关闭状态
selinux=Enforcing ##强制状态
selinux=Permissive ##警告状态
在这里插入图片描述

selinux开启或者关闭
getenforce ##查看状态
当selinux开启时, "setenforce"可以设置SElinux的状态,但是只能设置0和1两种,即警告模式或者强制模式。
setenforce 0 警告模式设定
setenforce 1 强制模式设定
在这里插入图片描述
3.如何更改文件安全上下文
查看安全上下文
SElinux会在目录和文件上留下上下文标识
ls -Z ##查看安全上下文

临时更改
chcon -t 安全上下文文件
chcon -t public_content_t /publicftp -R

永久更改
semanage fcontext -l ##列出内核安全上下文列表内容
semanage fcontext -a -t public_content_t /publicftp
restorecon -FvvR /publicftp/

4.如何控制selinux对服务功能的开关
getsebool -a | grep 服务名称
getsebool -a | grep ftp
setsebool -P 功能bool值 on|off
setsebool -P ftpd_anon_write on

二、SElinux对服务的影响

SElinux 是最全面的安全系统,所以会对文件和服务有一定的限制,以下服务以ftp为例。

SElinux 会在文件上做出上下文标识,例如下图所示,在"/mnt"和"/var/ftp/pub"下分别建立文件"file",输入"ls -Z"可以查看文件标识。可以看出,"/mnt/file"为"mnt_t",而"/var/ftp/pub/file"标识为"public_content_t",这样会导致将"/mnt/file"移入"/var/ftp/pub"目录下,连接lftp无法看到这个文件。

SElinux 为了系统的安全,会禁止服务一些危险功能的使用,可以输入"getsebool -a | grep ftp"来查看禁止了ftp服务的哪些功能,如下图所示,输入"setsebool -P 功能 on|off"可以控制这些功能的开关。

1.selinux服务共享文件安全上下文的管理

实验 1.1:selinux为强制状态,访问失败(httpd)

步骤一:下载 httpd 并开启服务,关闭火墙

yum install httpd-2.4.6-45.el7.x86_ 64
systemctl start httpd
systemctl enable httpd
systemctl stop firewalld
systemctl disable firewalld

步骤二:在/mnt下建立 .html 文件,将主机名写入,将文件移动 /var/www/html/ 目录下
在这里插入图片描述
步骤三:selinux 设置为强制状态

setenforce 1

步骤四:在浏览器中访问,发现访问失败
在这里插入图片描述

实验 1.2:selinux 设为 permissive 状态,访问成功(httpd)

步骤一:selinux 设置为 permissive 状态

setenforce 0

步骤二:在浏览器中访问,发现访问成功
在这里插入图片描述

实验 1.3:selinux为强制状态,访问成功(临时修改httpd)

步骤一:selinux 设置为强制状态

setenforce 1

步骤二:查看文件信息类型
在这里插入图片描述
步骤三:临时修改安全上下文, 重启后失效
在这里插入图片描述
步骤四:在浏览器中访问,发现访问成功
在这里插入图片描述

实验 1.4:selinux为强制状态,访问成功(永久修改http)

步骤一:创建目录
在这里插入图片描述
步骤二:在该目录下创建 .html 结尾的文件
在这里插入图片描述
步骤三:列出内核安全上下文列表内容
在这里插入图片描述
在这里插入图片描述
步骤四:递归修改标签,加 -R,并刷新目录,重新读取安全上下文
在这里插入图片描述
步骤五:将 date写入
在这里插入图片描述
步骤六:在浏览器中访问,发现访问成功

2.SElinux服务开关控制

实验 2.1:默认开启selinux,上传失败

步骤零:setenforce 1

步骤一:下载 vsftpd
在这里插入图片描述
步骤二:修改配置文件 /etc/vsftpd/vsftpd.conf,并重启服务
允许匿名用户上传
在这里插入图片描述
步骤三:新建一个目录用于上传,将目录的所属用户改为 ftp,使得可以上传
在这里插入图片描述
在客户端测试
步骤四:上传文件,发现上传失败
在这里插入图片描述
实验 2.2:默认开启 selinux,开启 selinux 相关服务,上传成功

步骤一:在 /vsftpd/vsftpd.conf 文件中查看
在这里插入图片描述
步骤二:查看 ftp 服务相关功能
在这里插入图片描述
步骤三:开启匿名用户写权限,开启用户登陆
在这里插入图片描述
在客户端测试
步骤四:上传文件,发现上传成功
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值