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

  .Selinux对系统的影响 
1. 观察现象
Selinux 未开启时
/ mnt 中建立文件被移动到 / var / ftp 下可以被 vsftpd 服务访问
匿名用户可以通过设置后上传文件
当使用 ls - Z / var / ftp 查看文件时显示 "?"
ps auxZ | grep vsftpd 时显示
- root 8546 0.0 0.0 26952 408 ?
Ss 10 : 35 0 : 00 / usr / sbin / vsftpd / etc / vsftpd / vsftpd.conf
selinux 开启 :
/ mnt 中建立文件被移动到 / var / ftp 下不可以被 vsftpd 服务访问
匿名用户可以通过设置后仍然不能上传文件
当使用 ls - Z / var / ftp 查看文件时显示信息
ps auxZ | grep vsftpd 时显示
system_u : system_r : ftpd_t : s0 - s0 : c0.c1023 root 6577 0.0 0.0 26952 412 ?
Ss 10 : 50
0 : 00 / usr / sbin / vsftpd / etc / vsftpd / vsftpd.conf

 

selinux
对于文件的影响
selinux 开启时 内核会对每个文件及每个开启的程序进行标签加载
标签内记录程序和文件的安全上下文 context
对于程序功能的影响
selinux 开启会对程序的功能加载开关 并设定此开关的状态为关闭
当需要此功能时需要手动开启功能开关
此开关叫做 sebool
.Selinux的状态及管理
1. selinux 的开启
vim / etc / selinux / config
vim /etc/sysconfig/selinux
7 SELINUX = disabled          #selinux 关闭
7 SELINUX = enforcing        #selinux 开机设定为强制状态此状态为 selinux 开启
7 SELINUX = permissive     #selinux 开机设定为警告状态此状态为 selinux 开启
注意 :"selinux 开启或关闭需要重启系统 "
enforcing
不符合条件一定不能被允许 并会收到警告信息
permissive
不符合条件被允许 并会收到警告信息
selinux 状态的查看
getenforce
selinux 开启后强制和警告级别的转换
setenforce 0        ##警告
setenforce 1        ##强制
selinux 日志位置
/ var / log / audit / audit. log
.Selinux的安全上下文管理
1. 查看
ls - Z            ## 查看文件的安全上下文
ls - Zd          ## 查看目录的安全上下文
ps axZ        ## 查看进程的安全上下文

 

2. 修改安全上下文
临时修改
此方式更改的安全上下文在 selinux 重启后会还原
chcon - t  标签   文件 | 目录
chcon - t public_content_t  / var / ftp / file1
chcon - Rt public_content_t    / westos         ## 修改目录及目录中的所有子文件的安全上下文
永久修改安全上下文
如果需要特殊指定安全上下文需要修改内核安全上下文列表
semanage fcontext - l              ## 查看内核安全上下文列表
semanage fcontext - a - t public_content_t '/westos(/.*)?'
restorecon - RvvF / westos /
.服务SEBOOL值的管理 
getsebool - a        ##现实服务的 bool
setsebool - P ftpd_anon_write on       ## 更改永久生效

 五.SEPORT  selinux对于端口的限制
semanage port - l | grep ssh
semanage port - a - t ssh_port_t - p tcp 2222
 
.setrouble  selinux排错工具 
cat  / var / log / audit / audit. log         ##selinux警告信息
cat  / var / log / messages              ##selinux 问题解决方案
setroubleshoot - server              ## 此软件功能是采集警告信息并分析得到解决方案存放到 message                                                       中但是只考虑解决方案不考虑安全性
semanage port - d - t ssh_port_t - p tcp 1111
> / var / log / audit / audit. log
>/ var / log / messages
systemctl restart sshd
在/etc/ssh/sshd_config添加1111端口,重启失败

cat  / var / log / audit / audit. log      查看 / var / log / audit / audit. log下的 selinux警告信息

cat /var/log/messages      查看/var/log/messages下的selinux问题解决方案

 重启成功

 这个排错工具不是系统自带的,是下载的插件,它只考虑解决的方案不考虑安全性

 

posted @ 2023-03-16 19:48  yunyeblog  阅读(21)  评论(0)    收藏  举报  来源