########SElinux########
SElinuxL:内核级加强型火墙
CONTEXT:安全上下文
##selinux查看与修改##
1. getsebool -a | grep ftp ##查看指定服务selinux状态的功能开关
2. getenforce ##查看selinux目前的状态
Enforcing:强制模式
Permissive:警告模式
Disabled:关闭模式
3.修改selinux的状态
(1) 文件方式进行修改
vim /etc/sysconfig/selinux ##编辑selinux状态的文件
修改SELINUX=后面的内容,将你想要的模式加上去(我将它改为警告模式)
修改完之后必须要reboot重启
ssh root@172.25.64.164切换到此虚拟机,getenforce进行查看(修改成功)
(2)在selinux开启的状态下通过命令方式修改它的模式
setenforce 0 ##修改为Permissive模式
setenforce 1 ##修改为Enforcing模式
##安全上下文的修改##
<当程序的安全上下文和文件的安全上下文相匹配时才能被访问>
1.文件的安全上下文的修改
(1) touch /mnt/westosfile ##首先我在/mnt目录下建立westosfile文件
mv /mnt/westosfile /var/ftp ##再将文件移动到/var/ftp目录下
cd /var/ftp ##进到该目录下
ls -Z ##显示文件上下文信息
因为westosfile是从/mnt下移动过来,所以上下文与ftp目录下的不一致
(2) 在主机上lftp 172.25.64.164访问该虚拟机,接着ls进行查看
因为westosfile文件上下文不一致的原因看不到这个文件
(3) chcon -t public_content_t westosfile ##临时修改westosfile文件的安全上下文
lftp 172.25.64.164 进行查看,此时应该能访问到westosfile文件了
2.目录的安全上下文的修改
(1). vim /etc/vsftpd/vsftpd.conf ##编辑该文件
修改anon_root=后面的内容为/ftphome ##访问时默认目录为/ftphome
修改完后systemctl restart vsftpd ##重启服务
(2) ls -Zd /ftphome/ ##查看一下/ftphome目录的安全上下文
chcon -t public_content_t /ftphome/ -R ##修改目录及子目录的安全上下文
lftp 172.25.64.164 进行查看
(3)semanage命令
semanage fcontext -a -t public_content_t ‘/ftphome(/.*)?’ ##修改目录及子目录默认的上下文
semanage fcontext -l | grep /ftphome ##查询/ftphome目录默认的安全上下文
(4)restorecon -RvvF /ftphome/ ##恢复目录及子目录的正确的安全上下文
lftp 172.25.64.164 进行查看
##SElinux开启时匿名用户文件的上传##
1. Permissive警告模式下文件的上传
(1)setenforce 0 ##将SElinux模式改为警告模式
(2)getsebool -a | grep ftp ##查看ftp服务的各功能状态
(3)setsebool -P ftp_home_dir on ##开启可以进入目录的功能
(4)vim /etc/vsftpd/vsftpd.conf ##编辑该文件
anon_upload_enable=YES ##匿名用户可以上传文件
#anon_root=/ftphome ##注释掉匿名用户登录时的指定目录
(5) 修改完配置文件后systemctl restart vsftpd重启服务
chgrp ftp /var/ftp/pub/ ##更改pub目录下文件的所有组
chmod 775 /var/ftp/pub/ ##给指定目录775权限
(6) lftp 172.25.64.164 ##匿名登录虚拟机
cd pub/ ##进到pub目录下
put /etc/passwd ##上传文件
此时应该可以上传
2.Enforcing强制模式下文件上传
(1) setenforce 1 ##将SElinux模式改为强制模式
此时是上传不了文件的
(2) setsebool -P ftp_anon_write on ##开启匿名用户上传的功能
(3)chcon -t public_content_rw_t /var/ftp/pub/ ##给指定目录的上下文读写权限
(4) lftp 172.25.64.164 ##登录虚拟机
cd pub/ ##进到pub目录
put /etc/group ##上传文件
此时在强制模式下可以上传文件了
##SElinux的日志文件##
<SElinux的日志文件保存在/var/log/audit/audit.log文件中>
<SElinux的问题解决方案在/var/log/messages文件中>
setroubleshoot软件会将SElinux问题的解决方案采集到/var/log/messages中
1.首先我们创造出一个问题
touch /mnt/file ##在mnt下创建file文件
mv /mnt/file /var/ftp/ ##移动file到/var/ftp下
lftp 172.25.64.164 ##登录虚拟机
看不到file,所以问题创造出来了
2.现在我们先卸载setroubleshoot软件看其是否有解决方案
没有解决方案
3. 接着下载setroubshoot软件,/var/log/messages就会有解决方案了
SElinux(内核级加强型火墙)
最新推荐文章于 2024-01-29 10:39:02 发布