★CNNIC到底干了啥事?
最近这段时间,CNNIC 不甘寂寞,又在 CA 领域,搞了点小动作。今天先来说一下,CNNIC又“坑蒙拐骗”了哪些主?这件事情再次显示,互联网证书颁发机制公开透明的必要性。参 考资料:中国互联网络信息中心(China Internet Network Information Center,缩写为CNNIC),是经中华人民共和国国务院主管部门批准,于1997年6月3日成立的互联网管理和服务机构。中国互联网络信息中心成立 伊始,由中国科学院主管;2014年末,改由中央网络安全和信息化领导小组办公室、国家互联网信息办公室主管。
谷歌英文博客原文:Maintaining digital certificate security
Mozilla英文博客原文:Revoking Trust in one CNNIC Intermediate Certificate
◇Mozilla.org
可能某些IT圈外的同学会问,Mozilla是嘛玩意?简单地说,“Mozilla 和 Firefox 的关系”就好比“微软和 Windows 的关系”。因此,Firefox 自带哪些 CA 根证书,是由 Mozilla 组织决定滴。话说2009年初那会儿,CNNIC 里面的某个员工(liu_yan@cinic.cn)到 Mozilla 网站提交了一个申请:要求将 CNNIC 加入 Mozilla 的 CA 列表。此申请经过几个月的讨论。到了2009年底,审批获得通过。至此,CNNIC 正式成为 Mozilla 的 CA 之一(请看“Mozilla官方的CA列表”)。懂洋文的同学,请自行到“这里”看详细的申请过程。
因此,从 Firefox 的3.6版本开始,其内置的诸多根证书中,将会包含 CNNIC 提供的根证书。
◇微软(Microsoft)
说实在的,俺不清楚 CNNIC 是如何忽悠微软,让微软把它也加入到 Windows 内置的 CA 列表中的。不过这已经不重要了。现在,老流氓已经把它脏兮兮的触角,伸到了微软那儿。列位看官如若不信,可以去看“微软的CA列表”。今后,如果你安装了微软新的操作系统,多半其已经包含了 CNNIC 的根证书;即便你一直使用老版本的 Windows,也可能在自动升级了某个Windows补丁之后,把CNNIC的根证书带到你的电脑中。
◇Entrust.net
除 了 Mozilla 和微软,还有一个组织也被 CNNIC 牵连了,那就是 Entrust ——国外一家比较老牌的 CA。正是由于该 CA 比较老牌,因此 Windows 系统(至少包括 Win2000 之后的版本)中以及 Firefox 中,都已经内置了它的根证书。老流氓大概是花了些银子,于是该CA提供的根证书就信任了CNNIC制作的某个SSL证书。
到了2010年下半年,Entrust 大概也意识到 CNNIC 的名声太臭,就解除了跟 CNNIC 的信任关系。所以,如今【新的】Entrust 证书,已经不再信任 CNNIC 的 SSL 证书了。如果你的浏览器是新版本或者 Windows 系统更新过新的补丁,其内置的 Entrust 证书应该是安全的,不用清理了。如果你吃不准Windows系统或浏览器内置的Entrust证书是否安全,请根据本文后续章节“★如何确认门户已经清理 干净”介绍的方法判断。
用浏览器访问一下 https://www.cnnic.cn 记得用 HTTPS 协议哦,如果浏览器没有报告证书有问题,那么你很有可能受到CA证书的中间人攻击了
★这事儿对咱有啥影响?
那电脑中有了 CNNIC 的证书,会出现啥鸟事捏?俺大概说一下。◇“中间人攻击”的风险
中间人攻击的风险,是最危险的,也是最经常被提及滴。CA 证书对于 https 协议的重要性(可以防止攻击者伪造虚假网站)。既然 CNNIC 已经成为合法的 CA,那它就能堂而皇之地制作并发布CA证书。然后捏,再配合GFW进行DNS的域名污染。那GFW就可以轻松搞定任何网站的HTTPS加密传输。
可能有些小朋友心里会犯嘀咕:GFW 会有这么坏吗?GFW 和 CNNIC 一起进行中间人攻击(一个负责在 DNS 上做手脚、另一个负责伪造 CA 证书),简直是天生一对、黄金搭档!
◇ActiveX控件的风险
另 外一个大伙儿不太关注的风险,是关于 ActiveX 控件的问题。前几年,很多恶意软件(包括流氓软件、木马)都是通过 IE 控件的技术,安装到大伙儿的电脑上。后来微软加强了对 ActiveX 控件的验证:在 IE 的默认设置下,对于【没有】数字签名的 ActiveX 控件,默认是拒绝安装滴;而对于有数字签名的控件,则会给出提示。因此,老流氓 CNNIC 可以很轻松地给自己的 ActiveX 控件制作数字证书。然后把控件放到网上。某些粗心的电脑用户看到IE跳出的安装控件提示,多半没细看,直接就点了“确定”按钮。
★如何清理门户?
其实网上关于如何去掉证书的操作指南,多如牛毛,所以俺就简单说一下。有些浏览器(IE、Chrome、Safari)使用的是操作系统的证书体系。这种情况下,你需要把 CNNIC 证书从操作系统的证书体系中去掉。还有些浏览器(比如Firefox、Opera)是自己带了一套证书体系。你只要在其配置界面,把不要的证书去除即可。 下面分不同的浏览器,不同的操作系统,分别介绍。
◇清理Windows的证书(适用IE、Chrome、Safari)
对于使用 Windows 下的 IE 或 Chrome 或 Safari 浏览器,则需要执行如下步骤:- 运行 Windows 的证书管理器(到命令行执行certmgr.msc)。
- 选中“受信任的根证书颁发机构”=>“证书”。
- 查看右边的证书列表。如果里面已经有CNNIC的证书,直接跳到第7步。
- 下载现成的 CNNIC 证书(要解压缩出来),下载地址:http://pan.baidu.com/s/1gdvkinL
- 鼠标在“受信任的根证书颁发机构”=>“证书”上点右键。在右键菜单中点“所有任务”=>“导入”。
- 出现一个导入向导,根据先导一步步的提示,把上述 CNNIC 证书导入到证书列表中。
- 选中 CNNIC 证书,点右键。在右键菜单中点“属性”。
- 在跳出的属性对话框中,选中“停用这个证书的所有目的”,然后确定。
- 最后,为了保险起见,再把这三个证书,导入到“不信任的证书”中(方法和上述类似)。
注:上述操作仅对当前用户生效。如果你的 Windows 系统中有多个常用的用户帐号,要对每一个用户进行上述设置。
◇清理苹果 Mac OS X 的证书(适用于 Safari、Chrome)
对于使用 Mac OS X下的 Safari 或 Chrome 浏览器,则需要执行如下步骤:请到“实用工具”=>“钥匙串访问”=>“系统根证书”=>“证书”,找到 CNNIC 的证书并双击,改为“永不信任”。
注:如果你的界面是洋文,其操作方式也八九不离十。俺就不再啰嗦了。
◇清理 Linux 的证书(适用于 Chrome、Safari)
对于 Debian 或 Ubuntu 系统,以管理员权限进行如下操作:方法1:
运行命令:dpkg-reconfigure ca-certificates 会出现一个图形界面,把CNNIC证书不选,并确认。
方法2:
编辑 /etc/ca-certificates.conf 文件,把 CNNIC 证书对应的行删除或注释掉。然后用命令 update-ca-certificates 使之生效。
注:对于其它 Linux 发行版本,也有类似操作,俺就不再啰嗦了。
◇清理 Firefox 的证书
不论是在哪个操作系统下,只要你用的是 Firefox 浏览器(它的证书体系独立于操作系统的),则需要执行如下步骤:- 从菜单“工具”=>“选项” ,打开选项对话框
- 切换到“高级”部分,选中“加密”标签页,点“查看证书”按钮。
- 在证书对话框中,切换到“证书机构”。
- 里面的证书列表是按字母排序的。把 CNNIC 打头的都删除。
注:如果某个证书是 Firefox 自带的,则删除之后,下次再打开该对话框,此证书还在。不过不要紧,它的所有“信任设置”,都已经被清空了。
◇清理 Opera 的证书
不论是在哪个操作系统下,只要你用的是 Opera 浏览器(它的证书体系独立于操作系统的),则需要执行如下步骤:- 从菜单“工具”=>“首选项” ,打开首选项对话框
- 切换到“高级”标签页,在左边选择“安全性”这项。
- 点“管理证书”按钮,出来一个证书的对话框。切换到“证书颁发机构”标签页。
- 找到 CNNIC 的证书并选中,点“查看”按钮,在证书属性对话框中,把“允许连接到使用此证书的网站”的打勾去掉
注:俺是基于 Opera 10.10 进行操作。新版本的界面可能略有差异。
★如何确认门户已经清理干净?
为了保险起见,在完成上述的清除工作之后,你需要用浏览器访问一下 https://www.cnnic.cn 记得用 HTTPS 协议哦。如果你的浏览器报告该网站的证书有问题,那恭喜你,你的门户清理干净了。
如果该网站的页面顺利打开,那你就要重新检查一下,看上述操作是否出了差错。
★可能的副作用
有些国内网站已经开始使用 CNNIC 的证书,目前已经知道的有163邮箱(真鄙视网易)。但是甭担心。去除证书后,浏览器在访问上述网站时,会给出一个证书的安全警告。你只需添加一个安全例外即可。★引申阅读
另外列举一些相关的资料给大伙儿参考:最最最严重安全警告 此文是 AutoProxy 的作者 WCM 亲自写的。09年就已经在网上广为流传。
CNNIC 我不信任你——从受信任的根证书里赶走 CNNIC 这篇文章也被多处转贴
noCNNIC 已经有热心网友搞了一个自动清除工具,俺还没空去试验。
-----------------------------
清理CNNIC颁发的安全证书的办法
安全证书简介
网上传输的任何信息都有可能被恶意截获。 所以技术人员开发了一种叫SSL/TLS/ HTTPS的技术保障我们的信息传输安全, 这个技术可以将我们和网站服务器的通信加密起来, 不被第三方获取。
如果网站觉得它的用户资料很敏感,打算使用SSL/TLS/ HTTPS加密,必须先向有CA( CertificateAuthority)权限的公司/ 组织申请一个安全证书。有CA权限的公司/ 组织都是经过全球审核,值得信赖的。
但如果安全证书的颁发机构怀有恶意, 则用户的信息可能会被恶意获取。
有争议的安全证书
CNNIC( ChinaInternetNetworkInformatio nCenter,中国互联网络信息中心) 于2009年被有争议的通过,成为一个安全证书颁发机构。 由于中共政府对网络信息的严密审查,其信誉并没有得到国际认可, 尤其是一些中国大陆网民。
有网络安全人士表示,CNNIC成为合法的CA, 那它就能堂而皇之地制作并发布CA证书。然后再配合GFW( 中共网络防火墙)进行DNS的域名劫持。 那GFW就可以轻松破解任何网站的HTTPS加密传输。
这意味着CNNIC可以随意造一个假的证书给任何网站, 替换网站真正的证书,从而盗取我们的任何资料!
这名网络安全人士留言称:" GFW和CNNIC作为中共的2条走狗,一起进行中间人攻击( 一个负责DNS欺骗、一个负责伪造CA证书),简直是天生一对、 黄金搭档啊!"
清理CNNIC安全证书的办法
安全人士建议,最好清理掉Firfox里的CNNIC安全证书, 这样可以避免不必要的安全问题。
清理的步骤如下:
先打开Firefox浏览器(它的证书体系独立于操作系统的) 1、从菜单"工具"=>"选项",打开选项对话框
2、切换到"高级"部份,选中"加密"标签页,点"查看证书" 按钮。
3、在证书对话框中,切换到"证书机构"。
4、里面的证书列表是按字母排序的。把CNNIC打头的都删除, 再把Entrust开头的也删除。( 清除Entrust是因为它签名信任CNNIC, 我们同样也会连带被"信任"CNNIC)清除之后, 如果哪个我们需要访问的网站需要签名时,我们可以添加例外.
-----------------------------------------------------------
相关帖子:http://briteming.blogspot.com/2013/02/cnnic_6098.html
--------
这不是危言耸听,而是正在发生。
对自己最大的伤害,往往来自最信任的人。比如你女朋友欺骗你的感情,和别人上床,回来你发现她衣服湿了,她还告诉你是你梦游时把她弄湿的,你绝对信任她,以为自己在梦中真的那么厉害。
这个事例映射到互联网,就是你以为你访问的那个加密的网站是绝对安全的,其实你被欺骗了,你账户里的钱,你邮件里和合作伙伴谈论的商业机密,都被窃听了。
这样的事似乎离我们很遥远,其实不然,最近的发生的一次互联网事件,暗示了互联网最危险的漏洞,你的隐私,可能被他人看得一清二楚。
这个漏洞有多严重?
在说漏洞的具体情况之前,我们先来了解一下这个漏洞带来的危害,相信这是我们最迫切关心的。你这两天并没有在很多媒体看到这个漏洞的报道,是因为它本质上不是一个漏洞,而可能是有组织的人为「窃听」,我们无意去猜测背后是否有不可告人的阴谋或其它,但这个事件,预示着一个极其危险的互联网漏洞。
可能导致你的帐号密码被盗
可能导致你的机密邮件被第三方查看
可能导致你蒙受金钱损失
甚至可能导致你被查水表
先简单了解几个词汇
要了解这个漏洞,并做好防范,我们需要先了解一些基本概念。
浏览器
你用来浏览网页的工具就是浏览器,一般来说,你在浏览器里浏览网页,地址栏是以 http 开头的。
HTTPS
HTTP 方式的浏览是不安全的、容易被窃听的,大部分网站都通过这样的方式让我们查看,但一些需要处理个人隐私信息的网站,都会采用 HTTPS 的方式。HTTPS 的主要思想是在不安全的网络上创建一安全信道,对窃听提供合理的防护。
可能吧使用的就是 HTTPS 协议。
证书
要让 HTTPS 方式的访问成为可行,就需要网站有证书。证书这个概念比较复杂,我们用最简单的方式来理解。证书可以认为是一个网站的护照,当我们通过浏览器打开一个经过加密的网页时,浏览器会去查看网站的护照是否属于网站本人,如果属于,则认为这次浏览是安全的。和护照一样,证书是私有物品,需要谨慎保管,丢了之后要重新办理。
权威机构
那么问题来了,如果有网站伪造「护照」怎么办?这时我们很容易想到,只有政府才能颁发护照,我们信任颁发护照的政府,所以信任持有本人护照的人是真实的。网站也是如此,证书不是随便谁都可以颁发,只有权威机构颁发的证书,浏览器才会信任,才会认为该次浏览是安全的。
每个浏览器在安装时,都会自带一个可信任权威机构的名单。
HTTPS 安全机制的闭环
综合上面几个概念,我们可以形成这样的闭环:网站向权威机构申请证书,权威机构验证了网站的真实性后为其颁发证书,当用户访问网页时,网站持着自己的证书来到用户面前,浏览器检查证书确实属于这个网站,并且来自信任机构,于是浏览器告诉用户,你这次访问是安全的,不被监听的。
DNS 解析
网站的真实存在是一台服务器,而要定位一台服务器,需要知道它的 IP 地址,比如当我们访问 google.com 时,其实是在访问它的一台地址为 173.194.72.138 的服务器。
当我们在浏览器敲一个域名时,比如 google.com ,电脑会先通过本地的互联网提供商(比如电信、联通)去寻找这个网站的 IP,进而建立起连接。这个过程,称为 DNS 解析。
加密的互联网世界更安全
Google 及其旗下的 Youtube、Blogspot 等网站的流量总和在全球排行第一,Google 很早就意识到加密浏览的重要性,所以 Google 在其旗下的所有网站都部署了 HTTPS 访问机制,当用户使用 HTTP 访问时,也被强行跳转到 HTTPS。这样的举措,让用户在 Google 进行搜索、浏览等行为时,大大地避免了被窃听的可能性。
越来越多网站支持加密访问
除了 Google 之外,许多网站都已默认支持加密访问,在全球流量排行前10的网站里,除了3个中国的网站,其余7个国外的,都已经默认采用了 HTTPS 访问。
轻单也非常重视用户的隐私,所以我们也默认采用了 HTTPS,这是与国际接轨的做法。
浏览器是如何保护用户加密访问的安全的
在 「2.5 HTTPS 安全机制的闭环」里其实已经大致讲了浏览器的安全机制,这里再补充一点,较为现代的浏览器(指 Chrome, Firefox 等)都会在线推送信任权威机构的名单,一旦某个机构不被信任,用户浏览器马上就会有所反应。
权威机构颁发可信赖的证书确保访问网站的真实性
权威机构的数量是有限的,这样才能保证证书的可信性,如果谁都可以颁发证书,就像谁都可以印刷护照,那么护照就没有真实性可言了。浏览器默认对权威机构是绝对信任的,只要是权威机构颁发的证书,浏览器就会信任。
你信任你信任的是能信任的?
看看我们如何一步一步地被「窃听」。
拙劣的伪造:密码钓鱼
我们可能会收到一些钓鱼邮件,被告知需要去更改某个网站的密码,邮件里往往会给出那个网站的链接,但点击过去是一个链接和目标网站长得很像,界面和目标网站一模一样的钓鱼页面,如果你在这个页面输入了帐号密码,那么你的信息就会被窃取。
这种伪造,只要眼神好一点,一般都不会上当。
高级一点的伪装:DNS 劫持
如果我们访问某个域名时,域名解析出来的 IP 地址不属于这个网站,而是另一个,会是怎样的情况?
我们经常看到类似的新闻,在某某城市访问 Google,打开后变成了百度,又或者是当地运营商的搜索页面。这就是 DNS 劫持。这个例子是比较明显的 DNS 劫持。
不明显的 DNS 劫持是,当你敲入 icbc.com.cn 时,你打开的页面长得和工商银行一模一样,你以为你在访问工商银行,但其实那是一个伪造的页面,目的是为了盗取你的帐号密码。
再高级一点:伪造加密证书
对于那些加密的页面,光用 DNS 劫持是达不到窃听信息的效果的,因为用户被劫持到的 IP 上没有真实网站的证书(护照),浏览器就会认为不安全,这时用户就会离开。所以,要进一步完成劫持,就需要伪造一份证书,欺骗用户认为他访问的就是他想要访问的网站。
最高级:真实的「假」证书
一个网站被 DNS 劫持和伪造证书,浏览器还是很容易能识破,因为浏览器内置了一份可信的权威机构名单,只有这些权威机构颁发的证书,浏览器才会认为是安全的。伪造的证书不是来自权威机构,浏览器自然会告诉用户他访问的网页不安全。
那么,如果伪造的证书来自一个权威机构如何?如果一个网站被 DNS 劫持的同时,伪造的网站也提供了来自权威机构的「真实证书」,这时浏览器会认为这次访问是安全的,而用户的行为则会全部被这个伪造的网站所监听。
为什么会有真实的「假」证书?
不是说只有网站像权威机构申请证书,机构验明身份后才会颁发证书么,劫持者本身不是目标网站的所有者,如果不是目标网站出现漏洞,他理论上并不能拥有一份目标网站的证书,那么,他是如何「欺骗」权威机构,来获得一份「真实」的证书呢?
一种可行的做法是,权威机构知法犯法,权威机构生成了一份真实的「假」证书。
真实案例:冒牌的 Google
Google 发现,名为MCS集团的代理证书颁发机构发行了多个 Google 域名的假证书,而MCS集团的中级证书则来自中国的CNNIC。
CNNIC 全名为中国互联网络信息中心,从2010年开始,它被所有浏览器内置为可信任的证书颁发权威机构。
这些证书冒充成受信任的 Google 域名,被用于部署到网络防火墙中,用于劫持所有处于该防火墙后的HTTPS网络通信,并且绕过了浏览器警告。
这样,用户在访问 Gmail 时,所有数据都会被窃听,这种窃听几乎是不花吹灰之力的。
案例扩散:公共网络安全问题
若冒充 Google 这事没有被发现,这种模式被扩散,会发生什么?其实猜测的结论是显而易见的,比如你在公共场所上网,很有可能被盗取帐号密码,哪怕你访问的网站支持 HTTPS。
权威机构 CNNIC 为什么要伪造证书?
前面的案例引出一个问题,浏览器内置的权威机构是默认可信的,那意味着这些机构并不会随便颁发一份真实的「假」证书,这样的话,信誉就会扫地。那么,冒充 Google 的证书是怎样来的呢?CNNIC 为什么要这样做?
让我们站在人民的角度来思考这个问题。
Gmail 曾一直受到来自亚洲的攻击
Gmail 安全性最高的邮箱之一,根据媒体报道,Gmail 一直受到来自中国的攻击,这些工具包括钓鱼、窃听,甚至入侵。其实我们都知道,用 Gmail 的,不法分子居多,我们当然要用极端手段来找到这些不法分子。
中国一直依法管治互联网
外交部发言人一直强调,中国依法管治互联网,我们也「深信」这一点。
CNNIC 是有背景的事业单位
CNNIC 是经中华人民共和国国务院主管部门批准,于1997年6月3日成立的互联网管理和服务机构。中国互联网络信息中心成立伊始,由中国科学院主管;2014年末,改由中央网络安全和信息化领导小组办公室、国家互联网信息办公室主管。
CNNIC 可能参与依法管治互联网
CNNIC 除了是权威的证书颁发机构,也是.cn域名的管理机构,我们都知道,注册.cn域名需要身份证备案,我们有理由相信,CNNIC 参与了依法管治互联网。
这可能是一次不小心被暴露的实验性事件
CNNIC 这次伪造证书的行为,可能是被「不法分子」利用的实验性行为,比如,可能 CNNIC 内部有1-2名员工,试图入侵他们的粉丝–苍井空老师的 Gmail 帐号,但苦于 Gmail 实在太难破解,只好出此下策。
如果这事没有被发现,Gmail 在国内可能会解封
我们知道,很多不法分子利用 Gmail 传播非法信息,这些不法分子一定要被惩戒,一种可行的做法是将 Gmail 解封,同时采用 DNS 劫持和伪造真实证书的方法,窃听他们的邮件来往,这毫无疑问是抓捕不法分子的最佳做法,值得支持哦。
各界反应
Google
迅速通知各大浏览器厂商,并通过推送更新,将MCS集团的证书设置为不信任。同时倡议互联网证书颁发机制一定要公开、透明。
Firefox
Firefox (Mozilla) 在博客中提到,他们接到了 Google 的通知,并会在下一版本( Firefox 37)里解决证书的信任问题。
其实从2010年开始,就有人在 Mozilla 的论坛里倡议 Firefox 移除 CNNIC,但因为一直没有证据表明 CNNIC 参与了劫持,所以 Mozilla 并没有理会此事。
一些网友
在一些互联网社区,比如知乎、V2EX,我看到了不少网友重新讨论起 CNNIC 的可信性,在很多互联网工作者的眼中,CNNIC 是不值得信任的机构。
为什么 CNNIC 是一个不值得信任的机构
制造流氓软件的
CNNIC 制作的上网辅助软件「中文上网官方版软件」,曾引起广泛争议。该软件因其强制安装和无法彻底卸载,一度被北京市网络行业协会列入10款流氓软件名单并勒令整改。
混淆「中文上网」和「中文域名」
曾经,360 安全卫士批评CNNIC,打着官方的旗号,混淆该软件与中文域名之区别,令公众误以为国家发展中文域名,就等于支持该(流氓)软件。
cn 域名胡乱管理
为了推广.cn域名,CNNIC 曾经让 .cn 域名1元即可注册,导致 .cn 域名泛滥。
2009年12月9日,CNNIC被中国中央电视台曝光对.cn域名管理不善,致使色情网站可以轻而易举的更换域名。12月11日晚,CNNIC发出公告,公告暗指从2009年12月14日9时起,禁止个人注册CN域名。
2010年1月底,CNNIC要求所有cn域名提交个人身份证复印件,由于没有出台适当的隐私保护条例,遭cn域名持有者抵制。
这一切,其实都是因为滥推广 .cn 域名导致的。
冒牌的非营利性机构
CNNIC 既不是事业单位,也不是企业或社团,号称非营利机构,但却在经营域名注册等业务。
制造假证书
在冒充 Google 之前,其实在2013年,也曾有人自签CNNIC证书对github进行中间人攻击,但没有证据显示那是 CNNIC 官方所为,因为证书并非官方颁发。
防火防风防 CNNIC
为了隐私安全,不信任 CNNIC 是一个明智的选择,因为你永远不知道你什么时候访问一个加密网站,会因为被安插了一个 CNNIC 颁发的真实「假」证书,而被窃取了机密信息。
保持浏览器和系统更新到最新版本
首先,当然要保持浏览器和系统更新到最新版本,安全补丁打到足。
移除CNNIC证书
更靠谱的做法是,在系统和浏览器里,将 CNNIC 移出信任机构名单,轻单用户「Anonymous」已经列了一份教程,在本项的链接里。为了方便查看,我把一些方法简单摘录。
全自动可疑证书吊销工具
适用于任何系统,这是最简单的方法,教程请点击链接。
在 Windows 下移除 CNNIC
运行Windows的证书管理器(到命令行执行certmgr.msc)。
选中“受信任的根证书颁发机构”=>“证书”。
查看右边的证书列表。
选中CNNIC证书,点右键。在右键菜单中点“属性”。
在跳出的属性对话框中,选中“停用这个证书的所有目的”,然后确定。
在 Mac 下移除 CNNIC
请到“实用工具”=>“钥匙串访问”=>“系统根证书”=>“证书”,搜索CNNIC,并找到它的证书并双击,改为“永不信任”。
在 Linux 下移除 CNNIC
运行命令:dpkg-reconfigure ca-certificates 会出现一个图形界面,把CNNIC证书不选,并确认。
在 Firefox 里移除 CNNIC
不论是在哪个操作系统下,只要你用的是Firefox浏览器(它的证书体系独立于操作系统的),则需要执行如下步骤:
从菜单“工具”=>“选项” ,打开选项对话框
切换到“高级”部分,选中“加密”标签页,点“查看证书”按钮。
在证书对话框中,切换到“证书机构”。
里面的证书列表是按字母排序的。把CNNIC打头的都删除。
在 Android 下移除 CNNIC
进入「设置」 – 「安全」 – 「受信任的凭据(显示受信任的CA证书)」,点击进入需要禁用的证书并下拉到最下面,点击 禁用 按钮即可。
在 iOS 下移除 CNNIC
iOS 系统无法移除 CNNIC 证书,然而,我们可以使用被信任的国外 VPN 来访问 HTTPS 网站,避免被 DNS 劫持和植入 CNNIC 证书。
from https://kenengba.com/post/3336.html
-------------------
如何吊销 CNNIC 根证书
CNNIC 是什么?
China Internet Network Information Center ——中国互联网络信息中心。
CNNIC 做了什么?为什么要吊销其根证书?
发行了多个谷歌域名的假证书
一个名为MCS集团的中级证书颁发机构发行了多个谷歌域名的假证书,而MCS集团的中级证书则来自中国的CNNIC。
该证书冒充成受信任的谷歌的域名,被用于部署到网络防火墙中,用于劫持所有处于该防火墙后的HTTPS网络通信,而绕过浏览器警告。
简而言之,就是他们有了这个伪证书,你访问谷歌(当然是你科学上网)的内容会被窥探到。
窥探的方法就是中间人攻击。
http://www.williamlong.info/archives/4183.html
什么是“中间人攻击(MitM)”
所谓“中间人”攻击,指攻击者与通讯的两端分别建立独立联系,并交换其所收到的数据,使通讯的两端认为他们正在通过一个私密的连接与对方直接对话,而且,攻击者能够阅读通讯双方的所有会话内容。
中间人攻击 - 维基百科,自由的百科全书
ZH.WIKIPEDIA.ORG
谁遭受过“中间人攻击”
2013 年 1 月 26 日晚 GitHub 遭到 SSL 中间人攻击。
2014 年 10 月 2 日至 10 月 6 日,微软账号(login.live.com)在中国大陆地区遭受大面积SSL中间人攻击。
2014 年 10 月 19 日,国内 iCloud 服务器遭遇中间人攻击。
2014 年 10 月 20 日,雅虎在中国大陆地区再次受到 SSL 中间人攻击。
2015 年 1 月 21 日,微软证实其 Outlook 电子邮件服务被中国黑客作为攻击目标,遭到中间人攻击,微软用户仅在中国受到影响。
必须要说的是:上面这些中间人攻击只是对CNNIC的怀疑。前几天发生的这件事则是证据确凿的——
2015 年 3 月 23 日,谷歌发现 CNNIC 颁发了多个针对谷歌域名的用于中间人攻击的证书。
如何吊销 CNNIC 根证书
我们要做的事,很简单,吊销 CNNIC 根证书。
全自动可疑证书吊销工具
GitHub 上的 Revoke China Certificates 项目。这是最简单的方法。
或者请按下面的步骤手动吊销。
chengr28/RevokeChinaCerts
RevokeChinaCerts - Revoke China Certificates.
GITHUB.COM
Windows(适用IE、Chrome、Safari)
1. 运行Windows的证书管理器(到命令行执行certmgr.msc)。
2. 选中“受信任的根证书颁发机构”=>“证书”。
3. 查看右边的证书列表。如果里面已经有CNNIC的证书,直接跳到第7步。
4. 先翻墙到下面的链接下载现成的CNNIC证书(要解压缩出来)。
5. 鼠标在“受信任的根证书颁发机构”=>“证书”上点右键。在右键菜单中点“所有任务”=>“导入”。
6. 出现一个导入向导,根据先导一步步的提示,把上述CNNIC证书导入到证书列表中。
7. 选中CNNIC证书,点右键。在右键菜单中点“属性”。
8. 在跳出的属性对话框中,选中“停用这个证书的所有目的”,然后确定。
9. 最后,为了保险起见,再把这三个证书,导入到“不信任的证书”中(方法和上述类似)。
注:上述操作仅对当前用户生效。如果你的Windows系统中有多个常用的用户帐号,要对每一个用户进行上述设置。
cnnic.7z - program-think - CNNIC 证书(用于禁用) - 【编程随想】的收藏 - Google Project Hosting
CODE.GOOGLE.COM
OS X(适用Safari、Chrome)
请到“实用工具”=>“钥匙串访问”=>“系统根证书”=>“证书”,找到CNNIC的证书并双击,改为“永不信任”。
Linux(适用Chrome)
对于Debian和Ubuntu系统,以管理员权限进行如下操作:
方法1:运行命令:dpkg-reconfigure ca-certificates 会出现一个图形界面,把CNNIC证书不选,并确认。
方法2:编辑 /etc/ca-certificates.conf 文件,把CNNIC证书对应的行删除或注释掉。然后用命令 update-ca-certificates 使之生效。
注:对于其它Linux发行版本,也有类似操作。
清理 Firefox 的证书
不论是在哪个操作系统下,只要你用的是Firefox浏览器(它的证书体系独立于操作系统的),则需要执行如下步骤:
1. 从菜单“工具”=>“选项” ,打开选项对话框
2. 切换到“高级”部分,选中“加密”标签页,点“查看证书”按钮。
3. 在证书对话框中,切换到“证书机构”。
4. 里面的证书列表是按字母排序的。把CNNIC打头的都删除。
注:如果某个证书是Firefox自带的,则删除之后,下次再打开该对话框,此证书还在。不过不要紧,它的所有“信任设置”,都已经被清空了。
Android
设置 - 安全 - 受信任的凭据(显示受信任的CA证书)
点击进入需要禁用的证书并下拉到最下面,点击 禁用 按钮即可。
操作完毕建议清空所有浏览器数据和系统缓存,并重启网络连接。
iOS
iOS 没有任何官方提供的方法禁用自带的根证书,请放弃在 iOS 下禁用根证书的想法。
检验方法
打开 https://www1.cnnic.cn/ (注意是 HTTPS 的)会报证书错误的就表明成功吊销了。
P.S.
可能的副作用:有些国内网站已经开始使用CNNIC的证书,目前已经知道的有163邮箱(真鄙视网易)。但是甭担心。去除证书后,浏览器在访问上述网站时,会给出一个证书的安全警告。你只需添加一个安全例外即可。
from https://qdan.me/list/VRIio9hA0FujGWYP
-------------------
网上传输的任何信息都有可能被恶意截获。
如果网站觉得它的用户资料很敏感,打算使用SSL/TLS/
但如果安全证书的颁发机构怀有恶意,
有争议的安全证书
CNNIC(
有网络安全人士表示,CNNIC成为合法的CA,
这意味着CNNIC可以随意造一个假的证书给任何网站,
这名网络安全人士留言称:"
清理CNNIC安全证书的办法
安全人士建议,最好清理掉Firfox里的CNNIC安全证书,
清理的步骤如下:
先打开Firefox浏览器(它的证书体系独立于操作系统的)
2、切换到"高级"部份,选中"加密"标签页,点"查看证书"
3、在证书对话框中,切换到"证书机构"。
4、里面的证书列表是按字母排序的。把CNNIC打头的都删除,
-----------------------------------------------------------
CNNIC CA根证书移除工具项目主页
The project helps people remove “CNNIC ROOT” CA certificate
最新发布
CNNIC_CA根证书移除工具_X53.zip 文件详情 查看发布说明 |
了解更多
使用CNNIC CA根证书移除工具的用户,您可以先查看发布说明,了解此工具的作用和限制,再决定是否继续操作。如果您想知道为什么要这么作,请看下面背景介绍“ CNNIC CA:最最最严重安全警告!”。
检查是否已经移除了CNNIC CA根证书的威胁,请访问
https://tns-fsverify.cnnic.cn/
https://www.enum.cn/
看Firefox是否给出了安全警告。
如有任何疑问,在本项目中没有找到答案,欢迎和作者联系。
其他
- 本项目的相关背景介绍“ CNNIC CA:最最最严重安全警告!”,作者是@wcm。
- Bug 542689 关于请求Mozilla将CNNIC ROOT CA根证书移除内置证书CA库的提议
- mozilla.dev.security.policy讨论组关于CNNIC CA根证书的讨论
相关帖子:http://briteming.blogspot.com/2013/02/cnnic_6098.html
--------
最危险的互联网漏洞正在逼近
DNS 劫持+权威机构颁发的伪造证书可以毁掉整个互联网.这不是危言耸听,而是正在发生。
对自己最大的伤害,往往来自最信任的人。比如你女朋友欺骗你的感情,和别人上床,回来你发现她衣服湿了,她还告诉你是你梦游时把她弄湿的,你绝对信任她,以为自己在梦中真的那么厉害。
这个事例映射到互联网,就是你以为你访问的那个加密的网站是绝对安全的,其实你被欺骗了,你账户里的钱,你邮件里和合作伙伴谈论的商业机密,都被窃听了。
这样的事似乎离我们很遥远,其实不然,最近的发生的一次互联网事件,暗示了互联网最危险的漏洞,你的隐私,可能被他人看得一清二楚。
这个漏洞有多严重?
在说漏洞的具体情况之前,我们先来了解一下这个漏洞带来的危害,相信这是我们最迫切关心的。你这两天并没有在很多媒体看到这个漏洞的报道,是因为它本质上不是一个漏洞,而可能是有组织的人为「窃听」,我们无意去猜测背后是否有不可告人的阴谋或其它,但这个事件,预示着一个极其危险的互联网漏洞。
可能导致你的帐号密码被盗
可能导致你的机密邮件被第三方查看
可能导致你蒙受金钱损失
甚至可能导致你被查水表
先简单了解几个词汇
要了解这个漏洞,并做好防范,我们需要先了解一些基本概念。
浏览器
你用来浏览网页的工具就是浏览器,一般来说,你在浏览器里浏览网页,地址栏是以 http 开头的。
HTTPS
HTTP 方式的浏览是不安全的、容易被窃听的,大部分网站都通过这样的方式让我们查看,但一些需要处理个人隐私信息的网站,都会采用 HTTPS 的方式。HTTPS 的主要思想是在不安全的网络上创建一安全信道,对窃听提供合理的防护。
可能吧使用的就是 HTTPS 协议。
证书
要让 HTTPS 方式的访问成为可行,就需要网站有证书。证书这个概念比较复杂,我们用最简单的方式来理解。证书可以认为是一个网站的护照,当我们通过浏览器打开一个经过加密的网页时,浏览器会去查看网站的护照是否属于网站本人,如果属于,则认为这次浏览是安全的。和护照一样,证书是私有物品,需要谨慎保管,丢了之后要重新办理。
权威机构
那么问题来了,如果有网站伪造「护照」怎么办?这时我们很容易想到,只有政府才能颁发护照,我们信任颁发护照的政府,所以信任持有本人护照的人是真实的。网站也是如此,证书不是随便谁都可以颁发,只有权威机构颁发的证书,浏览器才会信任,才会认为该次浏览是安全的。
每个浏览器在安装时,都会自带一个可信任权威机构的名单。
HTTPS 安全机制的闭环
综合上面几个概念,我们可以形成这样的闭环:网站向权威机构申请证书,权威机构验证了网站的真实性后为其颁发证书,当用户访问网页时,网站持着自己的证书来到用户面前,浏览器检查证书确实属于这个网站,并且来自信任机构,于是浏览器告诉用户,你这次访问是安全的,不被监听的。
DNS 解析
网站的真实存在是一台服务器,而要定位一台服务器,需要知道它的 IP 地址,比如当我们访问 google.com 时,其实是在访问它的一台地址为 173.194.72.138 的服务器。
当我们在浏览器敲一个域名时,比如 google.com ,电脑会先通过本地的互联网提供商(比如电信、联通)去寻找这个网站的 IP,进而建立起连接。这个过程,称为 DNS 解析。
加密的互联网世界更安全
Google 及其旗下的 Youtube、Blogspot 等网站的流量总和在全球排行第一,Google 很早就意识到加密浏览的重要性,所以 Google 在其旗下的所有网站都部署了 HTTPS 访问机制,当用户使用 HTTP 访问时,也被强行跳转到 HTTPS。这样的举措,让用户在 Google 进行搜索、浏览等行为时,大大地避免了被窃听的可能性。
越来越多网站支持加密访问
除了 Google 之外,许多网站都已默认支持加密访问,在全球流量排行前10的网站里,除了3个中国的网站,其余7个国外的,都已经默认采用了 HTTPS 访问。
轻单也非常重视用户的隐私,所以我们也默认采用了 HTTPS,这是与国际接轨的做法。
浏览器是如何保护用户加密访问的安全的
在 「2.5 HTTPS 安全机制的闭环」里其实已经大致讲了浏览器的安全机制,这里再补充一点,较为现代的浏览器(指 Chrome, Firefox 等)都会在线推送信任权威机构的名单,一旦某个机构不被信任,用户浏览器马上就会有所反应。
权威机构颁发可信赖的证书确保访问网站的真实性
权威机构的数量是有限的,这样才能保证证书的可信性,如果谁都可以颁发证书,就像谁都可以印刷护照,那么护照就没有真实性可言了。浏览器默认对权威机构是绝对信任的,只要是权威机构颁发的证书,浏览器就会信任。
你信任你信任的是能信任的?
看看我们如何一步一步地被「窃听」。
拙劣的伪造:密码钓鱼
我们可能会收到一些钓鱼邮件,被告知需要去更改某个网站的密码,邮件里往往会给出那个网站的链接,但点击过去是一个链接和目标网站长得很像,界面和目标网站一模一样的钓鱼页面,如果你在这个页面输入了帐号密码,那么你的信息就会被窃取。
这种伪造,只要眼神好一点,一般都不会上当。
高级一点的伪装:DNS 劫持
如果我们访问某个域名时,域名解析出来的 IP 地址不属于这个网站,而是另一个,会是怎样的情况?
我们经常看到类似的新闻,在某某城市访问 Google,打开后变成了百度,又或者是当地运营商的搜索页面。这就是 DNS 劫持。这个例子是比较明显的 DNS 劫持。
不明显的 DNS 劫持是,当你敲入 icbc.com.cn 时,你打开的页面长得和工商银行一模一样,你以为你在访问工商银行,但其实那是一个伪造的页面,目的是为了盗取你的帐号密码。
再高级一点:伪造加密证书
对于那些加密的页面,光用 DNS 劫持是达不到窃听信息的效果的,因为用户被劫持到的 IP 上没有真实网站的证书(护照),浏览器就会认为不安全,这时用户就会离开。所以,要进一步完成劫持,就需要伪造一份证书,欺骗用户认为他访问的就是他想要访问的网站。
最高级:真实的「假」证书
一个网站被 DNS 劫持和伪造证书,浏览器还是很容易能识破,因为浏览器内置了一份可信的权威机构名单,只有这些权威机构颁发的证书,浏览器才会认为是安全的。伪造的证书不是来自权威机构,浏览器自然会告诉用户他访问的网页不安全。
那么,如果伪造的证书来自一个权威机构如何?如果一个网站被 DNS 劫持的同时,伪造的网站也提供了来自权威机构的「真实证书」,这时浏览器会认为这次访问是安全的,而用户的行为则会全部被这个伪造的网站所监听。
为什么会有真实的「假」证书?
不是说只有网站像权威机构申请证书,机构验明身份后才会颁发证书么,劫持者本身不是目标网站的所有者,如果不是目标网站出现漏洞,他理论上并不能拥有一份目标网站的证书,那么,他是如何「欺骗」权威机构,来获得一份「真实」的证书呢?
一种可行的做法是,权威机构知法犯法,权威机构生成了一份真实的「假」证书。
真实案例:冒牌的 Google
Google 发现,名为MCS集团的代理证书颁发机构发行了多个 Google 域名的假证书,而MCS集团的中级证书则来自中国的CNNIC。
CNNIC 全名为中国互联网络信息中心,从2010年开始,它被所有浏览器内置为可信任的证书颁发权威机构。
这些证书冒充成受信任的 Google 域名,被用于部署到网络防火墙中,用于劫持所有处于该防火墙后的HTTPS网络通信,并且绕过了浏览器警告。
这样,用户在访问 Gmail 时,所有数据都会被窃听,这种窃听几乎是不花吹灰之力的。
案例扩散:公共网络安全问题
若冒充 Google 这事没有被发现,这种模式被扩散,会发生什么?其实猜测的结论是显而易见的,比如你在公共场所上网,很有可能被盗取帐号密码,哪怕你访问的网站支持 HTTPS。
权威机构 CNNIC 为什么要伪造证书?
前面的案例引出一个问题,浏览器内置的权威机构是默认可信的,那意味着这些机构并不会随便颁发一份真实的「假」证书,这样的话,信誉就会扫地。那么,冒充 Google 的证书是怎样来的呢?CNNIC 为什么要这样做?
让我们站在人民的角度来思考这个问题。
Gmail 曾一直受到来自亚洲的攻击
Gmail 安全性最高的邮箱之一,根据媒体报道,Gmail 一直受到来自中国的攻击,这些工具包括钓鱼、窃听,甚至入侵。其实我们都知道,用 Gmail 的,不法分子居多,我们当然要用极端手段来找到这些不法分子。
中国一直依法管治互联网
外交部发言人一直强调,中国依法管治互联网,我们也「深信」这一点。
CNNIC 是有背景的事业单位
CNNIC 是经中华人民共和国国务院主管部门批准,于1997年6月3日成立的互联网管理和服务机构。中国互联网络信息中心成立伊始,由中国科学院主管;2014年末,改由中央网络安全和信息化领导小组办公室、国家互联网信息办公室主管。
CNNIC 可能参与依法管治互联网
CNNIC 除了是权威的证书颁发机构,也是.cn域名的管理机构,我们都知道,注册.cn域名需要身份证备案,我们有理由相信,CNNIC 参与了依法管治互联网。
这可能是一次不小心被暴露的实验性事件
CNNIC 这次伪造证书的行为,可能是被「不法分子」利用的实验性行为,比如,可能 CNNIC 内部有1-2名员工,试图入侵他们的粉丝–苍井空老师的 Gmail 帐号,但苦于 Gmail 实在太难破解,只好出此下策。
如果这事没有被发现,Gmail 在国内可能会解封
我们知道,很多不法分子利用 Gmail 传播非法信息,这些不法分子一定要被惩戒,一种可行的做法是将 Gmail 解封,同时采用 DNS 劫持和伪造真实证书的方法,窃听他们的邮件来往,这毫无疑问是抓捕不法分子的最佳做法,值得支持哦。
各界反应
迅速通知各大浏览器厂商,并通过推送更新,将MCS集团的证书设置为不信任。同时倡议互联网证书颁发机制一定要公开、透明。
Firefox
Firefox (Mozilla) 在博客中提到,他们接到了 Google 的通知,并会在下一版本( Firefox 37)里解决证书的信任问题。
其实从2010年开始,就有人在 Mozilla 的论坛里倡议 Firefox 移除 CNNIC,但因为一直没有证据表明 CNNIC 参与了劫持,所以 Mozilla 并没有理会此事。
一些网友
在一些互联网社区,比如知乎、V2EX,我看到了不少网友重新讨论起 CNNIC 的可信性,在很多互联网工作者的眼中,CNNIC 是不值得信任的机构。
为什么 CNNIC 是一个不值得信任的机构
制造流氓软件的
CNNIC 制作的上网辅助软件「中文上网官方版软件」,曾引起广泛争议。该软件因其强制安装和无法彻底卸载,一度被北京市网络行业协会列入10款流氓软件名单并勒令整改。
混淆「中文上网」和「中文域名」
曾经,360 安全卫士批评CNNIC,打着官方的旗号,混淆该软件与中文域名之区别,令公众误以为国家发展中文域名,就等于支持该(流氓)软件。
cn 域名胡乱管理
为了推广.cn域名,CNNIC 曾经让 .cn 域名1元即可注册,导致 .cn 域名泛滥。
2009年12月9日,CNNIC被中国中央电视台曝光对.cn域名管理不善,致使色情网站可以轻而易举的更换域名。12月11日晚,CNNIC发出公告,公告暗指从2009年12月14日9时起,禁止个人注册CN域名。
2010年1月底,CNNIC要求所有cn域名提交个人身份证复印件,由于没有出台适当的隐私保护条例,遭cn域名持有者抵制。
这一切,其实都是因为滥推广 .cn 域名导致的。
冒牌的非营利性机构
CNNIC 既不是事业单位,也不是企业或社团,号称非营利机构,但却在经营域名注册等业务。
制造假证书
在冒充 Google 之前,其实在2013年,也曾有人自签CNNIC证书对github进行中间人攻击,但没有证据显示那是 CNNIC 官方所为,因为证书并非官方颁发。
防火防风防 CNNIC
为了隐私安全,不信任 CNNIC 是一个明智的选择,因为你永远不知道你什么时候访问一个加密网站,会因为被安插了一个 CNNIC 颁发的真实「假」证书,而被窃取了机密信息。
保持浏览器和系统更新到最新版本
首先,当然要保持浏览器和系统更新到最新版本,安全补丁打到足。
移除CNNIC证书
更靠谱的做法是,在系统和浏览器里,将 CNNIC 移出信任机构名单,轻单用户「Anonymous」已经列了一份教程,在本项的链接里。为了方便查看,我把一些方法简单摘录。
全自动可疑证书吊销工具
适用于任何系统,这是最简单的方法,教程请点击链接。
在 Windows 下移除 CNNIC
运行Windows的证书管理器(到命令行执行certmgr.msc)。
选中“受信任的根证书颁发机构”=>“证书”。
查看右边的证书列表。
选中CNNIC证书,点右键。在右键菜单中点“属性”。
在跳出的属性对话框中,选中“停用这个证书的所有目的”,然后确定。
在 Mac 下移除 CNNIC
请到“实用工具”=>“钥匙串访问”=>“系统根证书”=>“证书”,搜索CNNIC,并找到它的证书并双击,改为“永不信任”。
在 Linux 下移除 CNNIC
运行命令:dpkg-reconfigure ca-certificates 会出现一个图形界面,把CNNIC证书不选,并确认。
在 Firefox 里移除 CNNIC
不论是在哪个操作系统下,只要你用的是Firefox浏览器(它的证书体系独立于操作系统的),则需要执行如下步骤:
从菜单“工具”=>“选项” ,打开选项对话框
切换到“高级”部分,选中“加密”标签页,点“查看证书”按钮。
在证书对话框中,切换到“证书机构”。
里面的证书列表是按字母排序的。把CNNIC打头的都删除。
在 Android 下移除 CNNIC
进入「设置」 – 「安全」 – 「受信任的凭据(显示受信任的CA证书)」,点击进入需要禁用的证书并下拉到最下面,点击 禁用 按钮即可。
在 iOS 下移除 CNNIC
iOS 系统无法移除 CNNIC 证书,然而,我们可以使用被信任的国外 VPN 来访问 HTTPS 网站,避免被 DNS 劫持和植入 CNNIC 证书。
from https://kenengba.com/post/3336.html
-------------------
如何吊销 CNNIC 根证书
CNNIC 是什么?
China Internet Network Information Center ——中国互联网络信息中心。
CNNIC 做了什么?为什么要吊销其根证书?
发行了多个谷歌域名的假证书
一个名为MCS集团的中级证书颁发机构发行了多个谷歌域名的假证书,而MCS集团的中级证书则来自中国的CNNIC。
该证书冒充成受信任的谷歌的域名,被用于部署到网络防火墙中,用于劫持所有处于该防火墙后的HTTPS网络通信,而绕过浏览器警告。
简而言之,就是他们有了这个伪证书,你访问谷歌(当然是你科学上网)的内容会被窥探到。
窥探的方法就是中间人攻击。
http://www.williamlong.info/archives/4183.html
什么是“中间人攻击(MitM)”
所谓“中间人”攻击,指攻击者与通讯的两端分别建立独立联系,并交换其所收到的数据,使通讯的两端认为他们正在通过一个私密的连接与对方直接对话,而且,攻击者能够阅读通讯双方的所有会话内容。
中间人攻击 - 维基百科,自由的百科全书
ZH.WIKIPEDIA.ORG
谁遭受过“中间人攻击”
2013 年 1 月 26 日晚 GitHub 遭到 SSL 中间人攻击。
2014 年 10 月 2 日至 10 月 6 日,微软账号(login.live.com)在中国大陆地区遭受大面积SSL中间人攻击。
2014 年 10 月 19 日,国内 iCloud 服务器遭遇中间人攻击。
2014 年 10 月 20 日,雅虎在中国大陆地区再次受到 SSL 中间人攻击。
2015 年 1 月 21 日,微软证实其 Outlook 电子邮件服务被中国黑客作为攻击目标,遭到中间人攻击,微软用户仅在中国受到影响。
必须要说的是:上面这些中间人攻击只是对CNNIC的怀疑。前几天发生的这件事则是证据确凿的——
2015 年 3 月 23 日,谷歌发现 CNNIC 颁发了多个针对谷歌域名的用于中间人攻击的证书。
如何吊销 CNNIC 根证书
我们要做的事,很简单,吊销 CNNIC 根证书。
全自动可疑证书吊销工具
GitHub 上的 Revoke China Certificates 项目。这是最简单的方法。
或者请按下面的步骤手动吊销。
chengr28/RevokeChinaCerts
RevokeChinaCerts - Revoke China Certificates.
GITHUB.COM
Windows(适用IE、Chrome、Safari)
1. 运行Windows的证书管理器(到命令行执行certmgr.msc)。
2. 选中“受信任的根证书颁发机构”=>“证书”。
3. 查看右边的证书列表。如果里面已经有CNNIC的证书,直接跳到第7步。
4. 先翻墙到下面的链接下载现成的CNNIC证书(要解压缩出来)。
5. 鼠标在“受信任的根证书颁发机构”=>“证书”上点右键。在右键菜单中点“所有任务”=>“导入”。
6. 出现一个导入向导,根据先导一步步的提示,把上述CNNIC证书导入到证书列表中。
7. 选中CNNIC证书,点右键。在右键菜单中点“属性”。
8. 在跳出的属性对话框中,选中“停用这个证书的所有目的”,然后确定。
9. 最后,为了保险起见,再把这三个证书,导入到“不信任的证书”中(方法和上述类似)。
注:上述操作仅对当前用户生效。如果你的Windows系统中有多个常用的用户帐号,要对每一个用户进行上述设置。
cnnic.7z - program-think - CNNIC 证书(用于禁用) - 【编程随想】的收藏 - Google Project Hosting
CODE.GOOGLE.COM
OS X(适用Safari、Chrome)
请到“实用工具”=>“钥匙串访问”=>“系统根证书”=>“证书”,找到CNNIC的证书并双击,改为“永不信任”。
Linux(适用Chrome)
对于Debian和Ubuntu系统,以管理员权限进行如下操作:
方法1:运行命令:dpkg-reconfigure ca-certificates 会出现一个图形界面,把CNNIC证书不选,并确认。
方法2:编辑 /etc/ca-certificates.conf 文件,把CNNIC证书对应的行删除或注释掉。然后用命令 update-ca-certificates 使之生效。
注:对于其它Linux发行版本,也有类似操作。
清理 Firefox 的证书
不论是在哪个操作系统下,只要你用的是Firefox浏览器(它的证书体系独立于操作系统的),则需要执行如下步骤:
1. 从菜单“工具”=>“选项” ,打开选项对话框
2. 切换到“高级”部分,选中“加密”标签页,点“查看证书”按钮。
3. 在证书对话框中,切换到“证书机构”。
4. 里面的证书列表是按字母排序的。把CNNIC打头的都删除。
注:如果某个证书是Firefox自带的,则删除之后,下次再打开该对话框,此证书还在。不过不要紧,它的所有“信任设置”,都已经被清空了。
Android
设置 - 安全 - 受信任的凭据(显示受信任的CA证书)
点击进入需要禁用的证书并下拉到最下面,点击 禁用 按钮即可。
操作完毕建议清空所有浏览器数据和系统缓存,并重启网络连接。
iOS
iOS 没有任何官方提供的方法禁用自带的根证书,请放弃在 iOS 下禁用根证书的想法。
检验方法
打开 https://www1.cnnic.cn/ (注意是 HTTPS 的)会报证书错误的就表明成功吊销了。
P.S.
可能的副作用:有些国内网站已经开始使用CNNIC的证书,目前已经知道的有163邮箱(真鄙视网易)。但是甭担心。去除证书后,浏览器在访问上述网站时,会给出一个证书的安全警告。你只需添加一个安全例外即可。
from https://qdan.me/list/VRIio9hA0FujGWYP
-------------------
如何吊销CNNIC根证书
- China Internet Network Information Center ——中国互联网络信息中心。
CNNIC 做了什么?为什么要吊销其根证书?
发行了多个谷歌域名的假证书
一个名为MCS集团的中级证书颁发机构发行了多个谷歌域名的假证书,而MCS集团的中级证书则来自中国的CNNIC。该证书冒充成受信任的谷歌的域名,被用于部署到网络防火墙中,用于劫持所有处于该防火墙后的HTTPS网络通信,而绕过浏览器警告。简而言之,就是他们有了这个伪证书,你访问谷歌(当然是你科学上网)的内容会被窥探到。窥探的方法就是中间人攻击。
什么是“中间人攻击(MitM)”
所谓“中间人”攻击,指攻击者与通讯的两端分别建立独立联系,并交换其所收到的数据,使通讯的两端认为他们正在通过一个私密的连接与对方直接对话,而且,攻击者能够阅读通讯双方的所有会话内容。
谁遭受过“中间人攻击”
2013 年 1 月 26 日晚 GitHub 遭到 SSL 中间人攻击。2014 年 10 月 2 日至 10 月 6 日,微软账号(login.live.com)在中国大陆地区遭受大面积SSL中间人攻击。2014 年 10 月 19 日,国内 iCloud 服务器遭遇中间人攻击。2014 年 10 月 20 日,雅虎在中国大陆地区再次受到 SSL 中间人攻击。2015 年 1 月 21 日,微软证实其 Outlook 电子邮件服务被中国黑客作为攻击目标,遭到中间人攻击,微软用户仅在中国受到影响。必须要说的是:上面这些中间人攻击只是对CNNIC的怀疑。前几天发生的这件事则是证据确凿的——2015 年 3 月 23 日,谷歌发现 CNNIC 颁发了多个针对谷歌域名的用于中间人攻击的证书。
如何吊销 CNNIC 根证书
我们要做的事,很简单,吊销 CNNIC 根证书。
全自动可疑证书吊销工具
GitHub 上的 Revoke China Certificates 项目。这是最简单的方法。或者请按下面的步骤手动吊销。
Windows(适用IE、Chrome、Safari)
1. 运行Windows的证书管理器(到命令行执行certmgr.msc)。2. 选中“受信任的根证书颁发机构”=>“证书”。3. 查看右边的证书列表。如果里面已经有CNNIC的证书,直接跳到第7步。4. 先翻墙到下面的链接下载现成的CNNIC证书(要解压缩出来)。5. 鼠标在“受信任的根证书颁发机构”=>“证书”上点右键。在右键菜单中点“所有任务”=>“导入”。6. 出现一个导入向导,根据先导一步步的提示,把上述CNNIC证书导入到证书列表中。7. 选中CNNIC证书,点右键。在右键菜单中点“属性”。8. 在跳出的属性对话框中,选中“停用这个证书的所有目的”,然后确定。9. 最后,为了保险起见,再把这三个证书,导入到“不信任的证书”中(方法和上述类似)。注:上述操作仅对当前用户生效。如果你的Windows系统中有多个常用的用户帐号,要对每一个用户进行上述设置。
OS X(适用Safari、Chrome)
请到“实用工具”=>“钥匙串访问”=>“系统根证书”=>“证书”,找到CNNIC的证书并双击,改为“永不信任”。
Linux(适用Chrome)
对于Debian和Ubuntu系统,以管理员权限进行如下操作:方法1:运行命令:dpkg-reconfigure ca-certificates 会出现一个图形界面,把CNNIC证书不选,并确认。方法2:编辑 /etc/ca-certificates.conf 文件,把CNNIC证书对应的行删除或注释掉。然后用命令 update-ca-certificates 使之生效。注:对于其它Linux发行版本,也有类似操作。
清理 Firefox 的证书
不论是在哪个操作系统下,只要你用的是Firefox浏览器(它的证书体系独立于操作系统的),则需要执行如下步骤:1. 从菜单“工具”=>“选项” ,打开选项对话框2. 切换到“高级”部分,选中“加密”标签页,点“查看证书”按钮。3. 在证书对话框中,切换到“证书机构”。4. 里面的证书列表是按字母排序的。把CNNIC打头的都删除。注:如果某个证书是Firefox自带的,则删除之后,下次再打开该对话框,此证书还在。不过不要紧,它的所有“信任设置”,都已经被清空了。
Android
设置 - 安全 - 受信任的凭据(显示受信任的CA证书)点击进入需要禁用的证书并下拉到最下面,点击 禁用 按钮即可。操作完毕建议清空所有浏览器数据和系统缓存,并重启网络连接。
iOS
iOS 没有任何官方提供的方法禁用自带的根证书,请放弃在 iOS 下禁用根证书的想法。
检验方法
打开 https://www1.cnnic.cn/ (注意是 HTTPS 的)会报证书错误的就表明成功吊销了。P.S.可能的副作用:有些国内网站已经开始使用CNNIC的证书,目前已经知道的有163邮箱(真鄙视网易)。但是甭担心。去除证书后,浏览器在访问上述网站时,会给出一个证书的安全警告。你只需添加一个安全例外即可.