您的位置:首页 > 理论基础 > 计算机网络

改变您的HTTP服务器的缺省banner

2017-01-27 21:53 1411 查看
(以下方法仅针对 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(比如虚拟主机),也不需要修改和编译网站代码。

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: