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

一.Selinux的功能

当Selinux未开启时
在/mnt中建立文件被移动到/var/ftp下可以被vsftpd服务访问
匿名用户可以通过设置后上传文件
当使用ls -Z /var/ftp查看文件时显示"?"

ps auxZ | grep vsftpd 时显示:

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

 当Selinux开启:
在/mnt中建立文件被移动到/var/ftp下不可以被vsftpd服务访问
匿名用户可以通过设置后仍然不能上传文件

Linux中内核加强型火墙的管理
当使用ls -Z /var/ftp查看文件时显示信息
ps auxZ | grep vsftpd 时显示:

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


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

二.Selinux的状态及管理

1.selinux的开启
vim /etc/selinux/config

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

 SELINUX=disabled     #selinux关闭
 SELINUX=enforcing   #selinux开机设定为强制状态此状态为selinux开启
SELINUX=permissive  #selinux开机设定为警告状态此状态为selinux开启
"selinux开启或关闭需要重启系统"

enforcing: 不符合条件一定不能被允许,并会收到警告信息
permissive: 不符合条件被允许,并会收到警告信息
selinux状态的查看:getenforce

selinux开启后强制和警告级别的转换
setenforce 0  ##警告 (临时设置)
setenforce 1  ##强制

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

selinux日志位置:
/var/log/audit/audit.log

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

 三.Selinux的安全上下文

1.查看
ls -Z       ##查看文件的安全上下文
ls -Zd     ##查看目录的安全上下文
ps axZ   ##查看进程的安全上下文2.修改安全上下文

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

2.修改安全上下文

#临时修改
#此方式更改的安全上下文在selinux重启后会还原
chcon -t                标签                                  文件|目录
chcon -t       public_content_t                       /var/ftp/westosfile1
chcon -Rt    public_content_t                        /westosdir   

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

 chcon  -t  public_content_t  /var/ftpfwestosfile ##修改文件的安全上下文 

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

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

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

(如果没有在 /etc/sysconfig/selinux中修改enforcing--->disabled 或者disabled---> enforcing重启之后就不会初始化,临时设定也不会消失)

 touch /.autorelabel ##重启系统时selinux初始化文件标签开关文件(进入到挽救模式每次会初始化)然后reboot

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

 又变成之前的安全上下文(因为初始化了文件标签)
#永久修改安全上下文
#如果需要特殊指定安全上下文需要修改内核安全上下文列表

semanage命令是用来查询与修改selinux默认目录的安全上下文
semanage fcontext -l          ##查看内核安全上下文列表
semanage fcontext  -a  -t public_content_t '/westosdir(/.*)?'##-a 增加 -t 为类型
restorecon -RvvF /westosdir/
touch /.autorelabel                 ##重启系统时selinux初始化文件标签开关文件

semanage fcontext -l | grep ftp ##在内核文件中已经写入/var/ftp/的安全上下文

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

semanage fcontext -a -t public_content_t '/westos(/.*)?' 执行完之后必须进行刷新Linux中内核加强型火墙的管理

 restorecon -RvvF /westos ##对于目录进行刷新 R为递归 vv为详细信息  F为刷新

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

四.SEBOOL 

getsebool -a    ##显示服务的bool值
setsebool -P ftpd_anon_write on  #更改

如果需要在200主机上传文件

vim /etc/vsftpd/vsftpd.conf  打开anon_upload_enable=YES

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

systemctl restart vsftpd

chcon -t public_content_rw_t /var/ftp/pub/  ##更改使其有读写权力,上传文件仍然没有成功

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

查询到ftp的匿名可写权限关闭Linux中内核加强型火墙的管理

setsebool -P ftpd_anon_write on ## -p表示永久 ,允许匿名用户写入Linux中内核加强型火墙的管理

 测试:

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

 五.SEPORT

semanage port -l | grep ssh
semanage port -a -t ssh_port_t -p tcp 2222

vim /etc/ssh/sshd_config 改变port=2222

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

 systemctl restart sshd 会报错

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

semanage  port  -a -t  ssh_port_t   -p  tcp 2222 ##添加端口2222 

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

semanage port -d -t ssh_port_t  -p tcp 2222 ##删除设定的2222
vim /etc/ssh/sshd_config 注释掉2222
systemctl restart sshd

六.setrouble

 /var/log/audit/audit.log       ##selinux警告信息
#/var/log/messages            ##selinux问题解决方案
#setroubleshoot-server     ##此软件功能是采集警告信息并分析得到解决方案存放到message中

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

lftp 172.25.254.200 看不到建立的ly 文件

cat /var/log/audit/audit.log ##里面有记录elinux警告信息

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

cat /var/log/messages  ##里面没有selinux问题解决方案

dnf search setrouble
dnf install setroubleshoot-server.x86_64 -y 安装查看selinux日志的程序

setroubleshoot-server ##此软件功能是采集警告信息并分析得到解决方案存放到message中

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

清空日志 lftp 172.25.254.200还是看不到建立的ly

cat /var/log/audit/audit.log ##里面记录selinux警告信息Linux中内核加强型火墙的管理

 cat /var/log/messages ##显示排除错误的方案Linux中内核加强型火墙的管理

sealert -l 8b2286ac-c81a-42d9-9ba3-7b5b498f5d4b ##查找解决方法

Linux中内核加强型火墙的管理 出现两种解决方案

restorecon -v /var/ftp/ly 或setsebool -P ftpd_full_access 1 Linux中内核加强型火墙的管理

Linux中内核加强型火墙的管理restorecon -v /var/ftp/ly ##对文件进行刷新

lftp 172.25.254.200 会看到建立的ly

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

 

上一篇:Windows系统FTP服务


下一篇:ftp传输工具Deliver破解可以通过互联网发送和分享文件和本地网络