合理的 IT 密钥管理对于保护您的组织免受网络威胁至关重要,尤其是在 DevOps 环境中。在这种环境中,常见的 CI/CD 管道工具,如 Jenkins、Ansible、Github Actions 和 Azure DevOps 等使用密钥访问数据库、SSH 服务器、HTTPS 服务和其他等高度敏感的系统。
尽管密钥管理至关重要,但根据 Keeper 的 2022 年网络安全普查报告显示,近三分之一的组织(32%)缺乏专门的解决方案来保护他们的密钥信息。 此外,令人惊讶的是,有 84% 的人对于源代码中的硬编码凭证相关的风险表示关切,而有 25% 的人没有安装软件来移除这些风险。
什么是 DevSecOps?
在解释 DevSecOps 之前,先必须了解什么是 DevOps。 DevOps 是一种为了打破软件开发与 IT 运营之间的隔阂(因此得名 “DevOps”)的软件开发理念,其目标是达到更快的高质量软件交付。 DevOps 与灵活的软件开发相辅相成,并很依赖整个软件开发生命周期 (SDLC) 的自动化流程。
然而,DevOps 不仅仅只是关于开发和运营,安全也在其中占据重要的位置。 因此 DevSecOps 被引入,它能在软件开发生命周期的每个层面集成安全举措,从而达到快速交付既强大又安全的应用程序。
什么是密钥管理?
密钥管理是指管理用于访问高特权系统和敏感信息的身份验证凭证的工具和方法。
从俯瞰角度来看,密钥也只是密码。 但是,密钥与其他密码不同,它由应用程序和机器使用,而不是人类。 常见密钥类型包括:
- 非人类登录凭证,如服务账户
- 数据库和其他系统对系统密码
- 加密和加密密钥
- 云服务访问凭证
- 应用程序编程接口(API)密钥
- 访问令牌
- SSH(安全外壳协议)密钥
除了保护 IT 密钥免受网络威胁者的侵害外,密钥管理解决方案还为 DevSecOps 团队提供数据环境可视化,帮助他们防止密钥扩散,并更容易安全地共享密钥。
DevSecOps 的密钥管理挑战
DevSecOps 团队面临重大的密钥管理风险和挑战 让我们来看看一些最常见的问题。
1. 密钥扩散
密钥扩散是指组织在整个网络中到处存储密钥,而没有使用解决方案来组织、管理和保护密钥。 这个问题因广泛采用 SaaS 应用程序和云原生开发模型而加剧,这些应用程序和云原生开发模型大大增加了组织拥有的密钥数量,同时分散了他们的存储。 在此类环境中,DevOps 团队缺乏他们需要掌控密钥的可见性和统一管理政策,这扩大了组织的攻击面,并增加了数据泄露的风险。
2. 硬编码和嵌入凭证
硬编码/嵌入凭证是密钥扩散和数据泄露的主要促成者。 许多智能设备、其他硬件甚至软件平台都附带硬编码的默认凭证。 这些凭证应该在产品部署之前更改,但如果 DevSecOps 团队无法看到数据环境的话,这就不能得到保证。 当设备和应用程序在部署时未更改默认凭证时,网络犯罪分子可以轻松使用扫描工具结合设备或应用程序开发者的说明指示来访问它们。 这些说明指示都可以在线获取,且包含默认凭证。
此外,开发人员有时会将密钥硬编码到源代码中。 这严重违反了应用程序的最佳安全实践,但如果没有可见性,DevSecOps 团队无法有效阻止。
3. 多种和不同的工具集
DevSecOps 环境中使用的许多工具包括内置密钥管理器等,能使团队删除硬编码/嵌入凭证。 然而,这些密钥管理工具是私有的,且仅与捆绑的解决方案配合使用,这并不能解决密钥更广泛扩散的问题。
4. 不良的密码安全实践
正如在本博客文章前面提到的那样,密钥只不过是另一种类型的密码,这意味着它们与其他密码一样具有同样的安全问题。 有时,密钥以纯文本形式存储,导致对密钥的访问不受保护。 团队成员可能会在应用程序中重复使用密钥或选择弱密钥,如键盘图型或字典单词等。 当有权访问密钥的员工离开公司时,他们的密钥可能没有被更改或撤销。 所有这些问题都显着增加被入侵的机会,从而导致数据泄露。
寻找一个 DevSecOps 密钥管理解决方案的过程中需要注意什么
打击密钥扩散和防止数据泄露的最佳方法是使用专用的密钥管理解决方案,其中里面要包含一个安全的集中保险库用于存储密钥。
在评选 DevSecOps 密钥管理解决方案时,请查找以下功能:
- 灵活的部署模型 – 今天的数据环境非常独特和复杂。 确保您的密钥管理器在整个环境中都能运行,无论是在本地、云端还是混合云环境里。
- AES 加密 – 为了有效保护密钥,密钥管理器必须在传输和静态数据中进行加密。 请确保您选择的解决方案使用 256 位 AES 加密,这是银行和政府机构使用的黄金标准。
- 与其他应用程序和服务集成 – 您的组织的密钥管理解决方案应该与市面流行的 CI/CD 系统以及开发人员环境中使用的所有其他工具无缝集成。
Keeper 如何保护公司的密钥
Keeper 密钥管理器 是一种云端的、零信任、零知识的解决方案,为 DevSecOps 团队提供了一个针对 DevOps 环境进行优化的集中式保险库。 使用 Keeper 密钥管理器,所有服务器、CI/CD 管道、开发人员环境和源代码都可以从安全的 API 端点调取密钥。 每个机密都使用 256 位 AES 密钥加密,然后再用另一个 AES-256 应用程序密钥进行加密。
作为 Keeper Enterprise Password Management (EPM) 平台的补充解决方案,Keeper 密钥管理器将嵌入到您的网络保险库、管理控制台和桌面应用程序中。 它还进一步集成到 Keeper 的高级报告和警报模块、BreachWatch 暗网监控工具、SIEM 集成、webhook 和合规解决方案。
申请一个 Keeper 密钥管理器演示,了解您的公司如何消除密钥扩散并保护您的环境。