Linux运维--SElinux详解

一、SElinux

1 SElinux

安全增强型 Linux(Security-Enhanced Linux)简称 SELinux,它是一个 Linux 内核模块,也是 Linux 的一个安全子系统

SELinux 主要作用就是最大限度地减小系统中服务进程可访问的资源(最小权限原则)

2 SElinux对系统的影响

SELinux插件开启时会为系统中开启的每一个程序和每一个文件加载一个标签,特定标签的程序只能读取或者操作特定标签的文件,如果标签不配套,该访问就会被禁止,这种在文件上的标签被称为 安全上下文,在程序上的标签为sebool值

二、selinux的开启及模式调整

改变selinux状态:

 vim /etc/sysconfig/selinux

Linux运维--SElinux详解_第1张图片

参数 含义
SELINUX=enforcing selinux开启,级别为强制
SELINUX=permissive selinux开启,级别为警告
SELINUX=disable selinux关闭

其中强制模式表示警告加拒绝,警告模式只有警告

 setenforce 0|1		##更改selinux当前的级别0警告1强制
 getenforce			##查看selinux的状态

注意:当selinux从关到开,或值从开到关,需要重启系统

三、sebool的设定

selinux的bool值的查看:

getsebool -a | grep ftp

Linux运维--SElinux详解_第2张图片
设定sebool值:

setsebool -P ftp_home_dir on

在这里插入图片描述

查看目录安全上下文:

 ls -Zd /var/ftp/pub/

在这里插入图片描述
更改目录安全上下文:

 semanage fcontext -a -t public_content_rw_t "/var/ftp/pub(/.*)?"		#更改安全上下文
 
 restorecon -RvvF /var/ftp/pub/ 		#刷新

Linux运维--SElinux详解_第3张图片

四、修改文件上下文

1 临时修改文件上下文

/mnt目录中新建文件testfile并移动到ftp发布目录/var/ftp中,使用命令ls -Z查看文件的上下文如下:
在这里插入图片描述
登陆ftp查看文件:
在这里插入图片描述
可以用以下命令来修改文件上下文:

 chcon -t public_content_t testfile				#public_content_t为新的文件上下文

Linux运维--SElinux详解_第4张图片
再次登陆ftp发现可以看到文件testfile
Linux运维--SElinux详解_第5张图片
2 永久更改文件上下文

使用chcon命令更改目录上下文后重启selinux,更改将会还原,要使更改永久生效,需要将目录增加到selinux安全列表中,可以使用以下命令查看selinux安全列表:

 semanage fcontext -l
 semanage fcontext -l | grep ftp		#筛选出与ftp有关的信息

使用以下命令永久更改文件上下文:

 semanage fcontext -a -t public_content_t '/westos(/.*)?'		#将文件或目录添加到selinux安全列表中
 restorecon -RvvF /westos/		#刷新

五、SElinux的排错

在系统中负责记录SElinux错误信息的服务为 setroubshoot-server,并会在/var/log/messages中提供解决方案

示例:
/var/ftp/目录下有ftp不能访问的文件时,错误信息会被记录在/var/log/audit/audit.log
Linux运维--SElinux详解_第6张图片
/var/log/messages中提供解决方案:
Linux运维--SElinux详解_第7张图片
Linux运维--SElinux详解_第8张图片
setroubshoot-server被卸载时,错误信息将不会被记录,并且不会有解决方案

你可能感兴趣的:(运维,linux,运维,selinux,安全部署)