新风花雪月 发表于 2017-12-28 17:45:56

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

  (以下方法仅针对 IIS Asp.net)
  服务器扫描发现漏洞,其中一个是:
  可通过HTTP获取远端WWW服务信息
  漏洞描述 本插件检测远端HTTP Server信息。这可能使得攻击者了解远程系统类型以便进行下一步的攻击。
  解决方案NSFOCUS建议您采取以下措施以降低威胁
  打开网页,审查代码,我们发现这几个标头明显标明我们的服务器和平台信息,存在安全风险,必须要隐藏

  解决方法:
  新建一个类库项目 CustomHttpModules,添加一个自定义 HttpModule
  

namespace CustomHttpModules  
{
public>{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(比如虚拟主机),也不需要修改和编译网站代码。
页: [1]
查看完整版本: 改变您的HTTP服务器的缺省banner