发布时间:2014-09-05 17:06:00作者:知识屋
简介
本单元涵盖的主题:
复习基本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运维” 博客
linux一键安装web环境全攻略 在linux系统中怎么一键安装web环境方法
Linux网络基本网络配置方法介绍 如何配置Linux系统的网络方法
Linux下DNS服务器搭建详解 Linux下搭建DNS服务器和配置文件
对Linux进行详细的性能监控的方法 Linux 系统性能监控命令详解
linux系统root密码忘了怎么办 linux忘记root密码后找回密码的方法
Linux基本命令有哪些 Linux系统常用操作命令有哪些
Linux必学的网络操作命令 linux网络操作相关命令汇总
linux系统从入侵到提权的详细过程 linux入侵提权服务器方法技巧
linux系统怎么用命令切换用户登录 Linux切换用户的命令是什么
在linux中添加普通新用户登录 如何在Linux中添加一个新的用户
2012-07-10
CentOS 6.3安装(详细图解教程)
Linux怎么查看网卡驱动?Linux下查看网卡的驱动程序
centos修改主机名命令
Ubuntu或UbuntuKyKin14.04Unity桌面风格与Gnome桌面风格的切换
FEDORA 17中设置TIGERVNC远程访问
StartOS 5.0相关介绍,新型的Linux系统!
解决vSphere Client登录linux版vCenter失败
LINUX最新提权 Exploits Linux Kernel <= 2.6.37
nginx在网站中的7层转发功能