zoukankan      html  css  js  c++  java
  • 转IIS 屏蔽返回的Header中的 IIS版本信息

    最近一个客户通过专业工具扫描网站,发现了几个低等级的安全问题,其中有csp安全设置缺乏,http请求表头返回敏感信息未处理,跨站攻击防范未处理等,要求我们予以修复。

    说实话,这类事情,国内很多人都没听说过,因为没人重视,也可能是有些人刻意为之的缘故吧,否则那些广告联盟的饭就不好吃了。。。。

    废话少说,现在就把处理的过程简单记录下来:

    首先是在网站配置文件里添加如下节点,用于csp设置,下面的例子设置为最严防范

    1.  
      <system.web>
    2.  
      ...
    3.  
      <httpRuntime enableVersionHeader="false" />
    4.  
      <system.webServer>
    5.  
      ...
    6.  
      <httpProtocol>
    7.  
      <customHeaders>
    8.  
      <add name="X-Frame-Options" value="SAMEORIGIN" />
    9.  
      <add name="Content-Security-Policy" value="default-src 'self'; style-src 'self' 'unsafe-inline'; media-src *; script-src 'self' 'unsafe-eval' 'unsafe-inline'; img-src 'self'"/>
    10.  
      </customHeaders>
    11.  
      </httpProtocol>
    12.  
      </system.webServer>
    13.  
      </system.web>

    然后是禁止iis返回服务器敏感信息,网上查了N种方法,都不行,要么是过时了,要么是没有效果,要么是应用范围比较窄。。。

    最后同事在github上发现了一个开源的项目,可以轻松解决这个问题,现在也贴出来:

    StripHeaders 项目入口

    下载StripHeaders安装文件(.msi)

    我们只要下载msi文件点击安装,然后重启iis就可以了。

    做完之后,再打开网站,就会看到,所有返回的请求头里,server信息以及X-Powered-By、X-AspNet-Version、X-AspNetMvc-Version等都消失了,并且csp也正确反馈出来了。

    注意:如果没有效果,或是页面报错了,可能是系统用户权限不足,需要手动注册一下这个StripHeaders。

    可以用管理员权限打开命令行窗口,执行如下命令:

    C:WindowsSystem32inetsrvappcmd.exe install module /name:StripHeadersModule /image:%windir%system32inetsrvstripheaders.dll /add:true /lock:true

    然后再重启IIS服务,就可以了。

  • 相关阅读:
    <数据挖掘导论>读书笔记8FP树
    <数据挖掘导论>读书笔记7 Apriori算法
    c#:Json字符串转成xml对象
    微信公众平台开发
    一维随机变量及其概率分布
    概率的基本概念
    C#调用OCR组件识别图片文字
    增加系统右键菜单
    visual studio内置“iis”组件提取及二次开发
    《JavaScript权威指南》读书笔记——JavaScript核心
  • 原文地址:https://www.cnblogs.com/xuyufeng/p/14134135.html
Copyright © 2011-2022 走看看