IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    HTTP安全报告

    David Yin发表于 2015-12-16 20:38:08
    love 0

    HTTP Security Report,就是HTTP安全报告是用来测试网站在网络安全方面的工具。
    今天检测了一下本站。结果得分为48。
    查看一下细节:
    服务器时钟:正确
    HSTS设置:正确
    Runtime Information:正确
    Iframe Sandbox:正确
    HTTP Strict Transport Security:正确
    Mixed HTTPS and HTTP: 正确
    SSL/TLS设置:正确

    有问题的是下面几项:

    • Content Security Policy
    • Content Type Options
    • Public Key Pins
    • Frame Options
    • Subresource Integrity
    • Cache Control
    • Server Banner

    http-security-report.jpg

    接下来就对这些有问题的项目进行研究和观察,修改设置,从最简单的入手。

    Server Banner:主要是服务器版本号在响应头中出现,那么就隐藏它。

    本站使用的是Nginx,隐藏版本号只需要修改 /etc/nginx/nginx.conf 文件,添加下面一行到 http 块中。

    server_tokens off;

    然后重新载入 nginx 服务器。

    Content Type Options: 是所谓类型嗅探,当一个文件的内容类型不是标准的时候,某些浏览器会启用MIME-sniffing来猜测资源类型,并解析执行,这时会有安全隐患。所以我就在 Nginx 的Server块中增加了下面这段指令,然后重启。

    add_header X-Content-Type-Options nosniff;

    现在重新测试,得分已经到了61分了。
    接着修复安全问题。

    Frame Opetions:这个是用来控制网站是否被允许放在iframe或者frame,或object标签中。禁止framing,可以阻止clickjacking攻击。

    我这里是在 Nginx 的 配置文件中, server块里加入下面这行,只允许本站嵌入。

    add_header X-Frame-Options sameorigin;

    其实这里还有两种配置, sameorigin 意思就是允许本站嵌入; allow-from uri 意思是可以允许指定的域名嵌入。

    得分升到69了。

    Cache Control:这时常用的缓存控制机制,允许的参数有 public,private,nocache或者no-store。这里我选择的是 public。在配置文件的 server 块中,加入下面这行,容纳后重启nginx。

    add_header Cache-Control "public";

    此时再测安全性,得到的分数是84了。

    Web Framework Information: 就是指的类似 x-Powered-By,x-Runtime,之类的显示网站所用技术的文件头。本站所透露的就是

    1. x-powered-by:
      PHP/5.5.9-1ubuntu4.14

    暴露了版本号会让黑客知道你用的是否是已经落后的软件,而落后过时的软件可能会有没有修补的漏洞。

    所以,基于本站的情况,在php.ini 配置文件中,修改下面这个相关参数后重启php5-fpm。

    expose_php = off

    现在所测得的分数已经到了90分了。

    另外还有三项没有配置。这里也介绍一下。

    Content Security Policy,是用于定义页面可以加载哪些资源,以减少XSS的发生。它可以定义不同类型的资源所允许的加载策略,包括script,style,img,font等等。

    Public Key Pins:防止证书被中间人劫持的机制。

    Subresource Integrity:在使用CDN的时候,用来验证所下载的资源没有被中途篡改的机制。

    上面三项都是比较复杂,而且需要仔细规划后才能使用的,而错误的配置可能会带来很多的麻烦,所以,就先不动它们了。

    所以本站现在的HTTP安全等分是90分。

    把网站放在Dreamhost,通过LinkWorth获取广告收益,每个链接高达$40。
    好用的VPN
    Site Meter

    延伸阅读

    • 六月回顾
    • Let's Encrypt路线图
    • HTTP状态码
    • Google AdSense的三个新变化
    • 二月回顾
    • 一周更新
    • 如何减少页面的http请求,以提高页面载入速度
    • 做好VPS安全工作
    • Google不再逆来顺受
    • Proxy Caching 设置方法


沪ICP备19023445号-2号
友情链接