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来分析日志