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

1.Selinux 的功能

selinux:内核级的加强型火墙,当selinux打开时,会给系统中的每一个文件安装标签,并且给系统中的每一个程序安装一个标签,特定标签的程序只能访问特定标签的文件。重启系统的时候,系统会读一些文件,开启的较慢,为了给系统安装标签。

1.1观察开启与未开启的影响

1当 Selinux 未开启时

1.1在/mnt 中建立文件被移动到/var/ftp 下可以被 vsftpd 服务访问匿名用户可以通过设置后上传文件
server
在这里插入图片描述在这里插入图片描述
client
在这里插入图片描述

1.2当使用 ls -Z /var/ftp查看文件时显示"?"

1.3ps auxZ | grep vsftpd 时显示:
-root 8546 0.0 0.0 26952 408 ? Ss 10:35 0:00 /usr/sbin/vsftpd
/etc/vsftpd/vsftpd.conf
cache主机:172.25.254.211

? 系统中没有进行设定
“-” 内容缺失

在这里插入图片描述

2当 selinux 开启: enforcing

2.1在/mnt 中建立文件被移动到/var/ftp 下不可以被 vsftpd 服务访问匿名用户可以通过设置后仍然不能上传文件
server
在这里插入图片描述client:看不到westos文件
在这里插入图片描述

2.2
当使用 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
在这里插入图片描述

1.2selinux开启对文件及程序功能的影响

保护系统的安全性:禁止某些功能,必须匹配安全上下文之后才能被访问

对于文件的影响:
当 selinux 开启时,内核会对每个文件及每个开启的程序进行标签加载标签内记录程序和文件的安全上下文(context)
1.1中的实验中westos文集文件看不到是因为其安全上下文
在这里插入图片描述

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

2.Selinux 的状态及管理

2.1.selinux 的开启

vim /etc/selinux/config
在这里插入图片描述
SELINUX=disabled #selinux 关闭
SELINUX=enforcing #selinux 开机设定为强制状态此状态为 selinux 开启7 SELINUX=permissive #selinux 开机设定为警告状态此状态为 selinux 开启"selinux 开启或关闭需要重启系统"

enforing不符合条件一定不能被允许,并会收到警告信息
permissive不符合条件被允许,并会收到警告信息
getenforceselinux 状态的查看
selinux 开启后强制和警告级别的转换setenforce 0 ##警告 setenforce1 ##强制
selinux 日志位置:/var/log/audit/audit.log

1.在server端selinux开启时,先清空日志,
在这里插入图片描述在client 端访问server
在这里插入图片描述查看日志
在这里插入图片描述2.在server端selinux处于警告模式,可以访问到westos文件,按照上文进行查看日志
在这里插入图片描述

在这里插入图片描述

看到警告信息
在这里插入图片描述

3.Selinux 的安全上下文

3.1查看

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

3.2.修改安全上下文

3.2.1临时修改

此方式更改的安全上下文在 selinux 重启后会还原
chcon -t 标签 文件|目录

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

touch /.autorelabel

应用场景:修改文件的安全上下文
在这里插入图片描述
在这里插入图片描述
touch /.autorelabel reboot 之后修改不生效


3.2.2永久修改安全上下文

如果需要特殊指定安全上下文需要修改内核安全上下文列表
semanage fcontext -l | grep ftp ##查看内核安全上下文列表
semanage fcontext -a -t public_content_t '/westosdir(/.*)?'
(/.*)? 目录下的所有会自动同步目录本身所有(安全上下文)
restorecon -RvvF /westosdir/ R:递归 F 显示过程 v:显示信息 vv:显示详细信息
selinux重启:配置文件内容改变,且重启系统 (enforcing->disable reboot -> enforcing reboot )
touch /.autorelabel##重启系统时 selinux 初始化文件标签开关文件(此文件存在,selinux会被重启) ###·只需要一次重启
reboot

1.查看内核安全上下文列表
在这里插入图片描述在这里插入图片描述2.修改/westosdir的安全上下文
在这里插入图片描述

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

永久改变

4.SEBOOL

sebool: 是selinux对服务功能添加的开关
getsebool -a##现实服务的 bool 值
getsebool -a | grep ftp :查看ftp的功能开关
setsebool -P ftpd_anon_write on#永久开启匿名用户写的功能
selinux=enforcing状态无法上传文件,警告模式下可以,当执行图二的命令,更改sebool ,就可以上传文件
在这里插入图片描述

在这里插入图片描述

5.SEPORT

semanage port -l | grep ssh ##查看服务可以使用的端口
semanage port -a -t ssh_port_t -p tcp 1111 ##添加端口

在selinux=enforcing时,修改http服务的配置文件,将端口改为不能使用的1111,服务无法重启,但警告模式下可以重启服务
在这里插入图片描述
在这里插入图片描述将1111端口添加到http服务可以使用的端口中,在selinux=enforcing的状态下,服务依然可以重启
在这里插入图片描述

6.setrouble

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

/var/log/audit/audit.log 清空日志
/var/log/messages

==清空 /var/log/audit/audit.log /var/log/messages ==
server端建立一个文件/mnt/westos1并将其移动到/var/ftp/
在这里插入图片描述访问服务端,看不到westos1文件
在这里插入图片描述查看日志:找到解决方法(setroubleshoot-server 采集警告信息并分析得到解决方案存放到message 中
在这里插入图片描述
在服务端restorecon -V /var/ftp/westos1
westos1可以在ftp的默认发布目录中被看见

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值