29.15. 保护 Apache 安全

更改 Web 服务器上一些重要的文件和目录权限。在服务器上安装 Apache 时,默认情况下,某些文件和目录的权限设置过多。二进制程序httpd可以设置为超级用户只读root,并设置为所有者、组和其他人可执行,以提高安全性。目录/etc/httpd/conf/var/log/httpd不需要对其他人可读、可写或可执行。
        [root@deep ]/# chmod 511 /usr/sbin/httpd
        [root@deep ]/# chmod 750 /etc/httpd/conf/
        [root@deep ]/# chmod 750 /var/log/httpd/
      

如果您在 Apache 配置文件中启用了目录的自动索引功能;IndexOptionshttpd.conf,那么您将遇到安全问题,因为任何对找不到索引文件的目录的请求都将构建该目录中内容的索引。在许多情况下,您可能只想让人们看到您专门链接到的文件。要关闭此功能,您需要删除DocumentRoot目录的读取权限,但不包括目录内的文件。
        [root@deep ]/# cd /home/httpd/
        [root@deep ]/httpd# chmod 311 ona
        [root@deep ]/httpd# ls -la
      

        d-wx--x--x   13 webadmin webadmin     1024 Jul 28 08:12 ona
      
现在,通过此修改,任何对此受保护目录的请求都应返回类似如下的错误消息

        Forbidden
        You don't have permission to access /ona/ on this server.
      

Tip: onaDocumentRoot,您将从中提供文档的目录,在我们的示例中。