随着缩短SSL / TLS证书寿命的提议,以及科技和网络安全行业削减开支的前景,IT团队在确保企业内部安全方面面临越来越大的压力。IT团队正在转向自动化解决方案,以满足企业网络安全中这些日益增长的需求,ACME协议就是这样的解决方案之一。
自动证书管理环境(ACME)协议是一个用于证书自动化的工具,可以节省时间和部门资源,并消除人为错误的风险,填补企业安全的空白。如果没有它,证书可能会被放错地方或被忽视,导致它们过期;ACME可以帮助减轻IT团队的这种压力。
让我们深入了解一下ACME协议、它是什么以及企业如何利用它来管理安全性。
什么是自动证书管理环境(ACME)协议?
ACME是一个协议,它促进了证书颁发机构(CAs)和ACME客户机之间的通信,ACME客户机在用户的服务器上运行,以自动颁发、撤销和更新证书。
用户实现一个授权代理人,如Certbot、界面与CA和管理他们的证书签名请求(CSR),这样证书发行和更新在后台管理,而无需人工干预,使得IT团队专注于其他领域的安全。
ACME创建作为一个方法来管理萎缩SSL / TLS证书寿命,提供免费90天——证书。从那时起,证书颁发机构(Certificate authority, CAs)采用ACME协议来管理更全面的证书库存。
ACME是如何工作的?
实现一个用户证书管理代理或客户端,与CA接口平台(服务器)。要做到这一点,代理生成一个密钥对,由CA进行验证。一旦验证了密钥对,代理就有权管理csr,并将它们发送到CA证书管理平台,如Atlas。然后将证书签发回代理,代理安装证书并通知用户。
ACME的关键特性
与传统方法(如在大量电子表格中组织证书清单和手动创建CSR)相比,将ACME作为安全姿态的一部分提供了一种更实用的网络安全方法。
- 可伸缩性: ACME允许用户批量处理证书,这意味着可以同时签发、更新和撤销大量多种类型的证书。
- 服务水平协议(SLA): 与免费使用的众包ACME服务不同,GlobalSign等提供商在实施的每个阶段都提供支持,因此您可以确保高水平的自动化安全。
- 私钥处理: ACME允许企业管理他们自己的密钥安全性,而不是雇用第三方来为他们做这件事。
简单地在一个电子表格中维护你的证书目录就会使服务器和域名暴露在漏洞中,这些漏洞可能会被不法分子利用,比如证书被错误放置,或者证书被保存在一个令人讨厌的手动系统中,导致在过期前无法更新。
使用ACME提供了许多特性,可以减轻企业中IT团队证书管理的压力和负担。
实现ACME的好处是什么?
- 更高的安全性: 实现ACME消除了人为错误带来的风险。在ACME中,证书被存储在一个集中的目录中,不像存储在电子表格中那样,不能放错地方或被忽视。这大大降低了错过过期证书的风险,以及可能随之而来的宕机和违规。
- 速度和自动化: 实现ACME不需要很长时间;一旦设置完成,证书的签发、更新和吊销会在几秒钟内自动完成,不需要任何手动操作,IT团队可以专注于其他安全需求。
- 简化的证书管理方法: ACME极大地简化了IT团队的复杂手动流程领域,使他们几乎不需要处理CSR,而且实现过程也相当简单。
- CA灵活性: ACME在证书颁发机构(CA)之间提供了灵活性,这意味着如果您确实需要为您的证书需求使用多个CA,则可以在它们之间进行切换,而不会被锁定在一个CA和有限的证书供应中,从而为您提供更广泛的安全姿态。在这种情况下,最好添加一个CA作为一个主要的、可信的服务,例如GlobalSign,以便在需要时与其他CA通信。
ACME用例
- 域验证(Domain Validation, DV)证书: 在基本级别上,ACME可以为DV证书创建csr。这是证明域名或服务器所有权所需的最低验证,不需要审查。
- 组织验证(Organization Validation, OV)证书: 组织验证证书通过比基本DV证书更详尽的审核进行验证,为企业和组织提供更全面的认证。GlobalSign支持ACME OV证书。
- DevSecOps: 在DevOps管道的每个阶段,密集的安全流程都是至关重要的,因此,工程师需要确保他们所有的证书不允许出错。极速ACME能够管理证书,这意味着工程师不必花时间担心安全风险,而专注于其他任务。
如何实现ACME协议
-
选择并安装代理
首先,用户必须选择一个代理。有很多支持多种不同环境和操作系统的代理可供选择,在选择代理时需要考虑这些问题。考虑想要管理的证书类型也很重要——许多ACME代理支持域验证(Domain Validated, DV)和组织验证(Organization Validated, OV)证书的签发和更新,而无需人工干预。
为了让代理能够与CA通信,用户需要设置一个证书管理账户,例如Atlas,因此选择一个支持此功能的代理非常重要。
了解您希望管理的证书类型以及它们的价值有多高是至关重要的,以确保您满足所有的安全需求。一旦选择,ACME代理就可以安装在部署证书的服务器上。
2. 选择证书颁发机构(CA)
在安装过程中,代理会创建一个支持的CA列表供客户端选择。在选择CA时,一定要确保CA支持服务器或域所需的证书类型。这也应该是用户为他们的证书管理帐户指定的同一个CA。
当被选中时,代理将生成由公钥和私钥组成的密钥对,并与CA联系。稍后代理将使用私钥来验证其管理证书签名请求(CSR)的权限。
3. 证明
选中的CA将验证代理在客户端领域的权威通过发出挑战。这些挑战的最后一个是由CA生成的一个nonce。nonce是一个随机生成的数字,CA发送给代理,然后用自己的私钥签名,完成验证过程。
此外,还需要外部帐户绑定(EAB)将您的ACME帐户与外部帐户连接起来,在本例中是CA的服务器。当自动化机器和服务的证书管理过程时,EABs增加了额外的安全级别,因为它防止任何未链接的ACME客户端从您选择的CA提供证书。当设置您的ACME服务器以要求EAB时,只有您选择的具有有效EAB凭据的ACME客户端才能链接到ACME服务器(在本例中是Atlas)并获得证书。
4. 管理证书签名请求
ACME代理现在可以在不需要人工参与的情况下,在几秒钟内发送用于证书签发、更新和吊销的CSR。服务器将与代理一起生成CSR文件,用于签发或更新使用该密钥对验证过的域的证书。
然后,CSR被发送到CA,由CA验证密钥签名,并签发证书,将其返回给代理。
在撤销的情况下,请求将使用密钥对再次签名,就像签发或更新密钥一样,并发送到CA,然后由CA进行验证。CA将通过证书吊销列表(Certificate revocation List, CRL)发布吊销信息,使被吊销的证书不再被浏览器接受。
为什么IT团队和企业应该实现ACME
自动化越来越成为企业的必需品,而网络安全专业人员正面临着当代问题,包括证书寿命缩短和IT团队预算缩减。有很多自动化解决方案,与各种角色在网络安全和证书生命周期管理(CLM)。
创建ACME协议是为了通过自动化和组织证书管理过程来减轻网络安全专业人员面临的许多压力。实现一个代理来通过证书管理平台与CA通信,可以消除IT团队不断监控组织安全中使用的数百张证书的压力。
除了消除这些压力之外,ACME还以最小的成本获得,并显著节省了资源和安全漏洞造成的损失。ACME快速、可扩展,需要更少的时间和资源,同时加强了业务安全性。