回到主页

HTTPS服务的优点和缺点:传统与让我们加密对比Cloudflare

如果您在Google Search Console中验证了网站属性,并且该网站未受HTTPS保护,您最近可能会在信息中心中看到以下某种形式的消息:

经过数月的讨论和猜测,谷歌终于开始推进其实施HTTPS的安全网络计划。虽然HTTPS之前只是电子商务网站或具有登录功能的网站的关注点,但此最新更新会影响更多网站。绝大多数网站都有一个包含联系人或订阅表单的联系页面(或类似内容)。这些表单几乎总是包含文本输入字段,就像谷歌在上面的消息中警告的那样。“NOT SECURE”警告已经出现在收集付款信息或密码的不安全网站上。在用户的URL栏中看起来像这样:

既然这个警告将显示在更大比例的网络中,网站管理员就不能再推迟HTTPS实施了。不幸的是,谷歌建议网站管理员解决这个问题的方式与你想象的一样模糊和无益:

实现HTTPS并不是一个简单的过程。华盛顿邮报在2015年发布了一篇博客文章,概述了他们10个月的HTTPS迁移,许多网站(包括Moz)报告说他们的迁移后出现了重大的流量波动。迁移到HTTPS所需的时间和资源不是小额投资; 我们正在讨论一个实质性的网站大修。尽管有这些障碍,谷歌对网站管理员的困境几乎没有表示同情:

@rchtjn好吧,关闭网站也省钱。
- 约翰☆.o(≧▽≦)o。☆(@JohnMu)2015年12月18日

Google在这一领域的独特关注点是通过改善互联网安全性为网络访问者提供更好的用户体验。从表面上看,这一运动没有任何问题。然而,谷歌公然无视这给网站管理员带来的复杂性,尽管他们有良好的意图,但却在我的口中留下了一种不那么令人愉快的味道。

幸运的是,这些HTTPS关注点有一线希望。在过去的几年中,我们与许多不同的客户合作,使用各种不同的方法在他们的网站上实现HTTPS。每次经历都是独一无二的,并提出了自己的一系列挑战和障碍。在上一篇文章中,我根据我们的经验写了一篇关于迁移之前,期间和之后的步骤。在这篇文章中,我的重点是强调各种HTTPS服务的优缺点,包括非传统的实现。

以下是我们为客户提供的三种方法:

  1. 传统的HTTPS实现
  2. 我们加密吧
  3. CloudFlare的
方法1:传统的HTTPS实现

传统的HTTPS实施首先从可信赖的提供商(如Digicert或Comodo)购买SSL证书(提示:如果销售SSL证书的站点不是HTTPS安全的,请不要从他们那里购买!)。(* 注意:谷歌本周宣布他们将不再信任赛门铁克颁发的证书,其中包括Thawte,VeriSign,Equifax,GeoTrust和RapidSSL等品牌。)之后,您需要通过证书签名请求(CSR)向您购买的证书颁发机构验证证书; 这证明您确实管理了您声称要管理的网站。此时,您的SSL证书将被验证,但您仍需要在您的网站上实施它。Namecheap有一篇很棒的文章,关于根据您的服务器类型安装SSL证书。安装SSL证书后,您的站点将受到保护,此时您可以采取其他步骤来启用HSTS或强制HTTPS重写。

优点
  1. 完全安全。通过在根服务器上安装完全验证的SSL证书,您的服务器和站点之间或站点与站点访问者之间不可能存在受损的连接。
  2. 定制。完整SSL实施的一个功能是您可以购买扩展验证(EV)SSL证书。这不仅在浏览器栏中提供绿色挂锁,还包括您的公司名称,以进一步向访问者保证您的网站安全可靠。
  3. 更容易跨多个子域实施。如果您有多个子域,则HTTPS实施可能需要的是每个子域的单独SSL证书或域的所有变体的通配符证书。如果您需要保护多个变体,传统的SSL服务通常是设置通配符证书的最简单方法。
缺点
  1. 昂贵。虽然基本的SSL证书可能只需150美元,但根据您网站的复杂程度,如果您需要更高级的安全功能,更好的CDN网络等,这些成本可以快速增加到数千美元。这也不是包括让开发人员实施SSL证书的成本,这也可以是广泛的。
  2. 是时候实施了。如上所述,华盛顿邮报花了10个月才完成HTTPS迁移。其他公司报告了类似的时间表,特别是对于更大,更复杂的网站。很难预先知道您的网站配置需要解决哪些类型的问题,可能遇到的混合内容类型等等,因此如果您选择使用的话,请计划大量的额外时间来解决这些问题。标准实施。
方法2:让我们加密

