改变您的HTTP服务器的缺省banner
Posted felixnet
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了改变您的HTTP服务器的缺省banner相关的知识,希望对你有一定的参考价值。
(以下方法仅针对 IIS Asp.net)
服务器扫描发现漏洞,其中一个是:
可通过HTTP获取远端WWW服务信息 [Microsoft-IIS/8.5]
漏洞描述 本插件检测远端HTTP Server信息。这可能使得攻击者了解远程系统类型以便进行下一步的攻击。
解决方案 NSFOCUS建议您采取以下措施以降低威胁
打开网页,审查代码,我们发现这几个标头明显标明我们的服务器和平台信息,存在安全风险,必须要隐藏
解决方法:
新建一个类库项目 CustomHttpModules,添加一个自定义 HttpModule
namespace CustomHttpModules { public class HeaderFilterHttpModule : IHttpModule { public void Init(HttpApplication context) { context.PreSendRequestHeaders += OnPreSendRequestHeaders; } public void Dispose() { } void OnPreSendRequestHeaders(object sender, System.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-Frame-Options"); } } }
编译后,拷贝DLL到网站BIN目录,修改网站的 Web.config
<system.webServer> <modules> <add name="HeaderFilterModule" type="CustomHttpModules.HeaderFilterHttpModule,CustomHttpModules"/> </modules> <httpProtocol> <customHeaders> <remove name="X-Powered-By"/> </customHeaders> </httpProtocol> </system.webServer>
再次运行网站,审查代码,几个标头全没了,搞定!
这种方法是最安全方便的,只要拷贝一个DLL和修改一处配置,不需要设置IIS(比如虚拟主机),也不需要修改和编译网站代码。
以上是关于改变您的HTTP服务器的缺省banner的主要内容,如果未能解决你的问题,请参考以下文章
我写springboot定制启动的banner.txt文件时使用 $AnsiColor.BRIGHT_YELLOW代码,为啥颜色没有改变