linux selinux

selinux介绍

selinux(security-enhanced linux):安全增强型linux,是一个内核级加强型火墙

selinux功能

1.当selinux开启会给系统中的每一个文件和每一个程序加载安全上下文,特定安全上下文的程序只能访问特定安全上下文的文件。
2.当selinux开启会对服务本身相对不安全的功能加载开关sebool,并且设定开关为关闭状态以保证服务安全性。当需要此功能时需要超级用户手动调节。
实验:对比两次操作,思考selinux作用
(1)当selinux关闭时
在虚拟机1中新建文件redhattestfile放入ftp软件中可以被访问,文件redhattestfile和vsftpd服务的安全上下文都为空。
在这里插入图片描述
此时还可以上传文件
在这里插入图片描述
(2)开启虚拟机1的selinux功能
在这里插入图片描述
在这里插入图片描述
注意:此时selinux正在给文件和程序贴标签,这个过程的快慢程度和硬件有很大关系。
在这里插入图片描述
(3)当selinux开启时
public_content_t:表示可以看到
mnt_t:表示不能看到
在虚拟机1中将/mnt/redhatlinuxfile挪到/var/ftp文件夹下之后,文件redhatlinuxfile就看不到了,但文件是实际存在的(特定安全上下文的程序只能访问特定安全上下文的文件,否则服务会被拒绝)。
在这里插入图片描述
从另一个角度:selinux对程序功能的本身也有影响
在虚拟机1中开启上传功能
在这里插入图片描述
在这里插入图片描述
别忘了同时更改权限
在这里插入图片描述
登录虚拟机1自身的ftp系统,尝试上传文件,本应上传成功却上传失败。
在这里插入图片描述
原因就在这里:selinux给匿名用户写功能加了一个开关
在这里插入图片描述

selinux状态

1.查看selinux状态: getenforce

状态类型含义
disabled关闭
enforcing强制
permissive警告

在这里插入图片描述
2.设置selinux状态(临时): setenforce 0|1 (0表示警告模式,1表示强制模式)
在这里插入图片描述
3.设置selinux状态(永久):
vim /etc/sysconfig/selinux
SELINUX=要设定selinux的状态
注意:
当disabled<---->enforcing|permissive时,需要重启系统。
在这里插入图片描述
在这里插入图片描述

安全上下文

1.安全上下文的临时更改(重启会失效)
chcon -t 安全上下文 文件
chcon -R -t 安全上下文 目录
例如:chcon -t public_content_t /var/ftp/redhatlinuxfile
在这里插入图片描述
另外,我们测试一下这个设定会不会重启后消失。
在这里插入图片描述
在这里插入图片描述
将selinux设为关闭后重启
在这里插入图片描述
重新将selinux设为开启状态
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
发现重启电脑,还原selinux之后,chcon设定又还原了,表明chcon设定是临时的。
在这里插入图片描述
2.永久更改安全上下文
(1)semanage fcontext -l | grep /ftpuserdir:查看安全上下文列表信息
(2)semanage fcontext -a -t public_content_t /ftpuserdir:只对目录本身生效
或semanage fcontext-a -t public_content_t /ftpuserdir’(/.*)?’:只添加安全上下文列表信息,当前不生效。(高亮处表示目录中将要出现的内容)
(3)restorecon -RvvF /ftpuserdir/:刷新安全上下文,刷新之后才有效。(-R表示递归,-v表示详细,-vv非常详细,-F表示刷新)
实验:
在虚拟机1中将/ftpuserdir目录及其下文件设定安全上下文,发现安全上下文列表出现此目录信息,使用restorecon命令刷新后,安全上下文发生了变化。
在这里插入图片描述
在这里插入图片描述

sebool

sebool:selinux对服务功能添加的开关
getsebool -a | grep ftp:查看ftp的功能开关
setsebool -P ftp_anon_write=1| on:开启匿名用户写的功能(-P表示永久设定)
实验:
实验前:无法上传文件
在这里插入图片描述
(1)排除权限的影响
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(2)排除安全上下文的影响
在这里插入图片描述
(3)开启匿名用户写的开关
在这里插入图片描述
(4)测试
再次匿名登录系统,上传文件,发现成功。
在这里插入图片描述

setrouble

使用setroubleshoot分析日志并提供解决方案
(1)yum install setroubleshoot-server-3.3.19-1.el8.x86_64 -y
(2)sealert -a /var/log/audit/audit.log
实验:
(1)使用setroubleshoot之前,可以发现/var/log/messages中没有相应的信息,而在/var/log/audit/audit.log这个日志中存放与selinux有关的信息。
在这里插入图片描述
(2)使用setroubleshoot软件包中的sealert来分析日志
在这里插入图片描述
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值