管理SELINUX


 

简介

本单元涵盖的主题:

 复习基本SELinux 概念

 显示和设置SELinux 模式

 显示和设置SELinux 文件上下文

 通过SELinux 布尔值调整策略行为

 监控SELinux 策略冲突情况

                                                基本SELinux 安全性概念

SELinux (安全增强型Linux )是保护您的系统的另一种方法。

假设我们希望允许远程匿名访问Web 服务器,我们必须通过防火墙打开端口。然而,这意味着恶意人

员可以尝试利用安全漏洞以及,如果他们损坏Web 服务器进程,获得apache 用户和apache 组的权

限来强行进入系统。该用户/ 组具有document root ( /var/www/html )等的读取权限以及/tmp 、

/var/tmp 和所有人均可写的任何其他文件/ 目录的写入权限。

SELinux 是一组可确定哪个进程能访问哪些文件、目录、端口等的安全规则。每个文件、进程、目录和

端口都具有专门的安全标签,称为SELinux 上下文。上下文只是一个名称, SELinux 策略使用它来确定

某个进程是否能访问文件、目录或端口。默认情况下,该策略不允许任何交互,因此明确的规则授予访

问权限。如果没有允许规则,则不允许访问。

SELinux 的目标之一是保护用户数据免受已泄漏的系统服务的威胁。

ELinux 模式

为了进行故障排除,我们可以临时禁用SELinux 保护,使用SELinux 模式。

在强制模式中, SELinux 主动拒绝访问尝试读取类型上下文为tmp_t 的文件的Web 服务器。在强制

模式中, SELinux 不仅记录而且提供保护。

许可模式通常用于对问题进行故障排除。在许可模式中,即使没有明确规则, SELinux 也允许所有交

互,并且记录所有被拒绝的交互。此模式可以用于确定您是否有SELinux 问题。无需重新引导即可从

强制模式转为许可模式,或再从许可模式转回强制模式。

第三个模式禁用,将完全禁用SELinux 。您必须重新引导才能彻底禁用SELinux ,或者从禁用模式

转为强制模式或许可模式。semanage fcontext 可用与显示或修改restorrecon 用来设置默认文件上下文的规则。它使用扩展正

则表达式来指定路径和文件名。fcontext 规则中最常用的扩展正则表达式是(/.*)?, 表示随意地匹配/ 后

跟任何数量的字符。本质上,它将递归地与在表达式前面列出的目录以及该目录中的所有内容相匹配。

restorecon 是policycoreutil 软件包的一部分, semanage 是policycoreutil-python 软件包的一部

分。root@serverX ~]# mkdir /virtual

[root@serverX ~]# touch /virtual/index.html

[root@serverX ~]# ls -Zd /virtual/

drwxr-xr-x. root root unconfined_u:object_r:default_t:s0 /virtual/

[root@serverX ~]# ls -Z /virtual/

-rw-r--r--. root root unconfined_u:object_r:default_t:s0 index.html

[root@serverX ~]# semanage fcontext -a -f "" -t httpd_sys_content_t '/virtual(/.*)?'

[root@serverX ~]# restorecon -RFvv /virtual/

restorecon reset /virtual context system_u:object_r:default_t:s0-

>system_u:object_r:httpd_sys_content_t:s0

restorecon reset /virtual/index.html context system_u:object_r:default_t:s0-

>system_u:object_r:httpd_sys_content_t:s0

[root@serverX ~]# ls -Zd /virtual/

drwxr-xr-x. root root system_u:object_r:httpd_sys_content_t:s0 /virtual/

[root@serverX ~]# ls -Z /virtual/

-rw-r--r--. root root system_u:object_r:httpd_sys_content_t:s0 index.html管理SELinux 布尔值

SELinux 布尔值是更改SELinux 策略行为的开关。SELinux 布尔值是可以启用或禁用的规则。安全管

理员可以使用SELinux 布尔值来调整策略,以有选择地进行调整。许多软件包都具有man page

*_selinux(8), 其中详细说明了所使用的一些布尔值; man -k ‘_selinux’ 可以轻松地找到这些手册。

getsebool 用于显示布尔值, setsebool 用于修改布尔值。setsebool -P 修改SELinux 策略,以永久

保留修改。semanage boolean -l 将显示布尔值是否永久。

[root@serverX ~]# getsebool -a

abrt_anon_write --> off

.....

[root@serverX ~]# getsebool httpd_enable_homedirs

httpd_enable_homedirs --> off

[root@serverX ~]# setsebool httpd_enable_homedirs on

[root@serverX ~]# semanage boolean -l |grep httpd_enable_homedirs

httpd_enable_homedirs

-> off Allow httpd to read home directories

[root@serverX ~]# getsebool httpd_enable_homedirs

httpd_enable_homedirs --> on

[root@serverX ~]# setsebool -P httpd_enable_homedirs on

[root@serverX ~]# semanage boolean -l |grep httpd_enable_homedirs

httpd_enable_homedirs

-> on

Allow httpd to read home directories

 

本文出自 “linux运维” 博客

相关内容

    暂无相关文章