如何添加自签名SSL证书 自签名SSL证书存风险

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何添加自签名SSL证书 自签名SSL证书存风险相关的知识,希望对你有一定的参考价值。

所谓自签SSL证书,是指不受信任的任意机构或个人,使用工具自己签发的SSL证书。自签名SSL证书可以随意签发,没有第三方监督审核,不受浏览器和操作系统信任,常被用于伪造证书进行中间人攻击,劫持SSL加密流量。很多网站为了节约成本,采用自签名SSL证书,其实是给自己的网站埋下了一颗定时炸弹,随时可能被黑客利用。

网站使用自签SSL证书存在极大的风险,主要来自以下几个方面: 

自签SSL证书最容易被假冒和伪造,被欺诈网站利用

自签SSL证书是可以随意签发的,不受任何监管,您可以自己签发,别人也可以自己签发。如果您的网站使用自签SSL证书,那黑客也可以伪造一张一模一样的自签证书,用在钓鱼网站上,伪造出有一样证书的假冒网银网站!

而权威CA机构受国际标准组织审计监督,不可随意签发证书,必须严格认证申请者身份才能签发全球唯一的证书,不会出现被伪造的问题。正规SSL证书支持所有浏览器,由浏览器内置的可靠验证机制,自动识别SSL证书的真实信息和证书状态,如果出现证书绑定域名与实际域名不符、证书已吊销或已过期等异常情况,浏览器会自动发出警告提醒用户“此网站安全证书存在问题”,假冒网站无处遁形!

部署自签SSL证书的网站,浏览器会持续弹出警告

自签SSL证书是不受浏览器信任的,用户访问部署了自签SSL证书的网站时,浏览器会持续弹出安全警告,极大影响用户体验。

自签SSL证书最容易受到SSL中间人攻击

用户访问部署了自签SSL证书的网站,遇到浏览器警告提示时,网站通常会告知用户点击“继续浏览”,用户逐渐养成了忽略浏览器警告提示的习惯,这就给了中间人攻击可乘之机,使网站更容易受到中间人攻击。

典型的SSL中间人攻击就是中间人与用户或服务器在同一个局域网,中间人可以截获用户的数据包,包括SSL数据包,并做一个假的服务器SSL证书与用户通信,从而截获用户输入的机密信息。当网站被假的SSL证书替换时,浏览器会警告用户此证书不受信任,需要用户确认是否信任此证书,用户习惯性点击“继续浏览”,中间人攻击轻而易举的实现了。

自签SSL证书没有可访问的吊销列表

这也是所有自签SSL证书普遍存在的问题,做一个SSL证书并不难,使用OpenSSL几分钟就搞定,但真正让一个SSL证书发挥作用就不是那么轻松的事情了。要保证SSL证书正常工作,其中一个必备功能是要让浏览器能实时查验证书状态是否已过期、已吊销等,证书中必须带有浏览器可访问的证书吊销列表。如果浏览器无法实时查验证书吊销状态,一旦证书丢失或被盗而无法吊销,就极有可能被用于非法用途而让用户蒙受损失。此外,浏览器还会发出“吊销列表不可用,是否继续?”的安全警告,大大延长浏览器的处理时间,影响网页的流量速度。

自签SSL证书使用1024位RSA公钥算法

1024位RSA公钥算法已经被业界认定非常不安全了,美国国家标准技术研究院( NIST )要求停止使用不安全的1024位RSA公钥算法。微软已经要求所有受信任的根证书颁发机构必须于2010年12月31日之前将1024位根证书升级到2048位,停止颁发不安全的1024位用户证书,12 月 31 日之后把所有 1024 位根证书从 Windows 受信任的根证书颁发机构列表中删除!

而目前几乎所有自签证书都是1024位,自签根证书也都是1024位。由于网站部署自签SSL证书而无法获得专业SSL证书提供商的专业指导,根本就不知道1024位已经不安全了。

自签SSL证书支持超长有效期,时间越长越容易被破解

自签证书中还有一个普遍的问题是证书有效期太长,短则5年,长则20年甚至30年。因为自签证书制作无成本无监管,想签发几年就签发几年,而根本不知道PKI技术标准限制证书有效期的基本原理是:有效期越长,就越有可能被黑客破解,因为他有足够长的时间(20年)来破解你的加密。

