SELinux全面详细介绍

SELinux简介

SELinux全称是Security Enhanced Linux,由美国国家安全部(National Security Agency)领导开发的GPL项目,,它拥有一个灵活而强制性的访问控制结构,旨在提高Linux系统的安全性,提供强健的安全保证,可防御未知攻击,据称相当于B1级的军事安全性能。比MS NT所谓的C2等高得多。

应用SELinux后,可以减轻恶意攻击或恶意软件带来的灾难,并提供对机密性和完整性有很高要求的信息很高的安全保障。 SELinux vs Linux 普通Linux安全和传统Unix系统一样,基于自主存取控制方法,即DAC,只要符合规定的权限,如规定的所有者和文件属性等,就可存取资源。在传统的安全机制下,一些通过setuid/setgid的程序就产生了严重安全隐患,甚至一些错误的配置就可引发巨大的漏洞,被轻易攻击。

而SELinux则基于强制存取控制方法,即MAC,透过强制性的安全策略,应用程序或用户必须同时符合DAC及对应SELinux的MAC才能进行正常操作,否则都将遭到拒绝或失败,而这些问题将不会影响其他正常运作的程序和应用,并保持它们的安全系统结构。

SELinux的相关配置文件

SELinux的配置相关文件都在/etc/selinux下,其中/etc/selinux/targeted目录里就包含了策略的详细配置和context定义,以下是主要文件及功用:

/etc/selinux/targeted/contexts/*_context 默认的context设置 /etc/selinux/targeted/contexts/files/* 精确的context类型划分 /etc/selinux/targeted/policy/* 策略文件

Apache under SELinux

Apache under SELinux – 让Apache跑得顺起来!对于刚使用RedHat Enterprise Linux 4 或Fedora Core 2以上/CentOS 4的用户,一定会为Apache经常无法正常运转,报以”Permission denied”等错误而大为不解,甚至大为恼火。其实这是因为这些系统里激活了SELinux,而用户的apache配置与SELinux的配置策略有抵触产生的,只有通过适当调整,使apache的配置和访问符合策略才能正常使用。现在下面来分析一下SELinux中有关httpd(apache)的context定义(略有删节)/home/[^/]+/((www)|(web)|(public_html))(/.+)? system_u:object_r:httpd_user_content_t/var/www(/.*)? system_u:object_r:httpd_sys_content_t/var/www/cgi-bin(/.*)? system_u:object_r:httpd_sys_script_exec_t/usr/lib/cgi-bin(/.*)? system_u:object_r:httpd_sys_script_exec_t/var/www/perl(/.*)? system_u:object_r:httpd_sys_script_exec_t/var/www/icons(/.*)? system_u:object_r:httpd_sys_content_t/var/cache/httpd(/.*)? system_u:object_r:httpd_cache_t/etc/vhosts — system_u:object_r:httpd_config_t/usr/sbin/httpd — system_u:object_r:httpd_exec_t/usr/sbin/apache(2)? — system_u:object_r:httpd_exec_t/usr/sbin/suexec — system_u:object_r:httpd_suexec_exec_t/var/log/httpd(/.*)? system_u:object_r:httpd_log_t/var/log/apache(2)?(/.*)? system_u:object_r:httpd_log_t/var/log/cgiwrap\.log.* — system_u:object_r:httpd_log_t/var/cache/ssl.*\.sem — system_u:object_r:httpd_cache_t/var/cache/mod_ssl(/.*)? system_u:object_r:httpd_cache_t/var/run/apache(2)?\.pid.* — system_u:object_r:httpd_var_run_t/var/lib/httpd(/.*)? system_u:object_r:httpd_var_lib_t/var/lib/php/session(/.*)? system_u:object_r:httpd_var_run_t/etc/apache-ssl(2)?(/.*)? system_u:object_r:httpd_config_t/usr/lib/apache-ssl(/.*)? — system_u:object_r:httpd_exec_t/usr/sbin/apache-ssl(2)? — system_u:object_r:httpd_exec_t/var/log/apache-ssl(2)?(/.*)? system_u:object_r:httpd_log_t/var/run/apache-ssl(2)?\.pid.* — system_u:object_r:httpd_var_run_t/var/run/gcache_port -s system_u:object_r:httpd_var_run_t/var/lib/squirrelmail/prefs(/.*)? system_u:object_r:httpd_squirrelmail_t/usr/bin/htsslpass — system_u:object_r:httpd_helper_exec_t/usr/share/htdig(/.*)? system_u:object_r:httpd_sys_content_t/var/lib/htdig(/.*)? system_u:object_r:httpd_sys_content_t

对于沙漠中的旅行者,最可怕的不是眼前无尽的荒漠,而是心中没有绿洲。

SELinux全面详细介绍

相关文章:

你感兴趣的文章:

标签云: