使用 FIDO2 安全密钥保护特权帐户是保护它们免受
机密管理是容器安全性固有的组成部分。 应用程序代码通常依赖于基础设施机密,如 API 密钥、密码和访问令牌。 开发人员和 DevOps 人员还往往倾向于将这些机密硬编码到容器映像中,或将其作为环境变量注入容器。 在这两种方法下,机密都很容易被破解。 此外,由于硬编码机密将机密管理过程与开发过程耦合在一起,这就意味着在更改或轮替机密时,均需重构和重新部署代码。
虽然 Docker CLI 中包含机密管理命令,但它们仅适用于 Swarm 集群,不适用于独立的容器。 要绕过这一限制,用户可以通过顶层机密字段定义 Docker Compose 文件中的机密。 但前提是管理员将机密存储在配置(即常规文本)文件中,绑定至相应容器并由应用程序读取。 如果这些文件被提交到源代码控制系统中,任何拥有存储库访问权限的人均可访问。
除了不安全之外,将 Docker 机密存储在文本文件中还可能导致机密蔓延,即基础设施机密被无序存储在整个网络各处。 当一个组织的机密数量相对较少时,这似乎无伤大雅,但随着公司发展壮大,基础设施机密会呈指数级增长。 例如,仅 SSH 密钥的数量就很可能达到数千个之多。
安全管理 Docker 机密,在不使用 Swarm 集群的情况下避免蔓延
Keeper Secrets Manager (KSM) 是业界首个也是唯一一个用于保护基础设施机密的云端零信任零知识解决方案,可帮助开发人员和 DevOps 人员轻松保护 Docker 机密以及所有其他基础设施机密,增强容器的安全性,同时避免机密在整个数据环境中蔓延。
KSM 为开发人员和 DevOps 团队提供三种保护 Docker 机密的主要方法:
1. 使用 BuildKit 构建包含机密的映像
使用 Docker BuildKit,可以将 Keeper Vault 中的机密构建到 Docker 容器中。 对于 Docker 18.09 或更高版本,映像构建支持通过挂载文件系统传递机密。 您可以把这种方法想象成烤蛋糕,将您的机密安全地烤进蛋糕里。 有关详细信息和实用示例,请参阅我们的文档,我们通过 Keeper Secrets Manager 在目标映像中创建了一个有用户名和密码的用户帐户,对该方法进行了示范。
2. 使用构建参数构建包含机密的映像
继续使用方法 1 中的烤蛋糕来类比,方法 2 类似于烘烤一个“动态”蛋糕,它可以向保险库“拨打电话”,并在运行时根据您的需要安全地调取机密。
使用这种方法时,机密通过 –build-arg 传递。 只需设置 Keeper 标记所需的机密环境变量,然后使用 ksm exec 命令创建包含所需机密的 Docker 构建即可。有关详细信息和其他实用示例,请访问我们的文档。
3. 使用 KSM Docker Writer 映像
KSM Docker Writer 是一种通用 Docker 映像,能够自动下载机密文件并生成包含机密的文件,从而可简化 Docker 机密的安全性。 只需运行以下 CLI 命令即可提取 KSM Docker Writer 映像:
$ docker pull keeper/keeper-secrets-manager-writer
运行时,其参数通过环境变量传递。
$ docker run \
-v $PWD:/wd –workdir /wd \
-e “KSM_CONIFG=BASE64 CONFIG” \
-e “SECRETS=JfXpSQ2nZG6lkdl1rxB0dg/file/example.crt >
file:example.crt”
keeper/keeper-secrets-manager-writer
有了 KSM Docker Writer,Docker 映像中的所有源代码都会从安全的 API 端点调取机密,而不是文本文件! 每个机密都使用 256 位 AES 密钥加密,然后再用另一个 AES-256 应用程序密钥进行加密。 客户端设备从 Keeper 云端检索加密的密文,然后在设备本地(而非在 Keeper 的服务器上)解密和使用机密。 此外,所有服务器请求都在 TLS 上使用 AES-256 传输密钥进一步加密,以防止中间人 (MITM) 攻击或重放攻击。 通过 Keeper 的客户端 SDK(可轻松集成到任何环境中),这一多层加密系统的处理是透明的。
要理解 KSM Docker Writer 映像的应用,它在 Kubernetes 和 Docker Compose 等编排工具中的集成是一个很好的例子。 KSM 映像能够检索初始化期间所需的机密,然后再将它们共享给其他依赖于这些机密的容器。 我们文档中提供的 Docker Compose 示例使用共享卷来存储机密。
利用 KSM 保护您的所有基础设施机密
KSM 的实用价值不仅限于 Docker 或容器。 KSM 能够保护组织的整个 IT 生态系统中的源代码、服务器、CI/CD 管道和开发环境所使用的机密。 此外,由于 KSM 是 Keeper 深受好评的 Enterprise Password Manager (EPM) 的自然扩展,因此它已完全集成于 Keeper Web Vault、桌面应用程序和管理控制台。 KSM 还可无缝集成于 Keeper 的 Advanced Reporting and Alerts (ARAM) 模块、BreachWatch、Webhooks、SIEM 集成和合规工具。
有了 KSM 的加持,无需硬编码、环境变量或配置文件,即可打消机密蔓延顾虑,大幅降低意外机密泄露的风险,将基础设施机密存储在 Keeper 的零知识 EPM 中。 这样一来,管理员和 DevOps 人员在基础设施机密方面也能享受与 Keeper 为密码提供的同样的功能与控制选项。 包括简化机密轮替、基于角色的访问控制 (RBAC) 以及与 BreachWatch 等插件的集成,后者可扫描暗网查找被盗凭证,并在找到凭证时,向 IT 管理员发出警报。
Keeper Secrets Manager 完全托管,且搭载全新安全架构(已申请专利)。 与竞品机密管理解决方案不同,KSM 可无缝集成至几乎任何数据环境中,无需额外硬件或配合特定的云托管基础设施,并且可与各种 DevOps 工具(包括 GitHub Actions、Kubernetes、Ansible 等)进行即用型集成。
还不是 Keeper 客户?立即注册,享受 14 天免费试用!想要详细了解 Keeper 如何帮助您的组织防止安全漏洞?立即联系我们的团队。