我从Namecheap购买了SSL证书,我认为它已通过ComodoSSL认证。它花了我7美元,花了一个星期才激活,我必须自己通过SSH来完成网站配置文件的编辑。

然后,一个朋友让我意识到Let's Encrypt不仅提供了出了免费的SSL证书,但可以通过运行一个命令来安装它们。

我确定我在这里丢失了一些东西,但是为什么我想在能够获得证书的情况下支付SSL证书的费用

容易安装,免费安装,具有自动续订功能吗?

评论

这是最近弹出的,基本上是相同的问题:security.stackexchange.com/questions/45491/…以前验证的,最近更新的答案仍然有效。但所有的答案我感到非常难过,看到没有人解释VS值价格和成本与价格之间的差异(关联担保和保险 - 要相信与否等)

我可以看到有人花钱购买扩展验证等业务案例,以便在锁定图标等旁边加上公司名称。从技术角度来看,没有真正的理由。

整个答案可以用marcelm答案中的这一句话来概括:“要使证书有意义,必须由软件供应商信任颁发CA的证书,否则该证书将无用。”所有证书均经过第三方加密验证。如果您认为Let's Encrypt永远不会搞砸,也不会被黑客入侵,那么您将从中获得价值。但是人们付钱的原因是他们更适合其他CA。就这么简单。

“所有证书都是经过第三方验证的加密”是没有意义的。证书未加密,首先要对其进行签名。 @JakeGould

令我惊讶的是,目前还没有人说过:“通常在针对以可疑方式对待letencrypt的企业时,将某些东西当成合法”。

#1 楼

我为什么要为SSL证书付费?

对于大多数用途,没有充分的理由为它们付费。
请参阅底部的摘要以了解例外情况。

让我们退后一步,解释证书的用途以及大致的操作方法。

通常称为“证书”的内容由两个链接部分组成:


正确的证书,其中包含一个公共密钥和一些标识(例如域名)。
私有密钥,它允许持有人(仅持有人)以数字方式对邮件进行签名。使用上述证书进行了验证。

如果您想要yourdomain.com的证书,请:


创建一个私有/公共密钥对,并保留私有部分,私有。

请可信赖的第三方(“ CrediCorp”)使用公共密钥为yourdomain.com创建证书。
以某种方式向CrediCorp证明您可以控制yourdomain.com
放入私钥和获得的证书

然后,如果Alice访问yourdomain.com,则她的浏览器会从您的Web服务器获取证书以及由私钥签名的消息。然后,她的浏览器检查了三件事:


可以通过您的证书来验证已签名的消息(证明它已由仅yourdomain.com应该具有的相应私钥进行了签名)。
证书的域是浏览器尝试访问的域(yourdomain.com)。
证书来自CrediCorp。

这三者的结合保证了Alice实际上正在与之交谈yourdomain.com,而不是冒充他人...只要爱丽丝信任CrediCorp。

(还进行了一些伏都教舞,将这种真实性转变为机密。)

如何爱丽丝信任CrediCorp?

这才是真正的症结所在。简而言之,CrediCorp在某个时候说:“嘿,我们要制作证书”。在遵循了许多规则的大量努力之后,他们设法说服了某些人说CrediCorp确实是值得信赖的,并且他们只会正确地颁发证书。

尤其是,他们设法说服了例如Firefox的制造商。结果,CrediCorp进入了Firefox的A列表,并且默认情况下Firefox信任它们的证书。所以说真的,当您声称控制了yourdomain.com时,Alice信任Firefox,Firefox信任CrediCorp,而CrediCorp信任(在验证之后)您。

但是,Firefox不仅仅信任CrediCorp为yourdomain.com颁发证书,它还信任任何域的CrediCorp证书。 Firefox也可以信任ShabbyCorp的任何域。

