我需要删除excessive headers (主要是为了通过渗透测试)。我花了很多时间研究涉及运行UrlScan的解决方案,但作为UrlScan needs to be installed each time an Azure instance is started,这些解决方案都很麻烦。
对于Azure来说,必须有一个好的解决方案,它不需要从startup.cmd部署安装程序。
我知道响应头是在different places中添加的
由IIS.
有什么方法可以配置(通过web.config等)吗?删除/隐藏/禁用asafaweb.com响应头,以避免在Azure中出现“过多的报头”警告,而不创建IIS7模块或部署每次启动时都需要运行的安装程序?
发布于 2014-01-12 00:39:26
MSDN发布了关于如何在Azure网站上隐藏标题的this article。现在,您可以通过将条目添加到system.webServer来对web.config隐藏服务器
<security>
<requestFiltering removeServerHeader ="true" />
</security>
然而,VS会因为上面的无效而皱起眉头。上面的链接有图片代码,很难找到。MVC版本仍然是隐藏在应用程序启动如上,相同的x-powered-by和.Net版本。
发布于 2012-10-10 03:29:15
在NuGet上还有一个包,它可以通过几行配置来帮助您实现这一点,并且不需要修改代码: NWebsec。有关删除版本头的文档可在以下位置找到:https://github.com/NWebsec/NWebsec/wiki/Suppressing-version-headers
在这里演示:http://www.nwebsec.com/HttpHeaders/VersionHeaders (在Azure中)
免责声明:我是这个项目的开发者。
发布于 2017-07-12 06:06:14
尼克·埃文斯的答案很完美但是..。
如果出于安全的目的而删除这些头文件,不要忘了更改ASP.NET Session coockie name
!因为当您看到以下内容时,更容易猜测所使用的语言或服务器版本:
更改cookie名称的:(要有创意)
<system.web>
<sessionState cookieName="PHPSESSID" />
</system.web>
https://stackoverflow.com/questions/12803972
复制相似问题