自签证书支持不安全的SSL通信重新协商机制及不安全的SSL协议和加密算法

几乎所有使用自签SSL证书的服务器都存在不安全的SSL通信重新协商安全漏洞。自签证书系统没有跟随最新PKI技术及时修补漏洞,也不会指导用户关闭不安全的SSL协议和加密算法,没有任何售后服务和技术指导可言,一旦新型漏洞爆发没有得到及时指导修复,就会被黑客利用,进而截获用户的加密信息,如银行账户和密码等。

光网Gworg是全球信任的CA机构,连续多年通过Webtrust国际审计,严格按照国际标准验证审核,可签发的正规SSL证书,支持所有浏览器。必须通过审核才能签发,不能随意获取。光网CA全球独家提供2年期多域名SSL证书,让所有网站都能启用全球信任的SSL证书加密,保护用户数据传输安全,无需再使用自签证书。 也可以淘宝搜索:Gworg 获取证书。

参考技术A 自签名SSL证书有哪些风险?
1. 自签SSL证书最容易被假冒和伪造,而被欺诈网站所利用
所谓自签证书,就是自己做的证书,既然你可以自己做,那别人可以自己做,可以做成跟你的证书一模一样,就非常方便地伪造成为有一样证书的假冒网银网站了。
而使用支持浏览器的SSL证书就不会有被伪造的问题,颁发给用户的证书是全球唯一的可以信任的证书,是不可以伪造的,一旦欺诈网站使用伪造证书(证书信息一样),由于浏览器有一套可靠的验证机制,会自动识别出伪造证书而警告用户此证书不受信任,可能试图欺骗您或截获您向服务器发送的数据!
2. 自签SSL证书最容易受到SSL中间人攻击
自签证书是不会被浏览器所信任的证书,用户在访问自签证书时,浏览器会警告用户此证书不受信任,需要人工确认是否信任此证书。所有使用自签证书的网站都明确地告诉用户出现这种情况,用户必须点信任并继续浏览!这就给中间人攻击造成了可之机。
典型的SSL中间人攻击就是中间人与用户或服务器在同一个局域网,中间人可以截获用户的数据包,包括SSL数据包,并与做一个假的服务器SSL证书与用户通信,从而截获用户输入的机密信息。如果服务器部署的支持浏览器的可信的SSL证书,则浏览器在收到假的证书时会有安全警告,用户会发觉不对而放弃连接,从而不会被受到攻击。但是,如果服务器使用的是自签证书,用户会以为是网站又要他点信任而麻木地点信任了攻击者的假证书,这样用户的机密信息就被攻击者得到,如网银密码等,则非常危险,所以,重要的网银系统绝对不能用自签SSL证书!
点评 :第1点和第2点都是由于自签证书不受浏览器信任,而网站告诉用户要信任而造成!所以,作为用户,千万不要继续浏览浏览器有类型如下警告的网站;而作为网站主人,千万不要因为部署了自签证书而让广大用户蒙受被欺诈网站所攻击的危险,小则丢失密码而为你增加找回密码的客服工作量,大则可能让用户银行账户不翼而飞,可能要赔偿用户的损失!
也许你或者你的系统集成商会说:这不是什么大不了的事,只要用户安装了我的根证书,下次就不会提示了。理论上是的,但是,由于用户有过要求点击信任证书的经历,再次遇到要求点击信任证书时一定会继续点信任而遭遇了上了黑客的当!
即使你是在给用户安装USB Key管理软件时悄悄安装你的根证书,也是有问题的,自签证书无法保证证书的唯一性,你的自签根证书和用户证书一样有可能被黑客伪造。
不仅如此,除了以上两个大问题外,由于用户自己开发的证书颁发系统或使用其他公司的证书颁发系统并非不具有完备的PKI专业知识,并没有跟踪最新的PKI技术发展,还存在其他重要安全问题。
3. 自签SSL证书支持不安全的SSL通信重新协商机制
经我公司专家检测,几乎所有使用自签SSL证书的服务器都存在不安全的SSL通信重新协商安全漏洞,这是SSL协议的安全漏洞,由于自签证书系统并没有跟踪最新的技术而没有及时补漏!此漏洞会被黑客利用而截获用户的加密信息,如银行账户和密码等,非常危险,一定要及时修补。

