我如何通过 Web 服务器阻止外部人员查看我所使用的技术(例如 apache 和/或 php)?

我如何通过 Web 服务器阻止外部人员查看我所使用的技术(例如 apache 和/或 php)?

我在本地运行一个测试服务器,该服务器也在 Mac 上广播(用于教育目的),我从另一台计算机运行了一个名为 acunetix(www.acunetix.com)的软件,它能够检测到服务器上使用的技术。我怎样才能阻止任何人查看这些信息?

答案1

您到底想阻止什么信息?

如果你说的是服务器的签名,例如

Server: Apache/2.2.9 (Debian) PHP/5.2.6-1+lenny3 with Suhosin-Patch mod_ssl/2.2.9 OpenSSL/0.9.8g 

可以通过在 httpd.conf 中设置以下参数轻松删除此设置

ServerTokens Prod
ServerSignature Off

此外,PHP 是否可能设置一个标头来公开其版本,例如

X-Powered-By: PHP/5.2.6-1+lenny3

您可以使用以下参数在 php.ini 中删除它

expose_php = Off

但这并不能阻止 acunetix 等软件进行完整的信息收集。这些软件旨在收集它们能收集的任何信息,从您的网站返回的 HTML 代码到扫描仪和服务器之间的网络通信的 TCP Windows 大小(不谈域和 DNS 查询等)。信息收集是计算机安全的一个完整领域。

答案2

我的回答Stack Overflow 上的这个问题可能会有所帮助。

重要的是要意识到,即使你掩盖了所有更明显的公开可见的实施迹象,一个足够坚定的人仍然有可能确定正在运行的环境。一种可能的方法是使用 TCP 指纹识别来确定可能的操作系统,然后开始在此基础上探索漏洞。

相关内容