【问题标题】:Remove sensitive Headers from Azure PaaS hosted Websites从 Azure PaaS 托管网站中删除敏感标头
【发布时间】:2017-02-16 13:26:58
【问题描述】:

如果您关注这篇文章Azure Blog,您可以删除服务器、X-Powered-By 和 MVC 版本,非常棒。

您也可以通过以下方法使用自定义 IIS 模块实现类似功能:

private void OnPreSendRequestHeaders(object sender, EventArgs e)
{
   HttpContext.Current?.Response.Headers.Remove("Server");
   HttpContext.Current?.Response.Headers.Remove("X-AspNet-Version");
   HttpContext.Current?.Response.Headers.Remove("X-AspNetMvc-Version");
   HttpContext.Current?.Response.Headers.Remove("X-Powered-By");
}

但是,如果您发送以下查询字符串:

https://yourAppService.azurewebsites.net/test.txt:

您设法避免了为避免发送您试图远离潜在黑客的标头而采取的所有步骤。

样品请求:

示例响应:

有没有办法从 ALL 响应中完全删除这些标头,而不仅仅是应用程序设法优雅处理的请求?我已经设法从 99% 的响应中删除了标题,但不是全部!

更新:

我还发现如果你使用 PostMan 发送 GET 请求到

https://yourSite.azurewebsites.net/400errortest%00

你得到

更新:

MS 在 2017 年 6 月 26 日报告了对 /test.txt 的请求已修复。我可以确认它已针对这种情况修复。

通过 PostMan 对 https://yourSite.azurewebsites.net/400errortest%00 的请求仍然返回一个不太好的服务器标头。

【问题讨论】:

标签: security azure azure-web-app-service iis-8


【解决方案1】:

如果我们使用以:结尾的url访问azure网站会报500错误,默认动作应该是404错误。 Azure 团队开通了内部bug 并计划修复它。

【讨论】:

  • 感谢 Tom - 我无法真正将此标记为答案,因为它还无法真正解决问题,因为它需要 PaaS 团队采取行动。当/如果可以解决问题时,我可能会提供开发人员为解决此问题而必须进行的任何配置/代码更改的详细信息,并在那时接受我自己的答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-07-24
  • 2023-02-09
  • 1970-01-01
  • 1970-01-01
  • 2019-09-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多