title: 国内部分地区用户遭到中间人攻击
根据 V2EX 社区帖子, GitHub 在国内遭受大规模中间人攻击.
什么是中间人攻击? 如何防范?
在用户与服务器之间的任何层, 都可以称为中间人. 包括但不仅限于:
大多数中间人攻击都是为了伪造身份, 比如攻击者不是银行, 伪装成银行与客户进行沟通 以套取密码.
什么是 DNS spoofing?
https://en.wikipedia.org/wiki/DNS_spoofing https://www.cloudflare.com/learning/dns/dns-cache-poisoning/
我们经常遇到这种 DNS 攻击, 如何识别与防范以后单独写一下.
本地客户端对等加密 比较简单, 应用范围有限, 目的是为了防止中间人直接获取有效信息, 提高难度.
什么是本地客户端对等加密? 比如本地向服务器传输 123
这个字符串, 但不直接传输,
而是与服务器端沟通好, 以 !
代表 1
, @
代表 2
, #
代表 3
,
实际传输 !@#
. 这样, 如果中间人不知道二者的加解密方法, 则无法获取有效信息.
但这种方法有很大局限性, 比如如何保证中间人不知情? 加解密方法不能通过中间人网络. 前期沟通成本高.
为了解决上述问题, 更常用的是传输层加密, 比如 HTTP over TLS, 也就是我们说的 HTTPS.
有人会问, TLS 与 SSL 是什么关系? 调侃地说: 就像 ECMAScript 与 JavaScript 的关系. 中文维基百科上有一句话: "IETF将SSL进行标准化,1999年公布第一版TLS标准文件".
TLS 是如何防范伪造身份为目的的中间人攻击呢?
如果想进一步知道, 客户端与服务器端如何建立有效连接, 服务器如何信任客户端, 请看:
详细的 TLS 细节请看: https://en.wikipedia.org/wiki/Transport_Layer_Security#Protocol_details
https://v2ex.com/t/656394 https://www.cnbeta.com/articles/tech/960295.htm