SegmentFault 技术周刊 Vol.12 - Web 安全指南(上)

安全太重要!各种大网站、小社区的用户数据泄露,天天有人被拖库,所以来和大家聊一聊安全吧,网络安全话题太大了,再缩小一下,那就 Web 方面的安全吧,毕竟我们现在每天都离不开 Web 应用了……

做开发大家都知道,当我们浏览网页时,由上至下,所有涉及到的服务组件基本分为三大块:

  1. 前端层,表层的第三方内容 –> Web 前端框架

  2. 浏览器层,Web 应用 –> Web 开发框架

  3. 数据服务层,Web 服务端 –> Web 容器 –> 存储 –> 操作系统

非常粗暴的说,这就是你所需要了解的 Web 安全范围,可这些东西谁看了都头大,怎么会有这么多内容!当然了,仔细思考一会儿,你可能会发现:抛去这些多层级,所有的内容,关键都在输入输出上,也就是数据传输的过程,安全也不例外。

这就是接下来要探讨的 Web 安全,我们将尝试从策略角度,通过尽量直观的方式,来揭开「Web 安全」的面纱。

数据通道和浏览器

「Web 内容如何传输,方式是统一协议来形成标准的输入输出,载体是浏览器。」

这是关键。所以接下来就是科普时间:野狗科技内部的两篇文章,将分别介绍 HTTPS 和浏览器的安全策略,让你快速且全面地入门。

扒一扒 HTTPS 网站的内幕

HTTP 协议下的网络连接都是基于明文的,信息很有可能被泄露篡改,甚至用户都不知道通信的对方是否就是自己希望连接的服务器。因此,数据通道安全需要保证以下两个目标:身份认证和数据不被泄漏和篡改,HTTPS 便是基于此需求产生的协议,在 HTTP 的基础上增加了 TLS 加密协议,通过数据加密、校验数据完整性和身份认证三种机制来保障安全。

关于 Web 安全,99% 的网站都忽略了这些

HTTPS 解决了点到点的安全和身份认证问题,接下来会出现问题的地方就只有 2 个:浏览器和服务器,这个层面上的安全问题并没有 HTTPS 一样简单到可以一次性解决。同源策略、跨站脚本攻击、跨站请求伪造、iframe 沙箱环境等等问题,繁杂至多,这里将主要的几种做了基本的介绍。

大势所趋 – HTTPS

从内容数据传输的过程,我们已经将 Web 安全防范的策略分为传输方式和载体两部分,这期周刊的内容就是数据传输的方式——传输协议。接下来,就是 Web 安全之「HTTPS 指南」。

程序猿小卡_casper – HTTPS 科普扫盲帖

让小卡 Casper 带你扫盲:什么是 HTTPS,什么是 TLS/SSL,它如何加密数据(对称/非对称加密),什么是证书、如何辨别非法/伪造/篡改过的证书,HTTPS 握手的流程。全面科普,有些地方可能不够严谨,但够用。

王下邀月熊_Chevalier – HTTPS 理论详解与实践

这篇也是知识补充,但不同于上篇的是它非常完整地讲解了 HTTPS 的整个理论与技术实现原理,会让你明白为什么 HTTPS = HTTP + 加密 + 认证 + 完整性保护,它如何加密、如何进行认证、有哪些工具、如何配置等等。

linkFly – 从 HTTP 到 HTTPS 三部曲:什么是 HTTPSIIS 部署免费 HTTPS网站部署 HTTPS 中需要做的事情

三部曲从认识 HTTPS 到如何部署,一整套的流程:申请 SSL/TLS 证书、配置服务器、HTTP 替换,自适应协议资源路径、iframe、HSTS 强制访问,非常详细地配置指南。Let’s Encrypt!

jimmy_thr – TLS/SSL 高级进阶

要知道从 HTTP 到 HTTPS 最重要的一环节就是 TLS/SSL 加密了,这也是 HTTPS 作为加密协议的核心原理。通过这篇就可以看到 TLS/SSL 的算法原理、整个过程、如何优化,以及相关的 CA 证书。

HTTP --> ( TLS/SSL --> ) TCP (明文传输) ↑ HTTP + S(ecurity) = HTTPS

张伯函 – HTTP API 设计指南:基础部分请求部分响应部分结尾

最后放一个番外篇,HTTP 作为加密的基础协议,不妨来通过这个系列一窥其貌。当然也为下期的浏览器传输过程的安全做个准备。

总之呢

关于传输协议这部分,可以总结1

  • 啥地方都要用 HTTPS

  • 采用 HSTS 来强制使用 HTTPS

  • 别忘了从可信的证书机构中请求可信证书

  • 不要乱放你的私钥

  • 用合理的配置工具来生成可靠地 HTTPS 配置

  • 在 Cookie 中设置“secure”标识

  • 不要把敏感的数据放在 URL 中

  • 隔一段时间就要好好看看你的 HTTPS 的配置,表过时了

HTTPS 的更多相关阅读:

Web 安全指南上期就此结束,下期我们将通过传输的载体——浏览器,来探究广为周知的诸如 XSS、CRSF、X-Frame 等方面的策略。

# SegmentFault 技术周刊 #

「技术周刊」是社区特别推出的技术内容系列,一周一主题。周刊筛选的每篇内容,是作者的独到见解,踩坑总结和经验分享。

每周二更新,欢迎「关注」或者「订阅」。大家也可以在评论处留言自己感兴趣的主题,推荐主题相关的优秀文章。

  1. 来源:segmentfault.com/a/11…
    原文作者:HTTP
    原文地址: https://juejin.im/entry/582bc789a0bb9f00679b7b97
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