Let's Encrypt是Internet Security Research Group提供的一项免费的非营利性服务,旨在通过提供免费的SSL证书来促进Web安全性。实现Let的加密与传统的HTTPS实现非常相似:您仍需要验证证书颁发机构,在服务器上安装SSL证书,然后启用HSTS或强制HTTPS重写。但是,通过Certbot等服务的帮助,实现Let的加密通常会更加简单,这将提供特定软件和服务器配置所需的实现代码。

优点
  1. 自由。成本是零,zippo,nada。没有细则或隐藏的细节。
  2. 易于实施。与传统的HTTPS实施相比,让我们在您的网站上实施加密SSL通常要简单得多。尽管不像Cloudflare那么简单(见下文),但这种易于实施可以为希望安装SSL证书的人们解决许多技术难题。
  3. 完全安全。与传统的HTTPS实现一样,站点访问者和站点服务器之间的整个连接是安全的,不会出现连接受损的可能性。
缺点
  1. 兼容性问题。众所周知,加密与一些不同的平台不兼容,但与其不兼容的平台不太可能成为您网站的主要流量来源(Blackberry,Nintendo 3DS等)。
  2. 90天证书。虽然传统的SSL证书通常有效期为一年或更长时间,但我们的加密证书仅在90天内有效,他们建议每60天更新一次。忘记以此必要频率续订证书可能会使您的网站处于妥协状态。
  3. 有限的定制。我们的加密只会提供域验证证书,这意味着您无法购买证书来获取EV绿条SSL证书。此外,Let's Encrypt目前不提供通配符证书来保护您的所有子域名,尽管他们已经宣布将在2018年1月推出。
方法3:Cloudflare

这是我最喜欢的HTTPS实现之一,仅仅是因为启用它是多么容易。Cloudflare提供灵活的SSL服务,几乎消除了直接在您的站点上实施SSL证书的所有麻烦。相反,Cloudflare将在其服务器上托管您网站的缓存版本,并通过自己的SSL保护来保护与网站访问者的连接。你可以在下面的图片中看到它的样子:

通过这样做,Cloudflare使这个过程尽可能简单。您所要做的就是更新DNS记录以指向Cloudflare的名称服务器。热潮,完成了。和Let's Encrypt一样,这个过程完全免费。

优点
  1. 自由。成本是零,zippo,nada。没有细则或隐藏的细节。如果您升级到其付费计划之一,Cloudflare确实提供了更多高级功能,但基本SSL服务完全免费。
  2. 最简单的实施。如上所述,实施Cloudflare SSL服务所需的全部功能是创建帐户并更新DNS记录。没有更新服务器配置,也没有花时间尝试解决其他配置问题。此外,实施HSTS和强制HTTPS重写可以直接通过Cloudflare仪表板完成,因此您的工作几乎不会涉及到任何工作。
  3. PageSpeed优化。除了SSL安全性之外,Cloudflare的HTTPS实现还提供了一些可以保留PageSpeed分数和页面加载时间的附加服务。虽然传统的HTTPS实现(或Let的加密)通常会对您网站的页面加载时间产生负面影响,但Cloudflare提供了自动缩小JS,CSS和HTML的能力。加速移动页面(AMP); 和一个Rocket加载器,可以加快JS加载时间。所有这些功能(以及为访问者提供网站缓存版本的Cloudflare)将有助于防止网站上的页面加载时间增加。
缺点
  1. 加密不完整。如上图所示,Cloudflare会在Cloudflare上加密访问者与您网站的缓存版本之间的连接,但它不会加密您网站与服务器之间的连接。虽然这意味着网站访问者在访问您的网站时可以感到安全,但您的服务器连接仍有可能受到损害。虽然您可以升级到支持此设置的完整SSL实施,但这不是免费服务的一部分。
  2. 安全问题。Cloudflare在今年早些时候被臭名昭着的黑客入侵,暴露了大量敏感的用户信息。虽然从那时起它们似乎已经解决并加强了安全性,但了解这一发展仍然很重要。
  3. 缺乏定制。与Let's Encrypt一样,Cloudflare的免费SSL服务不为您的站点提供任何类型的EV绿色条形码SSL。虽然您可以升级到提供此功能的完整SSL,但此时该服务不再是免费的。
哪种类型的HTTPS实施最好?

这真的取决于您的网站。较小的网站只需要足够的安全性,谷歌不会惩罚Chrome中的网站,可能会使用Cloudflare。对于您没有网站开发控制权的客户提供HTTPS建议的代理商也是如此。另一方面,主要的电子商务或出版物网站将需要通过传统方式(或通过Let's Encrypt的通配符证书,当明年发生时)实现完全定制的HTTPS实施。最终,您必须决定哪种实施对您的情况最有意义。

所有文章
×

还剩一步!

确认邮件已发至你的邮箱。 请点击邮件中的确认链接,完成订阅。

好的