2020年3月27日,全世界最大的同性交友网站github被攻击了,连正常的首页都打不开。

Https并不是100%安全

github被攻击说明Https并不是100%安全,Https也有自己的阿喀琉斯之踵-Https证书。Https不能解决以下五种情况的攻击:

  1. 证书颁发机构被入侵
  2. 攻击任何证书颁发机构附近的路由器
  3. 攻击证书颁发机构的递归DNS服务器
  4. 攻击网络协议如TCP或者BGP
  5. 证书颁发机构作恶,恶意修改与替换证书

这五种攻击方式不是攻击证书就是攻击证书的分发网络路径与协议。

即然https并不是100%安全,那么怎么应对https证书攻击呢?

发现网站Https证书被攻击

首先第一步发现网站Https证书被攻击。拿这次github被网站Https证书被攻击为例,github证书被攻击时,在chrome浏览品上访问github,会提示如下错误:

从上图可以看出,不是通常HTTP的错误码,也不是超时错误,而是直接提示了证书错误。

正常的Https证书是这样的:

Https证书被攻击如何正常的访问github

由于github证书出现了问题,用户是无法解决的。那么怎么正常访问github呢?

由于这类攻击往往具有地域性特点,如这次攻击大部分发生在国内,可以将本地的github访问流量通过代理导到其他没有受到攻击的地方,再由代理返回访问结果。科学上网就是属于这类方式。由于各种原因,这里不展开说明。

如何解决go get不能正常工作

作为一名golang程序员,发现go get出现错误:

出现上面的问题的原因同样是因为github网站的证书被攻击导致。解决方法是不走Https,走ssh下载github的代码库。在终端上进行如下配置即可:

1
git config --global url."git@github.com:".insteadOf "https://github.com/"

查看配置结果如下:

1
2
3
4
5
6
$ cat  ~/.gitconfig
[user]
        email = myself659@163.com
        name = myself659
[url "git@github.com:"]
        insteadOf = https://github.com/

tips

如果国内的github.com被GFW了。可以使用海外的github.com的地址来配置本机的host文件(C:\Windows\System32\drivers\etc)。

小结

Https证书虽然被攻击,但是互联网有去中心化特点,可以改变网络访问路径来避免问题。 Https证书被攻击,影响是http协议,可以换成ssh协议来解决git下载的问题。 总之,遇到问题对症下药,也要跳出框架,think out the box,从另一个角度或层次来解决问题。

欢迎关注

欢迎关注微信公众帐号:沉风网事(savewind)

沉风网事