asp.net mvc程序部署到IIS,,返回的HTTP头中包含Server, X-Powered-By, 和 X-AspNet-Version、X-AspNet-Version信息. 这些信息有时给攻击者找寻你的站点漏洞提供的依据.
如下图所示:
1.移除X-AspNet-Version
在webconfig中做如下配置:
2.移除X-AspNetMvc-Version
在Global.asax中做如下配置
3.移除Server
3.1自定义server处理模型:
//移除http相应中的server Server: Microsoft-IIS/10. public class CustomHeaderModule : IHttpModule { public void Init(HttpApplication context) { context.PreSendRequestHeaders += OnPreSendRequestHeaders; } public void Dispose() { throw new NotImplementedException(); } void OnPreSendRequestHeaders(object sender, EventArgs e) { //HttpContext.Current.Response.Headers.Remove("Server"); // 你可以在此设置 HttpContext.Current.Response.Headers.Remove("Server"); } }
3.2在webconfig中做如下配置:
<add name="CustomHeaderModule" type="EUQ.Boss.App_Start.CustomHeaderModule" />
4.移除X-Powered-By: ASP.NET
打开IIS管理器,定位到当前站点,找到HTTP响应标头
删除节点:
如上操作相当于在webconfig中做如下配置:
<httpProtocol> <customHeaders> <remove name="X-Powered-By" /> </customHeaders> </httpProtocol>