SELinux 的作用

SELinux 主要作用就是最大限度地减小系统中服务进程可访问的资源(最小权限原则) 属于内核级加强型防火墙 在 CentOS 7 系统中,有三套政策,分别是:

  1. targeted:对大部分网络服务进程进行管制。这是系统默认使用的政策(下文均使用此政策)。

  2. minimum:以 targeted 为基础,仅对选定的网络服务进程进行管制。一般不用。

  3. mls:多级安全保护。对所有的进程进行管制。这是最严格的政策,配置难度非常大。一般不用,除非对安全性有极高的要求。

政策可以在 /etc/selinux/config 中设定。 1.针对文件,会对系统中每个文件添加安全上下文(context) 2.针对进程,会对系统中的每个进程添加全上下文(context) 3.会在系统服务上设定sebool开关 4.当进程安全上下文和文件的安全上下文不匹配时,那么进程无法访问此文件 5.sebool会限制服务的不安全功能,如果需要用此功能,必须调整sebool值

管理selinux

SELINUX 有三种工作模式,分别是: SELINUX=enforcing ---> selinux开启,级别为强制 SELINUX=permissive ---> selinux开启,级别为警告 SELINUX=disabled ---> selinux关闭, setenforce 0|1 ---> 更改selinux当前的级别0警告1标示强制 getenforce ---> 查看selinux的状态 默认是强制模式,设置临时警告模式 selinux的配置文件 vim /etc/sysconfig/selinux 关闭selinux 需重启

注 ---> 当selinux从关到开,或者从开到关,需要重启系统

selinux中对文件安全上下文的设定 安全上下文是 SELinux 的核心。

安全上下文我自己把它分为「进程安全上下文」和「文件安全上下文」。

一个「进程安全上下文」一般对应多个「文件安全上下文」。

只有两者的安全上下文对应上了,进程才能访问文件。它们的对应关系由政策中的规则决定 临时更改适用于更改文件安全上下文 chcon -t 安全上下文 文件 chcon -t public_content_t /var/ftp/f1 默认文件f1的上下文 注 ---> selinux默认强制级别,禁止vsftpd服务访问文件 临时设置安全上下文 更改后vsftpd服务可访问文件

永久更改文件安全上下文 semanage fcontext -l 查看上下文 默认目录test的上下文

修改 安全上下文 更改后vsftpd服务可访问文件 selinux的bool值的设定 sebool值是控制服务功能开关

getsebool -a | grep ftp setsebool -P bool值 on selinux的排错 排错工具 排错日志 系统服务日志 日志里会有解决方法