IIS 10 如何从响应标头中删除内部 IP 地址

IIS 10 如何从响应标头中删除内部 IP 地址

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

答案2

这可能通过 HTTP 响应标头暴露。在浏览器开发人员工具中检查标头的常规信息。附件是本地应用程序的屏幕截图,因此它仅显示本地地址。在发送响应之前重写服务器变量可能会有所帮助。

在此处输入图片描述

相关内容