关于网站csp(Content Security Policy)以及过滤服务器敏感信息的设置问题

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

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

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

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

<system.web>
  ...
  <httpRuntime enableVersionHeader="false" />
  <system.webServer>
    ...
    <httpProtocol>
      <customHeaders>
        <add name="X-Frame-Options" value="SAMEORIGIN" />        
        <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'"/>
      </customHeaders>
    </httpProtocol>
  </system.webServer>
</system.web>

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

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

StripHeaders 项目入口

下载StripHeaders安装文件(.msi)

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

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

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

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

C:\Windows\System32\inetsrv\appcmd.exe install module /name:StripHeadersModule /image:%windir%\system32\inetsrv\stripheaders.dll /add:true /lock:true

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

 

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值