SELinux 中 Web 服务器资源管理与策略定制
1. SELinux 对用户主目录内容访问的控制
SELinux 默认的 Web 服务器策略不允许 Web 服务器访问用户主目录内容。若 Web 应用程序或 Apache Web 服务器本身存在漏洞,攻击者可能读取用户内容,而 SELinux 能阻止此类情况发生。不过,有时确实需要访问用户内容。
- 启用
httpd_read_user_content布尔值:启用该布尔值后,Web 服务器域(及所有相关域)将对所有用户文件拥有完全读取权限。若用户无法(或不知如何)为其文件设置正确上下文,这是唯一合适的选择。 - 启用
httpd_enable_homedirs布尔值:这是更好的方法。它允许 Web 服务器搜索主目录(/home/user/,标签为user_home_dir_t),但不提供对用户内容(标签为user_home_t)的读取权限。Web 服务器所需资源被标记为httpd_user_content_t,普通用户可将资源重新标记为此类型(或从该类型重新标记)。除了httpd_user_content_t,还可定义以下内容类型: httpd_user_htaccess_t:用于.htaccess文件。