DevOps团队不断突破软件开发的边界。随着新应用程序以闪电般的速度开发,工程师和开发人员面临着确保开发周期的每个阶段(从容器和微服务到管理工具)安全的额外挑战。
安全性的关键是SSL/TLS证书。但是有多个服务需要安全管理,工程师没有能力手动检查哪些证书需要更新,哪些证书即将过期,或者向信息安全团队提交多个请求来处理证书管理请求。
那么,DevOps团队可以做些什么来让他们的生活更轻松呢?一个词:ACME(严格来说是四个词)。
什么是ACME?
ACME(自动证书管理环境)是一个用于自动证书颁发和域验证过程的标准协议。ACME是一个被广泛采用的证书自动化解决方案,它允许用户通过使用一组通过HTTPS携带的JavaScript对象标记(JSON)消息来请求证书管理操作。它为企业提供了一个与证书颁发机构通信的框架,以自动化SSL/TLS证书的请求、颁发和撤销。
如何使用GlobalSign的ACME集成保护您的CI/CD管道
企业可以使用ACME协议,通过GlobalSign SSL/TLS证书保护一系列DevOps部署和管理工具。以下是一些用例:
Kubernetes
开发人员可以使用GlobalSign的Atlas ACME服务,通过Jetstack的Cert-manager使用GlobalSign SSL/TLS证书来保护Kubernetes进入。Jetstack的证书管理器是一个原生的Kubernetes证书管理控制器。它构建在Kubernetes之上,为在Kubernetes集群内工作的开发人员提供“证书即服务”。它在Kubernetes API中引入了证书颁发机构和证书作为一级资源类型,从而简化了证书的管理、颁发和更新,并保护了应用流量。开发人员还可以利用ACME使用GlobalSign的原生Cert-Manager - Atlas插件来保护Kubernetes集群中的所有服务。
Docker Containers
ACME协议使Docker用户能够自动创建和更新证书,以确保Docker容器的安全。用户可以从ACME服务器请求GlobalSign的私有SSL/TLS证书,以确保docker容器和主机之间的通信安全。用户可以构建一个Docker-compose配置,在一个容器中运行Nginx,并在另一个容器中运行用于获取和更新HTTPS证书的服务。然后,他们可以通过外部帐户绑定(EAB)从ACME服务器检索自己的证书。
开发人员还可以从Docker Hub仓库中获取GlobalSign的Docker镜像,以获取SSL/TLS证书,以保护他们的Docker容器。
Ansible
Ansible用户可以通过提供API密钥和秘密以及mTLS证书,将GlobalSign配置为颁发证书的认证机构。开发人员可以使用Ansible playbook来保护他们的内部服务器,例如Apache和Nginx Web服务器。通过Ansible Playbook的“Tasks”,他们可以通过ACME协议请求、查看或吊销GlobalSign证书。此外,他们还可以使用http/dns/email方法执行域名声明验证。
Service Mesh
企业通过ACME和cert-manager获取mTLS证书,实现Istio、Linkerd等Pod间安全通信。
Chef
类似于用户如何创建一个Ansible Playbook来保护Apache和Nginx web服务器,开发人员可以创建一个ACME Cookbook来创建GlobalSign证书请求来保护他们的服务器。
Code Signing
开发人员可以通过安装ACME Jenkins插件来快速签名代码,该插件借助GlobalSign通过ACME请求的代码签名SSL/TLS证书对构建版本进行签名。
为什么要使用GlobalSign的ACME集成来保护DevOps服务?
那么,为什么GlobalSign的Atlas ACME集成是自动化DevOps安全需求的顶级解决方案之一呢?
-
速度
对于DevOps环境来说,速度是至关重要的。ACME自动化GlobalSign证书请求,因此您的DevOps服务器可以在几秒钟内得到保护。
-
广泛使用
这是一个被广泛使用且简化的协议,它帮助开发人员在几秒钟内保护他们的环境,以便他们可以继续进行真正的应用程序开发工作。
-
确保CI/CD管道的安全
GlobalSign的ACME集成可以与许多DevOps工具集成以管理证书。从使用Kubernetes集群保护pod-to-pod通信,到使用SSL/TLS保护入口资源。
-
了解最新情况
使用ACME协议自动化证书管理可以让企业确保它们的服务器和环境是安全的、最新的和兼容的。
-
保管好你的秘密和钥匙
ACME允许企业保留其机密和私钥,而不是将此责任移交给第三方。对一些人来说,这提供了额外的保证。