前端技术

HTTP安全总结

2018-09-28  本文已影响19人  剑有偏锋

最近看HTTP安全类的内容,也在项目中用到

一 SSL网站证书申请

使用 Let's Encrypt 提供的证书,免费90天,可用如下脚本工具自动续签
https://github.com/certbot/certbot
https://github.com/Neilpang/acme.sh

二 nginx开启安全HTTP头

(1)X-Frame-Options 指定此网页是否允许被 iframe 嵌套
(2)X-Content-Type-Options 指定浏览器对未指定或错误指定 Content-Type 资源真正类型的猜测行为
(3)X-XSS-Protection 也可以用来防范 XSS攻击
(4)Strict-Transport-Security 通知浏览器强制转换HTTP为HTTPS访问
(5)Content-Security-Policy 用来指定页面可以加载哪些资源,主要目的是减少 XSS 的发生。

    # config to don't allow the browser to render the page inside an frame or iframe
    # and avoid clickjacking http://en.wikipedia.org/wiki/Clickjacking
    # if you need to allow [i]frames, you can use SAMEORIGIN or even set an uri with ALLOW-FROM uri
    # https://developer.mozilla.org/en-US/docs/HTTP/X-Frame-Options
    add_header X-Frame-Options SAMEORIGIN;

    # when serving user-supplied content, include a X-Content-Type-Options: nosniff header along with the Content-Type: header,
    # to disable content-type sniffing on some browsers.
    # https://www.owasp.org/index.php/List_of_useful_HTTP_headers
    # currently suppoorted in IE > 8 http://blogs.msdn.com/b/ie/archive/2008/09/02/ie8-security-part-vi-beta-2-update.aspx
    # http://msdn.microsoft.com/en-us/library/ie/gg622941(v=vs.85).aspx
    # 'soon' on Firefox https://bugzilla.mozilla.org/show_bug.cgi?id=471020
    add_header X-Content-Type-Options nosniff;

    # This header enables the Cross-site scripting (XSS) filter built into most recent web browsers.
    # It's usually enabled by default anyway, so the role of this header is to re-enable the filter for
    # this particular website if it was disabled by the user.
    # https://www.owasp.org/index.php/List_of_useful_HTTP_headers
    add_header X-XSS-Protection "1; mode=block";

    # config to enable HSTS(HTTP Strict Transport Security) https://developer.mozilla.org/en-US/docs/Security/HTTP_Strict_Transport_Security
    # to avoid ssl stripping https://en.wikipedia.org/wiki/SSL_stripping#SSL_stripping
    # also https://hstspreload.org/
    add_header Strict-Transport-Security "max-age=31536000; includeSubdomains; preload";

    # with Content Security Policy (CSP) enabled(and a browser that supports it(http://caniuse.com/#feat=contentsecuritypolicy),
    # you can tell the browser that it can only download content from the domains you explicitly allow
    # http://www.html5rocks.com/en/tutorials/security/content-security-policy/
    # https://www.owasp.org/index.php/Content_Security_Policy
    # I need to change our application code so we can increase security by disabling 'unsafe-inline' 'unsafe-eval'
    # directives for css and js(if you have inline css or js, you will need to keep it too).
    # more: http://www.html5rocks.com/en/tutorials/security/content-security-policy/#inline-code-considered-harmful
    add_header Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' [https://a.disquscdn.com;](https://a.disquscdn.com%3b/) img-src 'self' data: [https://www.google-analytics.com;](https://www.google-analytics.com%3b/) style-src 'self' 'unsafe-inline'; frame-src [https://disqus.com](https://disqus.com/)";

三 防御DDOS攻击

阿里云主机,默认5G的DDOS防护,多了就要买防护包了
https://common-buy.aliyun.com/?spm=5176.7922146.0.0.3d77208bCCFFME&commodityCode=ddosbgp#/buy 阿里云DDoS防护包

上一篇 下一篇

猜你喜欢

热点阅读