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

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

内核级加强型火墙主要是指系统中的selinux功能,该功能开启时,会对系统中的文件和程序产生影响,用户的一些操作会被限制。

一、Selinux开启后所产生的影响

当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开启时,内核会对每个文件及每个开启的程序进行标签加载
标签内记录程序和文件的安全上下文(context)

对于程序功能的影响:
当selinux开启会对程序的功能加载开关,并设定此开关的状态为关闭
当需要此功能时需要手动开启功能开关
此开关叫做sebool

对nodea主机selinux=Disabled
1、把文件westosfile从mnt/westosfile复制到/var/ftp可以ls显示出来
图片最后一行代码是修改主机名
请添加图片描述2、ls -Z /var/ftp
请添加图片描述
3、请添加图片描述

对nodeb主机selinux=Enforcing,
1、把文件westosfile从mnt/westosfile复制到/var/ftp可以ls显示不出来,是因为启用了selinux的原因
但当setenforce 0把selinux改为Permissive后虽然安全上下文报错但仍能显示出来
请添加图片描述2.ls -Z /var/ftp请添加图片描述
3、请添加图片描述
4、对于程序功能的影响:多一个selinux开关,sebool开关
请添加图片描述

二、Selinux的状态及管理

selinux的开启:
vim /etc/selinux/config   或者/etc/sysconfig/selinux
SELINUX=disabled	    %selinux关闭
SELINUX=enforcing	    %selinux开机设定为强制状态,此状态为selinux开启
SELINUX=permissive	    %selinux开机设定为警告状态,此状态为selinux开启
"selinux从开启到关闭需要重启系统"
enforcing:
不符合条件一定不能被允许,并会收到警告信息
permissive:
不符合条件被允许,并会收到警告信息
selinux状态的查看:
getenforce
selinux开启后强制和警告级别的转换
setenforce 0           %警告
setenforce 1	       %强制
强制模式下,用lftp不能访问,警告模式下可以访问,两种情况下都会在/var/log/audit/audit.log中生成日志
selinux日志位置:
/var/log/audit/audit.log

过程:对nodea开启selinux:vim /etc/selinux/config把Disable改为enforcing
改完之后reboot
把状态从enforing改为permissive,查看日志有警告信息
请添加图片描述

三、Selinux的安全上下文

临时修改文件的安全上下文:此方式更改的安全上下文在selinux重启后会还原
chcon -t 	标签			文件|目录	
chcon -t 	public_content_t 	/var/ftp/westosfile1  %不能改/var/ftp里面的,因为该目录下的文件原本的安全上下文就为public_content_t,改完再重启系统没有变化
chcon -Rt 	public_content_t	/westosdir	 %修改目录及目录中的所有子文件的安全上下文
永久修改安全上下文:如果需要特殊指定安全上下文需要修改内核安全上下文列表
semanage fcontext -l 		%查看内核安全上下文列表 
semanage fcontext -a -t public_content_t  '/westosdir(/.*)?'  %如果不加(/.*)?,则只是目录本身的安全上下文被记录了,目录里面的内容不会发生变化
restorecon -RvvF /westosdir/        %使上述设定生效,刷新状态
touch  /.autorelabel		%重启系统时selinux初始化文件标签开关文件

临时修改:
请添加图片描述请添加图片描述

永久修改:’/test(/.*)?'表示目录及目录地下文件
请添加图片描述重启后发现目录及文件已经更改
请添加图片描述
history
请添加图片描述

查看内核安全上下列表
请添加图片描述

四、SEBOOL开关和SEPORT

SEBOOL:
getsebool  -a 				%查看现实服务的bool值
setsebool  -P ftpd_anon_write on	%更改(开启write开关),加-P表示永久开启,不加表示临时,重启后还会关闭
SEPORT:
semanage port -l | grep http  %查看现实服务的port值列表,即系统允许更改的端口号
semanage port -a -t http_port_t -p tcp  1111    %更改
netstat -antlupe | grep httpd    %查看httpd的当前端口

目的:在selinux=enforcing情况下ftp上传文件到/pub
要求:1满足vsftpd章节匿名用户上传文件到/pub要求:
vim /etc/vsftpd/vsftpd.conf 改为下图
请添加图片描述/var/ftp/pub/权限满足
在这里插入图片描述2/var/ftp/pub/安全上下文
查询ftp安全上下文在这里插入图片描述在这里插入图片描述
更改安全上下文:没有这一步,没有rw都会报553错误
在这里插入图片描述
3打开ftp的sebool开关:第一行为on
在这里插入图片描述以上都做完后,才能匿名用户上传文件
在这里插入图片描述

SEPORT设置:

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
最后systemctl restart sshd

五、setrouble

/var/log/audit/audit.log	%selinux警告信息
/var/log/messages		    %可在此日志中查找selinux问题解决方案
[root@server mnt]# touch hello
[root@server mnt]# ls
hello
[root@server mnt]# mv hello /var/ftp
[root@server mnt]# lftp 172.25.254.101
lftp 172.25.254.101:~> ls
-rw-r--r--    1 0        0               0 Nov 29 01:38 file
drwxrwxrwx    2 0        0              33 Nov 29 01:16 pub
lftp 172.25.254.101:/> exit
[root@server mnt]# cat /var/log/messages
[root@server mnt]# setsebool -P ftpd_full_access 1   %日志中提供的解决方案
[root@server mnt]# ls
[root@server mnt]# lftp 172.25.254.101
lftp 172.25.254.101:~> ls                %可以看到安全上下文不正确的文件           
-rw-r--r--    1 0        0               0 Nov 29 01:38 file
-rw-r--r--    1 0        0               0 Nov 29 01:45 file2
-rw-r--r--    1 0        0               0 Nov 29 01:49 hello
drwxrwxrwx    2 0        0              33 Nov 29 01:16 pub
lftp 172.25.254.101:/> exit

nodea主机中安装了setrouble:

请添加图片描述
实验准备:在这里插入图片描述请添加图片描述执行完之后可以看到test
请添加图片描述

二、实验准备:更改端口号出现错误,解决错误让他
在这里插入图片描述请添加图片描述
请添加图片描述解决问题:
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值