SELinux
202.127.29.127(讨论)2013年2月22日 (五) 01:05的版本 (以“Selinux 的安全防护措施主要集中在各种网络服务的访问控制。 对于 Apache 、Samba、NFS 数据库来说,Selinux 仅仅开放了最基本的...”为内容创建页面)
Selinux 的安全防护措施主要集中在各种网络服务的访问控制。
对于 Apache 、Samba、NFS 数据库来说,Selinux 仅仅开放了最基本的运行需求。至于连接外部网络、运行脚本、访问用户目录、共享文件等,必须经过一定的 Selinux 策略调整才能充分发挥网络服务器的作用,在安全和性能直接获取平衡。
SELinux 环境下的 Apache 配置
Apache 的 SELinux 的文件类型
当启用 SELinux 是,Apache HTTP 服务器(httpd)默认情况下在受限的 httpd_t 域中运行,并和其他受限制的网络服务分开。即使一个网络服务被攻击者破坏,攻击者的资源和可能造成的损害是有限的。
下面的示例演示的是 SELinux 下的 httpd 进程。
$ ps -eZ | grep httpd unconfined_u:system_r:httpd_t:s0 2850 ? 00:00:00 httpd unconfined_u:system_r:httpd_t:s0 2852 ? 00:00:00 httpd ……
和 SELinux 上下文相关的 httpd 进程是 system_u:system_r:httpd_t:s0。 httpd 进程都运行在 httpd_t 域中。文件类型必须正确设置才能让 httpd 访问 。例如 httpd 可以读取文件类型是 httpd_sys_content_t,但不能写和修改。此外 httpd 不能访问 samba_share_t 类型的文件(Samba 访问控制的文件),也不能访问用户主目录中被标记为与 user_home_t 文件类型,主要是防止 httpd 读写用户主目录中的文件并且继承其访问权限。httpd 可以读写的文件类型是 httpd_sys_content_rw_t。
Apache 默认的文档根目录类型是 httpd_sys_content_t。
除非另外设置 httpd 只能访问/var/www/html/目录中的 httpd_sys_content_t 类型的文件和子目录。