介绍
通过SSL加密获得越来越多的Web流量的推动意味着越来越多的服务和用例需要获得正确证书的解决方案。 无论是公共网站,Intranet流量还是您的Web应用程序的分段服务器,您都需要一个证书来保护您的数据,并满足用户现代的安全需求。
SSL连接的主要优点在于隐私和数据完整性 。 连接是私有的,因为加密可以防止窃听。 通过加密验证您正在连接到正确的服务器(而不是冒牌者)以及通过验证单个邮件在传输中未被篡改来确保数据完整性。
您可以通过几种不同的方式获取SSL证书,根据您的预算,受众群体以及其他一些因素,您可以选择商业认证机构,新的自动和免费的认证机构,自签名证书和您的证书拥有私人证书颁发机构。 我们来比较这些选项,并讨论何时可能最好使用每个选项。
词汇表
在开始之前,我们将定义讨论SSL安全性时使用的常用术语:
传输层安全(TLS)
传输层安全性是一种新的安全协议,可以替代安全套接字层(SSL)。 虽然现代加密连接更有可能使用TLS,但SSL名称仍然流行着语言,这是我们在这里使用的。
证书
在本文中,我们将专门引用SSL 服务器证书。 当请求新的SSL连接时,服务器证书由Web服务器呈现。 它们包含颁发证书的主机的名称(应与您尝试连接的服务器匹配),并由证书颁发机构签署以建立信任。
认证机构(CA)
证书颁发机构验证有关域名所有者对SSL证书的请求的详细信息,然后 - 如果一切都检出 - 发出并签署服务器证书。 浏览器和操作系统维护受信任的证书颁发机构的列表。 如果服务器证书由其中一个受信任的CA签署,它也将被信任。
域验证(DV)
域名验证的证书将发给已证明他们控制该证书所要求的域名的人。 此证明通常采取从您的Web服务器或DNS记录提供唯一令牌的形式,CA将在发出证书之前检查CA记录。
组织验证(OV)
组织验证的证书意味着认证机构还在公共数据库中验证了公司名称和地址。 该信息被放入证书中,并且通常仅在用户点击绿色挂锁图标以进一步调查时才显示。
扩展验证(EV)
扩展验证比域或组织验证更彻底。 在不仅查看域名所有权,而且还验证请求证书的法人实体的存在和位置,并且所述实体控制被验证域的情况下,颁发EV证书。
与DV和OV证书不同,EV不能作为通配符颁发。
EV证书还可以在网络浏览器中获得特殊待遇。 而浏览器通常表示具有绿色挂锁图标的DV证书,EV证书还会显示一个较大的绿色条,其中包含发出的组织名称。 这是为了减少钓鱼攻击,尽管一些研究表明,当这个绿色条纹丢失时,用户往往不会注意到。
通配证书
对于特定的完全限定域名(例如app.example.com )而不是颁发通配符,对于一系列子域名有效。 因此,颁发给* .example.com的证书将覆盖example.com的任何子域名,例如app.example.com和database.example.com 。 星号字符是通配符 ,可以替换为任何有效的主机名。
证书撤销清单(CRL)
SSL证书可以包括有关如何访问证书吊销列表的信息。 客户将下载并检查此列表,以确保证书尚未撤销。 CRL在很大程度上被OCSP响应者所取代。
在线证书状态协议(OCSP)
OCSP协议是CRL的替代品,具有更多实时的优势,并且需要更少的带宽。 一般操作类似:客户端要查询OCSP响应者,以检查证书是否已被撤销。
商业证书颁发机构
商业认证机构允许您购买DV,OV和EV证书。 一些提供免费的域验证证书有一定的限制(例如没有通配符)。
- 过程:初始设置和更新的手动过程
- 成本:大约$ 10 - $ 1000
- 验证: DV,OV和EV
- 信任:大多数浏览器和操作系统默认情况下信任
- 通配证:是的
- 仅IP证书:有些将颁发公共 IP地址的证书
- 期限: 1-3年
大多数浏览器默认情况下,大多数商业认证机构是受信任的。 更新过程通常是手动的,所以您必须注意您的证书的到期日期,并提醒自己按时更新。
传统上,商业CA是获得大多数主流浏览器信任的证书的唯一真正选择。 随着新的自动化认证机构,例如我们的加密,这已经改变了。 然而,商业CA是获取EV证书的唯一方法,也是获取大多数浏览器自动信任的通配符证书的唯一方法。 如果您需要无法运行自动化让我们的加密客户端(由于软件不兼容,或者可能是低功耗嵌入式设备)的设备的证书,它们也是一个很好的选择。
商业证书机构经常提供额外的支持合同,担保和认证的选择,这对一些公司和行业很重要。
我们加密
让我们加密提供一种自动化机制来请求和续订免费域验证的证书。 他们已经创建了一个标准协议 - ACME - 用于与服务进行交互以自动检索和更新证书。 官方的ACME客户端称为Certbot ,尽管存在许多备用客户端。
- 过程:初始设置和更新是自动化的。 只有Apache和Nginx安装程序才能与官方客户端自动进行,但是可以独立于任何特定的服务器软件下载和使用证书。
- 费用:免费
- 验证:仅DV
- 默认值:默认情况下在大多数浏览器和操作系统中受信任
- 通配证:不
- 仅IP证书:否
- 到期期限: 90天
让我们加密证书是短暂的,以鼓励自动更新,并减少攻击者可能滥用任何受损害的证书。
如果您有一个可以公开访问的服务器,并且有一个有效的域名指向它,那么我们的加密可能是一个很好的选择。 让我们加密的服务器需要联系您的Web服务器或获取公共DNS记录来验证您是否控制域,因此将其用于本地网络上的防火墙后面的私有服务器可能会有点棘手。 仍然可以使用我们加密的基于DNS的授权挑战。
我们加密不会提供裸机IP地址的证书。
如果您需要EV证书或通配符证书,那么我们加密不是一个选择。 请注意,让我们加密可以创建一个最多可以有100个主机名的证书,所以可能您实际上并不需要使用通配符,您可能只需要一个涵盖所有现有子域的证书。
不过,由于我们加密API的速率限制,如果您有很多子域名或动态子域名可以在即时创建,那么我们的加密可能不合适。
自签证书
可以使用已经由自己的私钥签名的SSL证书,而不需要一个证书颁发机构。 这被称为自签名证书,在设置Web应用程序进行测试或由有限数量的技术精湛的用户使用时,通常被建议。
- 流程:手动创建证书,无更新机制
- 费用:免费
- 验证: DV和OV
- 信任:默认为无。 每个证书必须手动标记为可信任,因为没有常见的CA
- 通配证:是的
- 仅IP证书:是的,任何IP
- 到期期限:任何
可以使用OpenSSL库附带的openssl
命令进行自签名证书。 在我们的教程OpenSSL Essentials:使用SSL证书,私钥和CSR中,您可以找到必要的确切命令以及OpenSSL的更多背景信息。
由于任何受信任的CA未签署自签名证书,因此您需要手动将证书标记为受信任的,这是每个浏览器和操作系统不同的进程。 此后,证书将像任何正常的CA签发的证书一样行事。
当您只需手动管理对几个客户端的信任时,自签名证书就可以一次性使用,并且不介意如果没有更多的人工工作就不能撤销或更新它。 这对于开发和测试目的来说经常是足够的,或者只有少数人会使用的自我托管的Web应用程序。
私人证书当局
可以使您自己的私人证书颁发机构使用它来签署证书。 您的用户需要手动安装和信任您的私有CA,才能信任其任何证书。
- 过程:手动证书创建和更新,以及CA本身的手动设置
- 费用:免费
- 验证: DV和OV
- 信任:默认为无。 您必须手动将您的私人CA证书分发给客户以建立信任
- 通配证:是的
- 仅IP证书:是的,任何IP
- 到期期限:任何
与自签名证书一样,您可以使用OpenSSL库附带的命令行工具创建私有CA,但是已经开发了一些替代接口来使此过程更容易。 tinyCA是此过程的图形界面,而caman是一个命令行程序。 两者都可以更容易地创建CA,然后发出,更新和撤销证书。
如果您有多个证书来创建并可以手动分发和安装用户的CA,则私有CA是一个很好的选择。 这可能会限制您在可以正确安装CA的组织或小技术精通用户的内部使用。 更大的IT部门通常有自动部署CA给用户的方法,使此解决方案更具吸引力。
不同于自签名证书,每个证书必须手动标记为可信任,您只需安装私有CA一次。 从该CA颁发的所有证书将继承该信任。
一个缺点是运行CA有一些开销,它需要一些知道如何以安全的方式进行设置和维护。
如果正确撤销对您的使用很重要,您还需要维护证书吊销列表的HTTP服务器或OCSP响应程序。
结论
我们已经审查了几种用于获取或创建SSL证书的选项。 无论哪种最适合您的情况,添加SSL保护功能有助于保护您的服务和用户的数据,隐私和安全。
如果您想深入了解SSL和我们讨论的选项,以下链接可能会有所帮助: