Unit9-内核级加强型火墙的管理

Posted S4061222

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unit9-内核级加强型火墙的管理相关的知识,希望对你有一定的参考价值。


一、Selinux的功能

1.实验现象

在这里插入图片描述(1)selinux未开启

在 /mnt中建立文件被移动到/var/ftp 下不能被 vsftpd 服务访问;
当使用 ls -Z /var/ftp 查看文件时显示 ‘context’;
匿名用户通过设置后还是不能上传文件;
ps auxZ | grep vsftpd 时会显示出来:
unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 root 4722 0.0 0.0 12108 968 pts/0 S+ 04:07 0:00 grep --color=auto vsftpd

(2)selinux开启

在 /mnt 中建立文件被移动到 /var/ftp 下能被 vsftpd 服务访问;
当使用 ls -Z /var/ftp 查看文件时会显示 ‘?’;
匿名用户可以通过设置后上传文件;
ps auxZ |grep vsftpd 时会显示出来:
root 8546 0.0 0.0 26952 408 ? Ss 10:25 0:00 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf

2.selinux的影响

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

二、Selinux的状态及管理

1.编写 /etc/selinux/config

SELINUX=disabled ##selinux关闭
SELINUX=enforcing ##selinux开机设定为强制状态此状态为selinux开启
SELINUX=permissive ##selinux开机设定为警告状态此状态为selinux开启

selinux开启或关闭需要重启系统
enforcing: 不符合条件一定不能被允许,并会收到警告信息
permissive: 不符合条件被允许, 并会收到警告信息

在这里插入图片描述

/etc/sysconfig/selinux是/etc/selinux/config的链接,修改/etc/sysconfig/selinux文件实际是修改/etc/selinux/config文件

在这里插入图片描述

2. selinux状态的查看: getenforce

在这里插入图片描述

setenforce 0 ##警告

在这里插入图片描述

setenforce 1 ##强制

在这里插入图片描述

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

(1)selinux 为 Enforcing 时,表示不符合条件一定不能被允许,并会收到警告信息;此时在查看默认发布目录时,没有看到新建的文件,动作被禁止,并收到警告信息

在这里插入图片描述(2) selinux 为 permissive 时,表示不符合条件被允许,并会收到警告信息;可以看到新建的文件可以访问,但是也收到了警告信息。
在这里插入图片描述
在这里插入图片描述

三、Selinux的安全上下文

1.查看

(1)ls -Z ##查看文件的安全上下文
在这里插入图片描述
(2)ls -Zd##查看目录的安全上下文
在这里插入图片描述
(3)ps axZ##查看进程的安全上下文
在这里插入图片描述

2.修改安全上下文

(1)临时修改

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

chcon -t 标签 文件|目录 
chcon -t public_content_t /var/ftp/westosfile1 
#修改文件的安全上下文
chcon -Rt public_content_t /westosdir 
#修改目录及目录中的所有子文件的安全上下文

在这里插入图片描述touch /.autorelabel #重启系统时selinux初始化文件标签开关文件
在这里插入图片描述查看文件的安全上下文,发现临时设定消失
在这里插入图片描述原因:无内核安全上下文列表

semanage fcontext -l  ##查看内核安全上下文列表 

在这里插入图片描述
(2)永久修改
如果需要特殊指定安全上下文需要修改内核安全上下文列表

semanage fcontext -l #查看内核安全上下文列表
semanage fcontext -a -t public_content_t '/westosdir(/.*)?'
##-a:表示添加,t:指定安全上下文
##目录内容固定:/westos(/.*)? , ?是转义,''是识别
restorecon -RvvF /westosdir/ #刷新安全上下文列表
##F:刷新,vv:显示详细信息 ,R:递归(目录本身以及内容)
touch /.autorelabel  #重启系统时selinux初始化文件标签开关文件

在这里插入图片描述

四、SEBOOL

实验步骤:

(一)编写 /etc/vsftpd/vsftpd.conf 文件,允许匿名用户上传文件,并重启服务
在这里插入图片描述
在这里插入图片描述(二) 修改/默认发布目录 /var/ftp 下的pub目录的权限
在这里插入图片描述(三)无法上传文件
在这里插入图片描述

原因:安全上下文不符合写的功能

(四)将pub目录的安全上下文修改为可读写
(五)刷新内核安全上下文列表

在这里插入图片描述

还是无法上传文件,原因:bool值中,匿名用户的写权限被关闭

在这里插入图片描述

getsebool -a  #查看服务的bool值
setsebool -P ftpd_anon_write on #更改bool值

(六)修改bool值,打开匿名用户的写权限
在这里插入图片描述(七)重新测试:匿名用户可以上传文件
在这里插入图片描述

五、SEPORT

selinux可以限制服务使用的端口

实验步骤:

(一)修改端口为8080,并重启服务
在这里插入图片描述(二)查看http服务所使用的端口号,有8080
在这里插入图片描述(三)修改端口号为8888,并重启服务
在这里插入图片描述(四)查看http服务所使用的端口号,无8888

在这里插入图片描述(五)为http服务添加端口号8888,可以看到http的端口有8888
在这里插入图片描述

六、setrouble

实验环境:设定selinux 为强制状态
在这里插入图片描述
/var/log/audit/audit.log ##selinux 警告信息;
/var/log/messages ##selinux 问题解决方案,系统日志;
setroubleshoot-server ##此软件功能是采集警告信息并分析得到解决方案存放到 message 中

实验步骤

(一)清空两个日至/var/log/audit/audit.log 和 /var/log/messages
(二)touch /mnt/file1 新建文件,将文件移动到默认发布目录下 /var/ftp
(三)lftp匿名连接看不到文件
在这里插入图片描述
(四)audit 中有permission日至
在这里插入图片描述
(五)messages有解决问题的方法:/sbin/restorecon -v /var/ftp/file
在这里插入图片描述(六)使用此命令 /sbin/restorecon -v /var/ftp/file,lftp 匿名连接,可以看到
在这里插入图片描述

提供此方法的软件是setrouble(只能解决selinux的问题)

(一)卸载setroubleshoot软件后

在这里插入图片描述在这里插入图片描述
在这里插入图片描述(二)lftp 匿名连接看不到

(三)查看audit.log和messages日至,audit.log中警告日志,messages中没有解决问题的方法
在这里插入图片描述
(四)安装setroubleshoot软件后,重新看messages中会有解决问题的方法
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

以上是关于Unit9-内核级加强型火墙的管理的主要内容,如果未能解决你的问题,请参考以下文章

linux之内核级加强型火墙SElinux的管理,SElinux怎么排错?

selinux初级管理

Linux的selinux的初级管理

selinux 初级管理

Selinux初级管理

selinux的初级管理