Selinux的解决方案

Selinux的解决方案

1.Selinux的功能及其对系统的影响

selinux:内核级加强型防火墙
selinux( 安全增强型 Linux ) 是可以保护系统安全性的额外机制
通俗的来说,selinux的作用就是给系统中开启的文件和程序加载一个标签,每个特定的程序对应一个特定的标签;给系统中的功能添加一个开关,这个开关由selinux来控制,通过selinux打开开关,系统的功能才能正常运行
selinux对系统的影响:
举例说明:比如在做ftp服务时,我将selinux设置为关闭状态,ftp服务的功能可以正常使用,但我现在将selinux设置为开启状态,ftp的一些服务就不能正常使用了。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.显示及更改Selinux模式

在这里插入图片描述

  • 配置文件更改selinux状态
vim /etc/sysconfig/selinux		##编辑selinux配置文件

在这里插入图片描述

  • 命令方式更改selinux状态
getenforce	##查看selinux状态
setenforce	##改变selinux状态 0--Permissive 1--Enforcing

注意:命令方式只能使selinux在警告状态和强制状态中切换,设置selinunx开启到关闭或关闭到开启,必须用更改配置文件的方式
在这里插入图片描述

3.Selinux中对文件安全上下文的设定

  • 显示 SELinux 文件上下文:“Z”
ls -Zd /dir									##显示指定目录安全上下文

在这里插入图片描述

  • 临时更改:
chcon -t 安全上下文 文件
chcon -t public_content_t /westos/ -R		##更改westos安全上下文为public_content_t

在这里插入图片描述
注意:/var/ftp/… 这个目录里面的文件,安全上下文是固定的,而其他目录中的文件安全上下文不是固定的,所以更改是临时的,在更改状态并重启后设定会还原

  • 永久更改:
semanage fcontext -l						 ##查看安全上下文文件目录
semanage fcontext -a -t public_content_t '/westos(/.*)?'	##设定westos目录下的文件安全上下文为public_content_t
semanage fcontext -l | grep westos			 ##查看目录中westos安全上下文
restorecon -RvvF /westos/					 ##刷新

在这里插入图片描述

4.管理Selinux布尔值bool

sebool值是控制服务功能的开关

getsebool -a | grep 服务名称					##查看指定服务布尔值
getsebool -a | grep ftp						##查看ftp服务布尔值
setsebool -P 服务 on|off						##在这里on=1 off=0
setsebool -P ftpd_anon_write on				##打开匿名用户上传功能

测试1:
在设置bool值之前使用本地用户无法上传文件,设置后可以上传
注意:bool值是selinux给系统附加的一个开关,要实现功能必须保证功能本身是开启的,再设定bool值,功能才能正常使用
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
测试2:
在设置bool值之前使用匿名用户无法上传文件,设置后发现也不能上传,此时我们就需要用到安全上下文中的内容,去更改pub目录的安全上下文,更改后才可以正常上传
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.Selinux的排错

  • 软件安装
yum install setroubleshoot-server -y	 	##这个软件会提供解决策略
cat /var/log/messages						##查看日志(日志中有解决策略)
  • 工作原理

setroubleshoot-server 侦听 /var/log/audit/audit.log 中的审核信息并将简短摘要发送至 /var/log/messages
/var/log/audit/audit.log 用于在该文件中生成所有事件的报告

  • 测试:
touch /mnt/file
mv /mnt/file /var/ftp/pub
> /var/log/audit/audit.log				##清空该日志文件中的内容
> /var/log/messages						##清空该日志文件中的内容
lftp ip									##查看pub目录下的文件没有看到file
cat /var/log/audit/audit.log			##可以看到查看mnt被拒绝的记录
cat /var/log/messages					##可以看到解决策略

Then execute:
restorecon -v ‘/pub/file’

解决:

restorecon -v /var/ftp/pub/file

再进入lftp就可以看到file

注意:必须安装 setroubleshoot-server 软件包 , 才能将SELinux消息发送至 /var/log/messages
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值