MAC申请自签名的ssl证书

不建议申请自签名SSL证书,使用自签SSL证书的风险如下:
第一、被“有心者”利用。
其实“有心者”指的就是黑客。自签名SSL证书你自己可以签发,那么同样别人也可以签发。黑客正好利用其随意签发性,分分钟就能伪造出一张一模一样的自签证书来安装在钓鱼网站上,让访客们分不清孰真孰假。
第二、浏览器会弹出警告,易遭受攻击
前面有提到自签名SSL证书是不受浏览器信任的,即使网站安装了自签名SSL证书,当用户访问时浏览器还是会持续弹出警告,让用户体验度大大降低。因它不是由CA进行验证签发的,所以CA是无法识别签名者并且不会信任它,因此私钥也形同虚设,网站的安全性会大大降低,从而给攻击者可乘之机。
第三、安装容易,吊销难
自签名SSL证书是没有可访问的吊销列表的,所以它不具备让浏览器实时查验证书的状态,一旦证书丢失或者被盗而无法吊销,就很有可能被用于非法用途从而让用户蒙受损失。同时,浏览器还会发出“吊销列表不可用,是否继续?”的警告,不仅降低了网页的浏览速度,还大大降低了访问者对网站的信任度。
第四、超长有效期,时间越长越容易被破解
自签名SSL证书的有效期特别长,短则几年,长则几十年,想签发多少年就多少年。而由受信任的CA机构签发的SSL证书有效期不会超过2年,因为时间越长,就越有可能被黑客破解。所以超长有效期是它的一个弊端。

参考技术A 1、桌面创建"SSL"文件夹,用来存放申请证书过程中的所有文件。
2、打开"终端"并进入到"桌面->SSL"。

3、管理员权限(命令:sudo su)。
这个命令超级重要!重要!重要!没有在管理员权限下执行下面的操作,即使你可以完成前面几步,也会在最后一步卡住报错!!!!

4、创建rootCA.key(命令:openssl genrsa -des3 -out rootCA.key 2048)。
创建时需要输入一个密码,这个密码要记住,下一步有用。

5、使用rootCA.key创建rootCA.pem(命令:openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 3650 -out rootCA.pem)
创建时需要输入rootCA.key的密码。
其他信息可以随意填写。

6、双击rootCA.pem证书。在钥匙串中双击,并修改为"始终信任"该证书

7、创建v3.ext文件(命令:touch v3.ext)

8、编辑v3.ext文件(命令:sudo vim v3.ext)

将下列文字复制粘贴进去
注意最后一行,(DNS.1 = xxxxxxx)
这一行可以输入域名或IP。

9、创建server.csr和server.key(命令:openssl req -new -sha256 -nodes -out server.csr -newkey rsa:2048 -keyout server.key)
这里要注意倒数第二项,必须填自己的IP地址或域名,如果IP为动态获取的,建议先改成固定IP。

10、创建server.crt(命令:openssl x509 -req -in server.csr -CA [rootCA.pem路径] -CAkey [rootCA.key路径] -CAcreateserial -out server.crt -days 500 -sha256 -extfile v3.ext)
去掉中括号,把对应文件路径写进去。
如果你报了“Error opening CA Certificate”这个错误,请先检查路径是否正确,如果正确请检查是否执行了第三步,我就卡在这卡了一晚上~
如果一切正常会让你输入密码,输入完成后就会生成server.crt!!

最后查看SSL文件夹

忙活一晚上就是为了这个~
明天有时间的话会更新服务器部署SSL证书,敬请期待哦~

以上是关于如何添加自签名SSL证书 自签名SSL证书存风险的主要内容,如果未能解决你的问题,请参考以下文章

自签名SSL证书是啥?有用吗

自签名SSL证书是啥?有用吗?

MAC申请自签名的ssl证书

ssl

如何创建一个自签名的SSL证书

自己生成的ssl证书与购买的ssl证书区别在哪里?