使用 IRONSECUREDOC

Docker sign PDF(开发人员教程

在快速发展的软件开发和部署环境中,人们会将安全性置于优先考虑的事项之首。Docker是一种容器化平台,因其为应用程序带来的一致性、可扩展性和隔离性而受到欢迎。 不过,与往常一样,任何技术都有可能在操作过程中出现不当之处。 说到 Docker 安全性,最重要的一点是保持 Docker 镜像的整洁和完全可信。 这是Docker Signer Add进场的地方。 下面的文章将介绍什么是 Docker Signer、为什么它很重要,以及如何在开发管道中有效实施它。

什么是 Docker Signer?

Docker Signer 是一个实用工具,旨在通过使用数字签名增强 Docker 镜像的安全性。 签名用于为 Docker 映像提供身份验证和完整性验证,从而确保没有发生任何形式的篡改或更改。

就数字签名而言,在生成 docker 映像的加密签名后,就可以使用数字签名,以证明在对映像进行签名后,没有对映像进行过任何修改。 将 Docker Signer 插入您的 CI/CD 管道意味着您正在应用一个强大的安全模型,在这个模型中,您只部署受信任的镜像。

Docker Signer 为什么重要?

完整性验证:Docker 镜像本质上只是文件和元数据的 tarball。 否则无法保证您部署的东西就是您想要的。 Docker Signer 提供了确保完整性的手段,可以检查镜像是否发生变化或损坏。

身份验证:数字签名确保 Docker 镜像来源。 这意味着您可以保证译文来自您信任的人,并且在运输过程中没有任何变化。

合规与审计:许多行业和企业在安全和审计方面有严格的合规要求。 Docker 签名器通过非常清晰的图像真实性和完整性线索来帮助合规性。

信任管理: 在任何多团队或多组织设置中,这都是不言而喻的。Docker Signer 通过不使用未签名的镜像来实现信任管理——至少经过来源验证。

Docker Signer 如何工作

Docker Signer 使用一些加密技术来生成和验证签名。 具体步骤如下:

1.Docker 映像签名:

生成签名:以加密方式为容器生成数字签名,在构建Docker容器时使用先前使用的根密钥和创建的私钥作为公钥-私钥对的一部分。

在图像中包含签名: 生成的签名将通过相关元数据或完全不同的签名文件应用于 Docker 容器。

2.Docker 映像验证:

签名验证:Docker Signer 使用某个已部署或提取的私钥的 ID,检查其 Docker 镜像的签名与相应公钥的匹配,确保对应私钥已用于签署该 Docker 镜像。

完整性检查:验证成功—证明图像自签署以来未被修改; 验证失败-可能存在篡改或损坏。

使用 IronSecureDoc 实现 Docker Signer

要有效实施 Docker Signer,请遵循以下步骤:

设置 Docker Signer 添加的步骤

启用 Docker 内容信任

Docker 内容信任默认为关闭。 您可以通过将环境变量 DOCKER_CONTENT_TRUST 设置为 1 来打开它。


导出 DOCKER_CONTENT_TRUST=1

初始化公证人存储库

在实际签署图像之前,必须先初始化公证人服务器存储库。 您图片的授权密钥和签名将存储在其中。


docker trust key generate <name>

它将生成一个新的密钥对,并将私钥保存在本地。

Docker Sign Pdf 1 related to 初始化公证人存储库

加载创建的密钥

docker trust key load 用于将现有私钥加载到 Docker 的信任管理系统中。 该命令用于导入新的存储库密钥,例如,用户从其他来源生成或接收的密钥,以便用于在 Docker 内容信任下签署 Docker 镜像。


docker trust key load --name <name> <path-to-public/private-key>

下图显示了相应的公钥文件。

Docker Sign Pdf 2 related to 加载创建的密钥

签署 Docker 映像

只需将镜像推送到 Docker 注册表,即可对其进行签名。 Docker 内容信任:启用后,推送将对镜像进行签名。


docker push <your-registry>/<your-image>:<tag>

如果启用了 Docker 内容信任,映像将由 Docker 使用您的私钥签名,签名也将随映像一起发布。

验证签名图像

我们可以使用 docker trust inspect 命令来验证签名镜像。


docker trust inspect --pretty <your-registry>/<your-image>:<tag>

此命令将返回签名密钥和附在图像上的签名。

docker trust inspect 命令验证签名镜像

管理签名密钥

签名密钥可以通过 docker trust signers key 和 docker trust signer 命令进行管理。

例如,添加签名者:


docker trust signer add --key <path-to-key> <signer-name> <your-registry>/<your-image>

下图显示,我们需要在控制台中添加带有 ID 的版本库密钥,然后将证书添加到 docker 版本库中,并显示成功添加签名者的信息。

docker 信任签署命令以添加存储库密钥

使用自定义证书颁发机构 (CA)

如果我们使用的是自定义 CA,您需要确保 Docker 信任该 CA。 通常情况下,需要通过将 CA 证书放入 Docker 守护进程的受信任证书中,配置 Docker 信任您的 CA。

我们需要将您的 CA 证书粘贴到 Docker 主机上的 /etc/docker/certs.d//ca.crt 文件中。

使用 TLS 的 Docker

通过生成服务器和客户端证书,然后配置 Docker 在通信中使用这些证书,Docker 守护进程本身可以受到 TLS 的保护。

生成证书

使用 OpenSSL 生成所需的证书:


openssl genrsa -aes256 -out ca-key.pem 4096

openssl req -new -x509 -days 365 -key ca-key.pem -sha256 -out ca.pem

现在,生成服务器和客户端密钥及证书:


openssl genrsa -out server-key.pem 4096

openssl req -subj "/CN=your-server" -sha256 -new -key server-key.pem -out server.csr

openssl x509 -req -days 365 -sha256 -in server.csr -CA ca.pem -CAkey ca-key.pem -CAcreateserial -out server-cert.pem

最后,配置 Docker 以使用这些证书:将它们放入正确的目录并调整 Docker 守护进程配置。

配置 Docker 守护进程

修改 Docker 守护进程的配置以使用生成的证书:


{

  "tls": true、

  "tlsverify": true、

  "tlscacert":"/etc/docker/ca.pem"、

  "tlscert":"/etc/docker/server-cert.pem"、

  "tlskey":"/etc/docker/server-key.pem"、

"hosts": ["tcp://0.0.0.0:2376", "unix:///var/run/docker.sock"]

}

重新启动 Docker 守护进程以应用更改。

什么是 IronSecureDoc?

IronSecureDoc 是一种企业级别的文档安全解决方案,可保护机密文档免受未经授权的访问和数据泄露。 这包括但不限于强大的行业级静态和传输加密,从而为您的文档安全存储和传输提供充分保证。 它包含了组织在控制可以查看和编辑文档的用户的权限级别时可以实施的超精细访问控制。 它还将提供更先进的数据处理工具,允许在共享之前提前模糊关键信息。

IronSecureDoc: PDF安全和合规服务器

此外,IronSecureDoc 提供实时跟踪和审计功能,并保存所有文档操作的日志。 因此,该功能有助于遵守 GDPR 和 HIPAA。 它与文档管理系统和协作平台集成,确保在不中断工作流程的情况下增强安全性。 这样既能保护组织的关键信息免遭可能的风险,又能提供可靠的格式。 金融、卫生和法律等保护密集型行业是理想的翻译对象。 要了解Ironsecuredoc的使用,请参阅教程页面。

将 Signer 添加到 IronSecureDoc 的优势

在 IronSecureDoc 框架中签名 Docker 镜像继承了 Docker 镜像签名的所有安全功能,并通过 IronSecureDoc 的专业功能增强了这些功能。 优势如下

端到端安全性和合规性

更加自信的图像完整性:在IronSecureDoc中签署Docker图像确保从“构建”到“运行”的完整性。 所创建的图像不得擅自篡改或更改。

合规性:IronSecureDoc将针对多个安全标准; 因此,使 Docker 签名器符合这些严格的行业审计规定变得更加容易。

单一安全窗格

集成安全管理:IronSecureDoc 旨在完全管理和保护文档和图像。 该框架与 Docker 映像签名相结合,可集中管理所有资产的一致安全策略。

无缝工作流程集成:将 Docker 签名与 IronSecureDoc 集成,以实现图像签名和验证与现有安全工作流程的集成,从而减少复杂性和相关的安全漏洞。

更安全的供应链:

CI/CD 安全管道:IronSecureDoc 可在您的 CI/CD 管道中强制签收 Docker 映像,保证只部署经过验证和可信的映像,从而提高软件供应链的安全性。

安全部署:IronSecureDoc 映像经过签名,可降低供应链攻击的风险,并确保在生产环境中仅使用有效签名者和可信映像。

结论

在您的容器化应用中,集成 Docker 映像签名与IronSecureDoc,以实现极高的安全性、合规性和运营效率。 这种组合可确保 Docker 映像不被篡改,符合监管标准,并最终在软件供应链中始终保持可验证的信任链。 将图像签名纳入IronSecureDoc的严格安全框架中,以统一、自动化地保护所有数字资产,并实施一致且可执行的政策。 这将简化合规性和审计工作,并通过保护您的品牌和在不同环境中的部署,增强利益相关者对您的信任。

IronSecureDoc:许可证信息

IronSecureDoc 提供免费试用许可证。 要了解有关企业许可的更多信息,请查看许可页面。 IronSecureDoc 还提供完整的文档来帮助您入门。 同样,Iron Software 提供各种类型的软件产品,如 IronPDFIronXLIronOCR 等,以帮助开发人员自动化和优化与 PDF 转换、Excel 工作、OCR 处理等相关的解决方案。 要了解更多有关这些其他产品的信息,请查看我们的网站

查克尼特·宾
软件工程师
Chaknith 负责 IronXL 和 IronBarcode 的工作。他在 C# 和 .NET 方面拥有深厚的专业知识,帮助改进软件并支持客户。他从用户互动中获得的洞察力,有助于提升产品、文档和整体体验。
< 前一页
Docker 从映像启动容器(开发人员教程)
下一步 >
PDF Signer 服务器(开发人员教程)

准备开始了吗? 版本: 2024.10 刚刚发布

查看许可证 >