我如何确保我的 Apache 配置是安全的?我的意思是防止攻击等等……
答案1
一些通用的(不仅仅适用于 Apache)提示:
最好的解决方案是确保您真正理解配置文件中的所有内容。Apache httpd 帮不上什么忙,因为它的配置文件语法和逻辑比它本来的要复杂得多。无论如何,尽量不要重复使用(剪切和粘贴)您不理解的配置,尤其是来自与您的系统完全不同的系统的配置。不要加载或启用服务器操作不需要的任何模块。当为某些客户端或资源启用更多权限时,请尝试尽可能保持规则的具体性。
当使用发行版附带的默认配置文件时,即使您不太理解它,您通常也可能认为它是安全的。但是,您应该小心添加代码,因为它将与默认配置交互 - 例如,即使您不授予对某些目录(例如某些 /cgi-bin/)的访问权限,发行版默认值也可能授予访问权限。
答案2
如果您的操作系统支持,则服务器运行时的用户 ID 应只读配置和内容。只有已知由 Apache 生成的动态内容所需的目录才应由 Apache 写入。限制可从这些目录提供的文件类型。
答案3
这不是一个简单的问题——有很多因素需要考虑,并且还取决于您的设置和要求。
您需要先做一些背景阅读和研究。
为了指导你的理解,在你的系统上运行某种扫描程序也可能会有所帮助 - 例如 Nikto 或 McAfee 的商业 PCI 扫描程序之一(http://www.mcafeesecure.com/us/technology-intro.jsp)。我两者都用。
答案4
根据我的经验,Apache 的安全性取决于它所服务的内容。通常,内容是由应用程序生成的(php 非常流行)。这就是事情变得非常复杂的地方。在这些情况下,帮助保护 Apache 的一种方法是 Mod Security。 http://www.modsecurity.org/