在Apacheconfiguration中使用ServerAlias *有没有可能的问题?
有一点我考虑: ServerAlias基于客户端传递的HTTP头中的HTTP_HOST,显然可以由客户端手动修改。 有没有任何价值,用户可以通过HTTP_HOST发送,这可能是有害的/破坏服务器?
那么,不应该有这个需要。 如果没有其他VirtualHosts与主机名匹配,服务器将使用默认的虚拟主机,这是configuration中的第一个虚拟主机。 因此默认的虚拟主机通常被命名为000-default ; 只是在/etc/apache2/sites-enabled成为第一个。
所以你可以通过重命名sites-enabled的符号链接来实现相同的结果。 或者你可以使000-default为redirect到你的实际域。
我不认为目前Apache中有任何已知的漏洞只能使用HTTP_HOST 。 但是,这取决于您在默认虚拟主机上运行的应用程序,例如允许通过HTTP_HOST修改一些可利用的variables的PHP脚本。 事实上,通过使000-default只是一个redirect,你也可以防止(小)风险。
不,我的理解是简短的答案。 正如Esa Jokinen所提到的那样,Apache本身可能不会直接使用HTTP_HOST而受到伤害,但是它可能会为运行在Apache上的应用程序造成问题。 从那里恶意攻击的可能性成倍增长。
在阅读了这篇文章之后, 实际的HTTP Host头部攻击可以更好地理解HTTP_HOST攻击是如何发生的,以及它们可能会产生什么影响。 在文章中,攻击示例使用curl欺骗HTTP_HOST以包含额外的非预期内容。 以下是连接到本地主机并保存输出的类似示例:
curl -H "Host: fakehostPLUS\"onerror='alert(1)'rel='stylesheet'" localhost -o file.html