这会带来后果。如果有人设法说服ShabbyCorp他们控制yourdomain.com(因为ShabbyCorp不够彻底),那么他们可以获得带有相应私钥的yourdomain.com的ShabbyCorp证书。有了该证书,他们就可以模拟您的Web服务器。毕竟,它们具有适用于Firefox的yourdomain.com的证书(加密钥)!

CrediCorp和ShabbyCorp简称为证书颁发机构,CA。在现实世界中,ComodoSSL和Let's Encrypt是CA的示例。但是还有更多。在撰写本文时,Firefox信任了154个CA。

哇。但这怎么回答我的问题?

我很明白...

这就是问题。我上面概述的机制适用于所有证书。如果您的网站拥有正确的,受信任的证书,它将可以使用。品牌A证书与品牌B证书之间没有什么特别之处。它们都受相同的CA要求和相同的加密数学的约束。

即使您更喜欢CrediCorp(因为您知道,它们听起来更值得信赖),但使用它们并不会真正帮助您。如果攻击者可以说服ShabbyCorp为您的站点提供证书,则无论您从何处获得证书,攻击者都可以使用该证书来模拟您的站点。

只要Firefox信任ShabbyCorp,访问者就可以赢得看不到区别。 (是的,访问者可以拉出证书,然后从那里进行挖掘,看看是谁签发的。但是是谁做的?)就伪造证书而言,这使整个系统与150多个CA中最弱的一个一样脆弱。为什么会这样,这很可怕,这可能是人们对整个方案的最大批评。仍然,这就是我们所坚持的。

要点是,如果您不信任CA颁发“好”证书,那么将证书放在其他地方对您无济于事。 />
Gotcha,一切都注定要失败。没有警告吗?

Weeeelllll ...



让我们从扼杀我在上一节中提出的观点开始。如今,可以使用DNS-CAA将您的域仅锁定到您选择的CA。假设您确实信任Comodo,并且不信任其他CA,则可以请求Comodo以外的所有CA不为您的域颁发证书。理论上。 (因为浏览器不检查DNS-CAA,而仅通过发布CA进行检查。因此,受感染的CA可以忽略此保护措施。)

如果您愿意解决该麻烦,那么问题就变成了:加密实际上不那么值得信赖吗?还是不太安全?诚信是一项艰巨的任务,您如何量化呢?我只能说,在我看来,Let's Encrypt与其他CA一样值得信赖。至于其验证的安全性,它们与商业CA(无论如何都适用于DV证书)非常相似。另请参阅此问题。

物有所值:该站点所属的StackExchange网络当前使用“让我们加密”证书。大多数人永远不会注意到这一点,如果他们这样做了,我将真心地怀疑这对他们是否有意义。

