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


实验环境
初始化ftp服务

rm -fr /etc/vsftp/
dnf reinstall vsftpd -y
chgrp ftp /var/ftp/pub
chmod 775 /var/ftp/pub

在这里插入图片描述在这里插入图片描述修改12行:anonymous_enable=YES允许匿名用户上传
修改29行:anon_upload_enable=YES

vim /etc/vsftpd/vsftpd.conf
systemctl restart vsftpd
lftp 192.168.0.17

在这里插入图片描述

内核级的加强型防火墙

vim /etc/selinux/config

安全上下文,sebool,se的状态控制

1. 关闭、开启selinux的区别

selinux的状态是disabled时,

项目 结果
在mnt下建立文件,移动到/var/ftp,是否可以通过lftp查看到
ls -Z /var/ftp 显示有一个“?”
匿名用户是否可以上传

在这里插入图片描述

selinux的状态是enfrocing时,reboot(内核初始化,必然需要重启)

vim /etc/selinux/config
reboot

getenforce
systemctl enable --now vsftpd
项目 结果
在mnt下建立文件,移动到/var/ftp,是否可以通过lftp查看到
ls -Z /var/ftp “?”是extent,安全上下文
匿名用户是否可以上传

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

ps auxZ | grep vsftpd

在这里插入图片描述

2. Selinux的影响

selinux对文件的影响:
贴标签(content 安全上下文),当selinux开启时,内核会对每个文件及每个开启的程序进行标签加载
标签内记录了程序和文件的安全上下文(contect)

selinux对程序的影响:
当selinux开启时,会对程序功能加载开关,并设定此开关的状态是关闭,当需要此功能时,需要手动开启功能开关(开关:sebool),提高了系统的安全性

reboot开机的快慢,是因为需要给每个程序和文件贴上“ 标签 ”

  1. sebool功能开关
    波尔值:01、on off、true false、yes no

波尔值的调整
setsebool -P ftpd_anon_write on功能开启(可以上传)
(内核上的加强型的插件)

3. selinux的状态及管理

vim /etc/selinux/config
setenforce 0   //警告模式
setenforce 1   //强制模式
状态 说明
enfrocing 强制模式,不可以访问,有警告
permissive 警告模式,可以访问内容,但是有警告

强制模式enforcing
不符合条件就一定会被拒绝,并会收到警告

getenforce
#enforcing
lftp 192.168.0.17
>ls
cat /var/log/audit/audit.log

在这里插入图片描述

警告模式permissive
不符合条件也可以被允许,并会收到警告

setenforce 0       //变成警告模式
getenforce
#permissive
lftp 192.168.0.17
>ls
cat /var/log/audit/audit.log

在这里插入图片描述

4. selinux的安全上下文

查看功能

ls -Z    //查看文件的安全上下文
ls -Zd   //查看目录的安全上下文
ps axZ   //查看进程的安全上下文

4.1 临时修改安全上下文

修改功能
public_content_t:标签

chcon -t  public_content_t /westosdir1
chcon -Rt public_content_t /westosdir1/  //修改目录及目录中的所有子文件的安全上下文

此方式更改的安全上下文在selinux重启后会还原

mkdir /westosdir1
touch /westosdir1/file1

查看目录的安全上下文

ls -Zd /westosdir1
chcon -t public_content_t /westosdir1/
ls -Zd /westosdir1

在这里插入图片描述

查看文件的安全上下文

ls -Z /westosdir1/
chcon -Rt public_content_t /westosdir1/
ls -Z /westosdir1/

在这里插入图片描述

重启selinux,创建/.autorelabel文件,只需要重启一次,安全上下文被还原

touch /.autorelabel
reboot
ls -Zd /westosdir1
ls -Z /westosdir1/

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

4.2 永久修改安全上下文

查看/var/ftp的安全上下文列表

semanage fcontext -l | grep /var/ftp

在这里插入图片描述

贴标签,修改安全上下文

semanage fcontext -a -t public_content _t '/westosdir1(/.*)?'
semanage fcontext -l | grep /westosdir1

刷新安全上下文

restorecon -RvvF /westosdir1

在这里插入图片描述

5. SEBOOL

显示服务的bool值

getsebool -a | grep ftp

在这里插入图片描述

更改服务的bool值

setsebool -P ftpd_anon_write off
getsebool -a | grep ftp

在这里插入图片描述

6. SEPORT

添加

semanage port -l | grep ssh
semanage port -a -t ssh_port_t 1111 -p tcp
systemctl restart sshd
semanage port -l | grep ssh

在这里插入图片描述

删除

semanage port -d -t ssh_port_t 1111 -p tcp
semanage port -l | grep ssh

在这里插入图片描述

7. setrouble

强制模式下,看不到mv的操作

> /var/log/messages
> /var/log/audit/audit.log
getenforce
touch /mnt/yao
mv /mnt/yao /var/ftp
lftp 192.168.0.18
>ls
cat /var/log/messages
cat /var/log/audit/audit.log

在这里插入图片描述

日志 说明
/var/log/message 系统警告日志
/var/log/audit/audit.log selinux报警信息日志

系统给出的决策:改变安全上下文
/var/log/message日志有提供解决的方法

> /var/log/message
> /var/log/audit/audit.log
restorecon -FvvR /var/ftp

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

setrouble进行检测,提供解决方案

实验:删除setroubleshoot,系统无法提供解决方案
当它被删除,selinux报错时,系统不会提供selinux的解决方案

解决方案是在message里

dnf remove setroubleshoot
> /var/log/message
> /var/log/audit/audit.log
touch /mnt/yaoyao
mv /mnt/yaoyoa /var/ftp
lftp 192.168.0.18
>ls
cat /var/log/messages
cat /var/log/audit/audit.log

在这里插入图片描述

现在删除了setrouble/var/log/messages中不提供解决方案

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_47133613/article/details/113956190