为什么我应该 chmod 511 /usr/local/apache/bin/httpd?

为什么我应该 chmod 511 /usr/local/apache/bin/httpd?

我使用的是 Ubuntu 10.04,并安装了 apache2 HTTP 服务器。
安全页面@apache.org 文档他们建议将文件的权限更改/usr/local/apache/bin/httpd511,但我不明白为什么?

为什么 root 用户不能写入该文件?

该文件的当前配置为:

/usr/lib/apache2/mpm-prefork$ ls -l
total 1412
-rwxr-xr-x 1 root root 1443482 Apr 13 23:23 apache2

我当前的 apache2 二进制文件配置是否被视为危险?

(请注意,在 Ubuntu 中文件路径是/usr/lib/apache2/mpm-prefork/apache2而不是/usr/local/apache/bin/httpd

答案1

根意志总是能够写入文件。我认为这是针对 apache 用户拥有二进制文件的情况。在这种情况下,这是有意义的,因为它可以防止被利用的 apache 用不可靠的二进制文件替换自身(此外,如果您使用的是 ubuntu,您几乎肯定使用的是 apache2.2 而不是 2.0,应该阅读 2.0 中的文档)。

答案2

这里最好的选择是禁用以 root 身份登录,这将缩小 Cian 的答案评论中提到的攻击潜力。此外,root 始终可以在任何需要的地方写入。也许更安全的 chmod 策略是 500,因为这不允许世界在其上执行。

相关内容