要使证书有意义,发行者的CA必须受到软件供应商的信任,否则该证书是没有用的我以Firefox为例,但实际上,您希望CA至少受到Firefox,Chrome,Windows,Mac OS X,iOS和Android的当前版本和较旧版本的信任。以及数十个较小的参与者。所有这些实体都信任值得考虑的CA(包括ComodoSSL和Let's Encrypt)。
如果CA行为不当或被揭示为不可信,它将很快从各个信任存储区中删除,从而破坏证书的产生时间。拥有者。我知道的两个著名的例子是DigiNotar和StartCom / WoSign(请参阅文章,它们提供了有关信任动态的有趣见解!)。因此,如果您认为Let's Encrypt会搞砸了,或者由于其他原因而被放弃,则不使用它们会阻止您陷入特定的后果。
证书采用了一些加密数学魔术;问题是哪种加密数学魔术?如果是弱魔法怎么办?这实际上是一个真正的问题,并且CA也已显示出在升级此问题上的脚步。幸运的是,浏览器供应商通过在此处设置接受证书的下限来弥补这一不足。例如,大多数浏览器现在都拒绝使用RSA-1024或SHA-1的证书,因此,在实践中可用的任何证书都不会使用这些已弃用的加密原语。结果是,任何CA(包括我们的加密)都很难在这方面令人失望。

之前,我或多或少说过所有证书都是一样创建的。我撒谎,他们没有。特别是,到目前为止,我所讨论的是“域验证(DV)证书”,这是大多数网站使用的证书。它们可以确定您的浏览器实际上正在与它在URL栏中显示的域进行对话。也有“组织验证(OV)”和“扩展验证(EV)”证书,它们要求CA进行更详尽的检查。特别是,如果您确实可以证明自己是SomeBank,Inc.,则应该只能获得somebank.com / SomeBank Inc.的EV证书。

获得EV证书的成本要高得多(棒球场:每年数百欧元/美元),并且可能会在浏览器中通过绿色的网址栏或挂锁来奖励他们,也许会显示“ SomeBank,Inc.”。也一样与DV证书相反,它们还提供了有关网站可能实际属于谁的一些信息。好的方面是,它们看起来更合法。令人失望的是,用户很少关注他们,因此其有效性受到限制。

拥有伪造的DV证书的攻击者仍然可以假冒该站点,只是没有EV证书可能提供的额外视觉线索,用户通常不会注意到这些区别。相反,可能会获得具有误导性的EV证书,从而使网络钓鱼更加容易。结果,Chrome和Firefox都会放弃对EV证书的视觉认可,有些人认为它们将完全消失。

如果您是银行,则可能仍需要EV证书目前。否则,不会那么多。但是,如果您确实需要EV,那么我们就不适合使用Let's Encrypt,因为它们根本不提供EV证书。


证书仅在有限的时间内有效。典型的商业CA证书的有效期通常为一年,但是我看到的时间从三个月到三年不等。让我们加密证书的有效期为90天,这在该范围的较短范围内,因此您需要经常更新它们。对于Let's Encrypt用户而言,这通常是自动进行的,因此每60天更换一次证书。

能够使用广泛可用的软件进行自动续签实际上比每年的证书更令人愉快哦,我的证书过期了吗?我在CA的登录名是什么?又如何工作?习惯上,大多数小型站点似乎都以商业CA结尾。

之前,我称令人恐惧的是,我们所有人都必须信任这么多的CA。但是,从从我们的信任库中删除单个证书颁发机构对用户的影响有限的意义上来说,拥有多个证书颁发机构也是一个优势。特别是,驱逐一个CA仅会影响该CA颁发的证书。如果每个人最终都使用一个单一的CA(有些人担心使用Let's Encrypt可能会发生这种情况),那么我们将所有的信任都集中在那里,而失去这种分散的优势。
最后,付费CA可能还有其他好处报价,例如商业支持或一百万美元的SSL保修。我对这两个方面都不太信任,但是这些都是Let's Encrypt无法提供的。

我的头很痛...我想问一个问题吗?

使用您认为合适的东西!对于DV证书,几乎没有什么可以真正区分各种CA。我在专业和私下都使用“让我们加密”,对此我感到满意。

我确实只有四个潜在的原因可以避免让我们进行加密:


如果您需要EV(或OV)证书。
如果您不能或不想自动进行证书更新,并且三个月的证书有效性对您来说太短了。
如果您不信任Let's Encrypt(但也请务必考虑使用DNS-CAA等其他措施,那么您也可能会在浏览器中将Let's Encrypt列入黑名单)。
如果您认为Let's Encrypt将不再使用或出于某种原因从浏览器中删除。

如果这些都不对您适用,请随时为您的证书付款。

评论


请注意,EV证书不再被认为有用,因为用户会忽略它们。浏览器(尤其是Chrome浏览器)和移动设备上的浏览器正在删除或掩埋绿色文字并显示名称。

–简单用户
19年8月17日在9:39

请记住,您不是要求可信赖的第三方为您的私钥创建证书,而是为相应的公钥创建证书。轻微的nitpick,但很重要。您的私钥永远不会离开您的系统。

–MechMK1
19年8月17日在14:42

两者都有好处;我试图管理详细程度,同时仍要以大图的方式正确,但是我应该在这两件事上更加清楚。我更新了答案,希望可以更好地反映这些事实。

– marcelm
19年8月17日在15:18

更具体地说,从Chrome v77(当前为v67)开始,Chrome将不再直接显示EV证书。 Firefox(当前为68)计划与v70相同。

–knallfrosch
19年8月18日在13:52

为了添加有关EV证书的第三条评论,Troy Hunt(重新)写了一篇很好的文章来解释为什么它们真的死了:troyhunt.com/…

– Neyt
19年8月19日在13:18

#2 楼

“让我们加密”在许多方面都是上乘的,包括您提到的那些,例如:


它是免费的。很难克服。
它具有自动续订功能(我确定它并不是Let's Encrypt专有的)。
它很容易设置。
Google和许多其他公司都支持它作为受信任的CA,这在SEO和安全性方面非常重要。

但是,有一些缺点。


验证系统它可以确保您拥有该网站,并且与某些网站托管服务商不兼容。为了让我们在InfinityFree上进行“加密”工作,我头疼不已,而我只是接受了我无法接受的命运

因为它是开源的,所以您不会得到任何说明“如果出现这种情况,我们会为您提供帮助”的保险,因为“让我们加密”不起作用或以某种方式被破解。


评论


“有效的验证系统”这是IETF和CAB论坛要求所描述的HTTP-01和DNS-01的标准机制。对于DV证书,所有CA都绑定到完全相同的CA。

–帕特里克·梅夫克(Patrick Mevzek)
19年8月16日在16:53

“因为它是开源的”它是免费的(例如在啤酒中)而不是开源的。该API是标准的(请参见IETF中的ACME),并且有开源客户端(可能还有服务器)。

–帕特里克·梅夫克(Patrick Mevzek)
19年8月16日在16:54

“它具有自动更新”不是让我们自己加密。您,作为证书所有者,必须与他们联系以要求更新。他们不会自动将其推送给您。使用自动协议(如ACME)进行证书颁发是一种副作用。

–帕特里克·梅夫克(Patrick Mevzek)
19年8月16日在17:02

“ Google支持它作为签名的SSL”,而不仅仅是Google,您可能想说它作为“完全受信任的CA”支持它(让我们加密)(“签名的SSL”没有意义)。见letsencrypt.org/2018/08/06/…

–帕特里克·梅夫克(Patrick Mevzek)
19年8月16日在17:03

至于用于HTTPS通信的X.509证书的保险,另请参阅security.stackexchange.com/questions/179415/…和scotthelme.co.uk/…

–帕特里克·梅夫克(Patrick Mevzek)
19年8月16日在17:09

#3 楼

LetsEncrypt证书很棒。我自己使用它们而不是购买证书。有一些缺点:


LetsEncrypt证书仅持续3个月。大多数购买的证书有效期为一两年。这意味着您绝对需要一个自动的过程来更新证书,否则将很容易忘记。
LetsEncrypt仅提供最低的证书验证类型。域验证(DV)仅验证证书的所有者对域具有控制权。组织验证(OV)证书还会检查请求证书的个人或公司的文档。扩展验证(EV)证书甚至需要进一步检查。您的证书越好,就越难伪造,因此,您的站点的真实性就越值得信赖。在实践中,浏览器仅对EV证书进行视觉点头,通常在其地址栏中以绿色显示某些内容。到目前为止,大多数用户都不知道或不在乎不同的验证级别。
从LetsEncrypt获取通配卡证书要困难一些。在其他地方,您通常只需支付更多的钱。 LetsEncrypt要求对通配符证书进行DNS验证。

从历史上看,安全证书总要花一些钱。提供免费证书的其他公司来了又去了。我曾经使用StartSSL,后者提供单个域免费证书,直到他们做了一些可疑的事情并且浏览器停止信任他们的证书为止。与以前的免费证书供应商相比,LetsEncrypt具有更少的限制,并且自动化程度更高。它还有一些大型支持者,例如EFF,Mozilla,Chrome和Cisco。参见https://letsencrypt.org/sponsors/看来运行良好,我预计它将持续数年。

评论


DV和OF / EV之间有什么实际功能上的区别吗?还是从字面上看只是更彻底的检查?

–八
19年8月16日在16:09

“ LetsEncrypt证书仅持续3个月。”它是有目的的,实际上并不是积极的事情。

–帕特里克·梅夫克(Patrick Mevzek)
19年8月16日在16:55

@八种不同的检查和不同的最终结果:DV证书标识主机名,OV / EV证书标识实体。此外,CAB论坛的要求也设置了不同的约束,例如,您不能拥有EV三年,也不能拥有通配符。

–帕特里克·梅夫克(Patrick Mevzek)
19年8月16日在16:57

“ LetsEncrypt仅提供最低的证书验证类型。[..]证书越好,您的站点就越受信任。”这在很大程度上是个人喜好而不是普遍真理。而且,由于当前的Web PKI,大多数情况下都没有关系,它是信任存储区中最低安全CA的安全性定义了整个生态系统的安全性..直到每个人都在其域中使用CAA + DNSSEC,并且所有CA都使用验证过程中最少的DNSSEC和多个优势。

–帕特里克·梅夫克(Patrick Mevzek)
19年8月16日在16:59

“到目前为止,大多数用户都不知道或不在乎不同的验证级别。” -这使他们毫无意义。如果用户不区分EV / DV证书,则即使原始站点具有EV证书,获得某个域的有效DV证书的攻击者也可以对该域执行MITM攻击。

– marcelm
19年8月17日在0:04

#4 楼

并非所有内容都可以使用自动续订
CertBot可以轻松地用于网站...但是如果您将证书用于其他用途怎么办?
我们有一个LDAP服务器供我们的网站进行身份验证。它通过安全端口运行,但需要签名证书才能运行。我可以使用免费的通配符证书...但这意味着每3个月将证书转换为PKCS12(Web服务器使用PEM),然后导入新证书。哦,我们的网络防火墙也使用PKCS12。这是很多免费的麻烦。

评论


如果您愿意,也可以自动执行该转换。已经有一个运行certbot / acmetool /的cronjob来续订证书,您可以添加一个调用openssl进行转换的证书。

– marcelm
19年8月19日在21:00

#5 楼

一个简单的答案是,许多网站管理员只是不想做这些不必要的事情,而这会浪费他们宝贵的时间。如果使用letsencrypt,它易于使用且免费,但是您必须记住并每三个月重新安装一次证书。如果您不这样做或只是忘记这样做,那么您的网站将向您的访问者和搜索引擎显示404错误。

评论


“您必须记住”不,您需要放置所需的自动化并让它完成工作而无需记住任何东西。您还必须进行监视。

–帕特里克·梅夫克(Patrick Mevzek)
19年8月16日在16:56

“那么您的站点将显示404错误”当然不是。过期的证书将触发TLS握手失败,并且不会到达HTTP级别。客户将在浏览器中看到一条警告,上面有一些文本(他们基本上不会理解)和一个按钮,询问他们是否要浏览。

–帕特里克·梅夫克(Patrick Mevzek)
19年8月16日在16:56

许多托管站点只是在不加密按钮的情况下就让letencrypt按钮按下。您只需在网站配置面板中单击一个按钮,说“我想要!”。从那时起,一切都会自动发生,包括续订。

–总统James K. Polk
19年8月17日在17:20



作为大约100个域的专业管理员,我可以说,与以前的CA相比,我更喜欢让我们自动更新的“加密”而不是每年手动更新证书。

– marcelm
19年8月17日在18:18

使用acme.sh安装“加密”证书也会安装续订。不这样做是更多的工作。

–科林·哈特(Colin't Hart)
19年8月18日在10:48