【Azure 应用服务】在安全漏洞扫描中发现有泄露服务器IIS版本的情况,如何实现屏蔽服务版本号信息呢?
问题描述
当对Azure App Service应用进行安全扫描时,发现了HTTP/S请求的响应头中会包含服务端IIS的版本信息,这是一个低风险因素。
如:
Server: Microsoft-IIS/10.0 X-AspNet-Version: 4.0.30319 X-AspNetMvc-Version: 5.2 X-Powered-By: ASP.NET
如来修改App Service的Web.config来屏蔽这些信息呢?
问题解答
进入App Service的高级工具Kudu站点:
在已有的web.config中,添加如下两部分内容。
1:在web.config文件中的system.webServer 部分增加
<security> <requestFiltering removeServerHeader="true" /> </security>
2:如果想屏蔽 Server,X-AspNet-Version,X-AspNetMvc-Version 和 X-Powered-By,需要增加:
<httpProtocol> <customerHeaders> <remove name="Server" /> <remove name="X-AspNet-Version" /> <remove name="X-AspNetMvc-Version" /> <remove name="X-Powered-By" /> </customerHeaders> </httpProtocol>
和
<system.web> <httpRuntime targetFramework="4.7.2" enableVersionHeader="false" /> </system.web>
修改后的web.config,应该类似:
<?xml version="1.0" encoding="utf-8"?> <!-- For more information on how to configure your ASP.NET application, please visit https://go.microsoft.com/fwlink/?LinkId=301880 --> <configuration> <appSettings> <add key="webpages:Version" value="3.0.0.0"/> </appSettings> <system.web> <compilation targetFramework="4.7.2"/> <httpRuntime targetFramework="4.7.2" enableVersionHeader="false" /> </system.web> <system.webServer> <httpProtocol> <customHeaders> <remove name="Server" /> <remove name="X-AspNet-Version" /> <remove name="X-AspNetMvc-Version" /> <remove name="X-Powered-By" /> </customHeaders> </httpProtocol> <security> <requestFiltering removeServerHeader="true" /> </security> </system.webServer> </configuration>
经过以上的操作后,成功的删除了Server,X-AspNet-Version, X-Powered-By的消息,但是, X-AspNetMvc-Vserion 依然存在。
在博客园中查找到通过以下的方式来隐藏 X-AspNetMvc-Version信息。
标头名称:X-AspNet-Version
在web.config的httpRuntime部分中-设置:
<httpRuntime enableVersionHeader="false" />
标头名称:X-AspNetMvc-Version
从global.asax中的Application_Start事件-执行以下代码(C#):
MvcHandler.DisableMvcResponseHeader = true;
[END]
当在复杂的环境中面临问题,格物之道需:浊而静之徐清,安以动之徐生。 云中,恰是如此!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2021-08-31 【Azure 媒体服务】记录一个简单的媒体视频上传到Media Service无法播放问题
2020-08-31 【API管理 APIM】APIM中对后端API服务的DNS域名缓存问题