在 DevSecOps 和工程实践中,术语机密通常是指数字凭据,例如用户名、密码、密码短语、身份验证令牌、SSH 密钥、SSL/TLS 证书以及应用程序和 API 密钥。
为什么机密管理对组织重要
随着组织的发展和规模扩大,机密管理成为其 IT、DevOps 和工程团队的不妥协需求,这是因为其代码库和流程的扩展性质,导致各种应用程序、微服务、开发人员和 RPA 工具、容器和编排工作流以及 API 中的机密激增。
凭据通常以纯文本格式存储在文件和脚本中,并且通常在参与 CI/CD 管道、自动化流程和工程工作流的多个人之间共享。在没有适当规划或通知的情况下更改这些凭据可能会导致多个关键进程的级联故障。
此外,如果这些凭据无意中泄露,恶意行为者可能会利用它们来破坏组织的重要信息系统,因此,实施安全且定义明确的程序来管理和保护这些凭据以降低未经授权访问或滥用的风险至关重要。
但是,有了适当的机密管理解决方案,企业团队可以通过将凭据存储在加密的数字保管库中来避免以纯文本格式嵌入凭据,该保管库提供了从中央控制台安全获取、轮换、跟踪和管理机密的选项。
与机密管理相关的主要挑战
以下是与机密管理相关的一些常见风险和注意事项:
- 凭据蔓延:当机密管理不当时,它们很容易被攻击者窃取,这可能会导致数据泄露,从而损害组织的声誉。
- 缺乏问责制和可见性:如果没有适当的机密管理例程,实际上不可能跟踪用于对流程和工作流进行身份验证的这些机密的使用情况。这反过来又使安全团队难以先发制人并降低凭据滥用的风险。
- 服务中断:如果在没有任何事先规划和批准的情况下更改硬编码凭据,则可能导致多个工作流、服务和流程同时失败。
- 违规行为:许多行业都受到要求组织保护敏感数据的法规的约束,如果机密管理不当,组织可能会被发现违反这些规定,这可能会导致罚款或其他处罚。
自动化机密管理
随着企业流程和工作流的数量和复杂性不断增加,IT 团队必须采用完善的机密管理策略,其中包括定期扫描、轮换和实时监控分布在整个组织中的机密。
如上所述,手动管理通常是孤立的,对机密进行硬编码既是一个繁琐的过程,也是一个糟糕的安全实践。市场上的大多数工具都旨在管理特定应用程序或平台(Kubernetes、Docker、Jenkins 等)或其下的子进程的秘密。虽然应用程序密码管理工具多年来越来越受欢迎,但大多数工具只提供基本的保管库来获取和存储机密,除此之外什么都没有。
随着合规性成为各行各业不可避免的要求,责任并不止于将机密存储在保险库中。同样重要的是定期轮换它们,监控它们的使用情况,并审核由这些密钥验证的用户活动和流程,以有效和普遍地遵守行业标准。
机密管理是现代特权访问管理(PAM)工具的一个组成部分,这些工具不仅具有机密保管库功能,还提供精细的访问治理控制,以强制控制谁有权访问这些机密。PAM 工具还提供安全的应用程序到应用程序密码管理(AAPM)控制,以对分布在企业中的应用程序、端点、非人类帐户、流程和服务进行身份验证。
机密管理的基本做法
通过在 PAM 策略中采用零信任原则,您可以:
- 定期发现密码、密钥和其他机密,并从中央控制台保管和管理它们。
- 定期对需要访问这些机密的所有特权帐户进行彻底审核。
- 实施严格的密码策略,涵盖密码复杂性、长度、轮换周期和过期时间。
- 消除以纯文本格式对凭据进行硬编码并将其嵌入到文件、脚本、代码生成和应用程序中的做法。
- 实施最低特权访问以删除永久访问权限。为用户分配默认的最低权限,理想情况下应将其设置为尽可能低。
- 为第三方和供应商提供最低限度的默认权限来执行其工作。
- 利用威胁分析将特权访问审核与整个企业的事件相关联,以做出明智的安全决策。
PAM360 提供与容器平台、DevSecOps CI/CD解决方案和RPA工具的开箱即用集成,以确保应用程序凭据的安全管理。这种集成允许进程和应用程序自动检索凭据,您还可以执行敏感操作,例如访问配置、定期密码更改、精细控制和审核,所有这些都不会中断内部工作流程。