Windows Server 2016 上的 IIS 10。已安装所有当前补丁。最近的 PCI 扫描声称服务器的内部 IP 地址在 HTTP 标头中泄露。不幸的是,这家扫描公司没有向您提供有关他们如何得出此结论的任何详细信息,以便我可以重现它。我的所有研究似乎都表明这不是 IIS 10 中的问题,只是 IIS 的旧版本中的问题。我确实有 URL 重写规则,这些规则使用重定向来确保连接是 https,并且主机名中包含 www。
<rule name="HTTPS Redirect">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="^OFF$" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Permanent" />
</rule>
<rule name="Redirect to www">
<match url="(.*)" />
<conditions trackAllCaptures="false">
<add input="{HTTP_HOST}" pattern="^example\.com$" />
</conditions>
<action type="Redirect" url="https://www.example.com/{R:1}" redirectType="Permanent" />
</rule>
是什么原因导致服务器泄露内部 IP 地址?我该如何防止这种情况发生?我尝试使用,curl -lkL example.com
但在任何返回的标头中都看不到 IP 地址。
答案1
要复制他们尝试的操作,请执行以下操作;
openssl s_client -host www.docuboxportal.com -port 443
...
GET / HTTP/1.0