Linux学习19:Selinux内核级加强防火墙


1.selinux

selinux----内核级加强型防火墙

  • selinux是一种控制服务安全,是内核上面的一个插件,也叫内核加强型防火墙

  • selinux默认安装在fedora和red hat enterprise linux上,其他版本可以通过安装包获得

  • selinux在类型强制服务器中采用了基于角色的访问控制概念:
    针对文件:会对系统中每个文件添加安全上下文(context)
    针对进程:会对系统中每个进程添加安全上下文(context)
    会在系统服务上设定sebool开关
    当进程的安全上下文和文件的安全上下文不匹配时,那么进程无法访问此文件
    sebool会限制服务的不安全功能,如果需要用此功能,必须调整sebool的值

  • selinux主要是对服务功能的影响和文件的影响


2.管理selinux

2.1selinux对系统的影响

<实验准备:纯净的环境>

rm -fr /etc/vsftpd/vsftpd.conf		##删除vsftpd.conf
yum reinstall vsftpd -y				##重新安装vsftpd
确保匿名用户可以上传
vim /etc/vsftpd/vsftpd.cong
anon_upload_enable=YES				##开启匿名用户上传
systemctl restart vsftpd			##重启vsftpd
chmod 755 /var/ftp/pub				##修改pub目录权限
chgrp ftp /var/ftp/pub				##添加ftp到组

确保本地用户可以上传
chmod +w /home/student/				##给student用户家目录添加写权限

touch /mnt/westosfile
mv /mnt/westosfile /var/ftp
lftp 172.25.60.251				##可以看到westosfile发布成功

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

vim /etc/sysconfig/selinux
SELINUX=enforcing				##修改selinux为enforcing
reboot							##重启
lftp 172.25.60.251				##匿名用户不可上传
lftp 172.25.60.251 -u student	##student用户无法上传 

touch /mnt/westosfile1
mv /mnt/westosfile /var/ftp
lftp 172.25.60.251				##可以看到westosfile1没有发布成功

在这里插入图片描述
在这里插入图片描述

ls -Z /var/ftp		##查看ftp目录中文件的上下文
ps axZ|grep vsftpd	##查看vsftpd的安全上下文 
注意:
特定标签的程序只能读取和操作特定标签的文件,标签不配套访问就会被禁止,这就是为什么看不到westosfile1的原因
对程序本身的影响是给程序本身增加了一个开关,开关的名字叫做sebool

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.2selinux的开关

配置文件 :vim /etc/sysconfig/selinux

参数说明
SELINUX=enforcingselinux开启,级别为强制(对文件安全上下文的设定),切换到此状态时必须重起reboot
SELINUX=permissiveselinux开启,级别为警告
SELINUX=disabledselinux关闭,级别为禁用
setenforce 0			##表示Permissive  警告状态
setenforce 1    		##表示Enforcing   强制状态
getenforce 				 ##查看selinux的状态

在这里插入图片描述
注意:当selinux从开到关(或从关到开),需要reboot重起系统

2.3临时更改文件安全上下文-----适用于更改文件
chcon -t public_content_t 文件 		##将文件的标签改成与发布目录一致

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
验证是临时修改
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.4 永久更改文件安全上下文
将目录加载到安全上下文中
semanage fcontext -l | grep /var/ftp    ##查看系统已经为ftp默认设置的安全上下文
semanage fcontext -a -t public_context_t '/westos(/.*)?' ##将自己建立的目录和目录里面的内容加上安全上下文
semanage fcontext -l | grep /westos    ##查看系统已经为ftp默认设置的安全上下文
restorecon -RvvF /westos/			##刷新westos目录

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.5 sebool设定
本地用户上传
getsebool -a|grep ftp		##查看ftp的sebool 
setsebool -P ftp_home_dir on		##开启本地用户的上传,-P表示永久开启

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

匿名用户上传
setsebool -P ftpd_anon_write on		##开启匿名用户可写,-P表示永久开启
semanage fcontext -a -t public_context_rw_t '/var/ftp/pub(/.*)?' ##将pub目录和目录里面的内容加上读写功能
restorecon -RvvF /var/ftp/pub			##刷新pub目录

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.6 selinux排错
> /var/log/messages   清空日记文件
> /var/log/audit/audit.log

清空ftp里除了pub目录的文件
touch /mnt/file
mv /mnt/file /var/ftp/
lftp 172.25.254.126  	##ftp目录中没有file文件

在这里插入图片描述

解决方法
cat /var/log/audit/audit.log    ##查看日志文件发现file被拒绝
cat /var/log/messages    		##查看解决方案(message提供解决方案)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
<没有setroubleshoot的情况>
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值