从Azure PaaS托管网站中删除敏感标头

时间:2017-02-16 13:26:59

标签: security azure azure-web-sites iis-8

如果您遵循本文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:

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

样品申请:

Sample Request

示例回应: enter image description here

有没有办法从所有响应中完全删除这些标头,而不只是请求应用程序设法正常处理?我已设法从99%的回复中删除标题,但不是全部!

UPDATE:

我还发现,如果您使用PostMan向GECT发送请求

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

你得到了

enter image description here

UPDATE:

对于/test.txt:的请求是由MS于2017年6月26日确定的。我可以确认此情况已修复。

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

1 个答案:

答案 0 :(得分:0)

如果我们使用带:的网址结尾访问我们将获得500错误的azure网站,则默认操作应为404错误。 Azure团队打开了一个内部bug并计划修复它。