linux中内核级加强型火墙的管理

linux中内核级加强型火墙的管理

环境设定

rm -rf /etc/vsftpd 					##删掉配置文件
dnf reinstall vsftpd -y 			##重新安装
systemctl restart vsftpd

ls -ld /var/ftp/pub 				##清除文件但是没有把权限全部清除
chmod 775 /var/ftp/pub
chgrp ftp /var/ftp/pub

selinux开启前后的对比

  • 当selinux没有开启
    在/mnt中建立文件被移动到/var/ftp下可以被vsftp服务访问到,匿名用户也可以通过设置后上传文件,当使用ls - Z /var/ftp查看文件的时候显示“?”

  • 当selinux开启
    在/mnt中建立文件被移动到/var/ftp下不可以被vsftp服务访问。匿名用户设置后仍然不能上传文件。当使用ls -Z /var/ftp时,vsftp服务可以访问的文件都有context安全上下文,不能访问的没有。

  • selinux
    对于文件的影响,当selinux开启的时候,内核会对每个文件及每个开启的程序进行标签加载,标签内记录程序和文件的安全上下文(context)
    对于程序功能的影响,当selinux开启后会对程序的功能加载开关,并设定此开关的状态为关闭状态,当需要此功能时,需要手动开启功能开关,此开关叫做sebool

在这里插入图片描述
##selinux关闭状态
在这里插入图片描述

在这里插入图片描述
##selinux开启状态
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
##新建的westos没有安全上下文,因此不能显示出来

selinux的状态及管理

  • selinux的开启

      vim /etc/selinux/config
      7  SELINUX=disabled  		##selinux关闭
      7  SELINUX=enforcing 		##selinux开机设定为强制状态,此状态为selinux开启
      7 SELINUX=permissive  	##selinux开机设定为警告状态,此状态为selinux开启
     							 (selinux开启或关闭需要重启系统)
    
     enforcing:不符合条件一定不能被允许,并收到警告信息
     permissive:不符合条件被允许,并会收到警告信息
    
     selinux状态的查看:getenforce
     
     selinux开启后强制和警告级别的转换:
     setenforce 0   ##警告
     setenforce  1  ##强制
    

在这里插入图片描述
##警告模式可以上传但是会报错
在这里插入图片描述

  • 安全上下文

     	mkdir /westosdir1     	##建立目录
     	ls -Zd /westosdir1		##查看目录安全上下文
     	touch /westosdir1/file1	##建立文件
     	ls -Z /westosdir1		##查看目录下文件安全上下文
     	chcon -Rt public_content_t /westosdir1	##临时设定目录及目录下文件的安全上下文
     
     	touch /.autorelabel  	##此文件存在,selinux在开机时会自动初始化
    
     	ls -Zd /westosdir1
     	ls -Zd /var/ftp
     	semanage fcontext -l | grep /var/ftp			##查看安全上下文,里面如果有指定文件的安全上下文,开启后就会显示
     	semanage fcontext -l | grep westosdir
    
     	semanage fcontext -a -t public_content_t '/westosdir1(/.*)?'  
     													##永久设定安全上下文。 括号里面的表示存在的和未来建立的
     	restorecon -RvvF /westosdir1					##刷新让其立即生效
    

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

sebool

	getsebool -a  | grep ftp 			##查看
	setsebool -P ftp_anon_write off  	##设置。off关闭,on开启 ,-P表示永久

在这里插入图片描述

selinux会限制使用某些端口

vim /etc/ssh/sshd_config					##以ssh服务为实验,修改端口
semanage port -l | grep ssh 				##查看端口
semanage port -a -t ssh_port_t 1111 -p tcp  ##加入新的端口
semanage port -d -t ssh_port_t 1111 -p tcp	##删除端口

在这里插入图片描述

setrouble

当出现错误,我们如何找到错误?

清空日志
> /var/log/messages  			##清空系统日志。
> /var/log/audit/audit.log   	##清空selinux的警告信息日志。
再次操作步骤
cat  /var/log/message 			##查看系统日志,此日志提供了出现问题的解决方式
cat /var/log/audit/audit.log	##查看selinux的警告信息日志,此日志没有解决方式

/var/log/messages出现解决问题方式的原因是因为安装了下述软件
rpm -qa | grep setrouble					##查看软件
setroubleshoot-server-3.3.22-2.el8.x86_64	##系统安装了这个软件,以致于可以分析警告信息,提供了selinux警报信息的解决方案,并且在/var/log/messages中显示
dnf remove	 	setroubleshoot-server-3.3.22-2.el8.x86_64    如果如此删除这个软件,此时就不会在系统日志中生成解决方式

在这里插入图片描述
##只有报错信息,没有解决方案
在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值