当今,数字企业依赖商业、内部开发和采用开放源代码的应用程序来运行其业务,并多地利用自动化IT基础架构和DevOps方法来加快开发和创新。尽管组织之间的应用程序和IT环境差异很大,但有一样东西始终不变:每个应用程序、脚本、自动化工具和其他非人类身份都依赖某种形式的特权凭据来访问其他工具,应用程序和数据。
什么是机密信息?
这些非人类特权凭据通常被称为“机密信息”,指的是一条私密的信息,充当在工具、应用程序、容器、DevOps和云原生环境中解锁受保护资源或敏感信息的密钥。
一些最常见的机密信息类型包括:
- 特权帐户凭据
- 密码
- 证书
- SSH密钥
- API密钥
- 加密密钥
机密信息管理方面的主要挑战
具有机密信息访问权限的非人类用户会自动获得对属于该机密信息所有者的任何资源的实时访问和权限。网络攻击者深知这一点,并会把目标瞄准此类机密信息,以便未经授权访问其他机密信息和主机,完成其任务。针对机密的网络攻击通常可能会远远超出最初泄露的范围。
机密信息无处不在。
此类信息包括嵌入在以下各种应用、程序和软件的硬编码凭据:容器化应用程序(例如Red Hat OpenShift、Kubernetes或Pivotal),自动化流程(例如Ansible Playbook、Puppet或Chef),业务关键型应用程序(包括内部开发的和商业现成解决方案(COTS)),安全软件(例如漏洞扫描器),应用服务器和IT管理软件,机器人流程自动化(RPA)平台以及持续集成/持续部署(CI / CD)工具链。
自动化流程功能强大。
此类流程可以访问受保护的数据,以无与伦比的速度扩展,利用云资源并即时执行业务流程。但是,各种广为人知的网络安全漏洞已显示,自动化过程容易受到可能突然发生并迅速传播的复杂网络攻击影响。组织必须保护分配给非人类身份的机密信息,以防御攻击并降低风险。
什么是机密信息管理?
机密信息管理是数字企业的网络安全最佳实践,使组织能够一致地针对非人类身份实施安全策略。机密信息管理可确保仅经过身份验证和授权的实体可以访问跨工具栈、平台和云环境的资源。
机密信息管理计划通常包含以下步骤。其中许多方法和技术也用于保护人类用户的特权访问。
- 验证所有使用非人类凭据的访问请求。
- 强制执行最小权限原则。
- 实施基于角色的访问控制(RBAC)并定期轮换秘密和凭据。
- 使秘密管理流程自动化并应用一致的访问策略。
- 跟踪所有访问并保持全面审核。
- 从代码、配置文件和其他不受保护的区域中删除秘密。
什么是公共机密信息管理使用案例?
机密信息管理可确保CI / CD渠道的安全。
常用的CI / CD渠道工具(例如Jenkins、Ansible、Puppet和Chef)旨在提高效率和速度,但可能带来新的安全挑战。这些自动配置管理工具需要机密信息来访问受保护的资源,例如数据库,SSH服务器和HTTPs服务,而机密信息通常采用不安全的硬编码形式、或存储在配置文件或这些工具的代码(例如JenkinsFiles、playbooks、脚本或源代码)中。有效的机密信息管理使组织能够从CI / CD管道中的DevOps工具中删除这些硬编码的机密信息,同时提供完整的审计跟踪、基于策略的RBAC和机密轮换。
用于保护容器的机密信息管理。
DevOps和工程团队越来越依赖容器来加速开发并提高可移植性和生产率。容器需要机密信息才能访问关键和敏感信息。但是,由于容器是临时的(或短暂的),因此可能很难跟踪它们,并且难以管理和保护对于特定资源的访问。机密信息管理安全措施使团队可以使用本机容器平台属性来验证对机密信息的容器请求,并使用RBAC策略管理秘密以实现细粒度控制。
机密信息管理可管理弹性和自动扩展环境。
云提供商可提供自动扩展功能,以支持弹性(临时)和按需购买的经济方式。尽管这提高了效率,但也带来了新的安全管理挑战,尤其是围绕可扩展性的挑战。通过实施机密信息管理最佳实践,组织可以通过实时为主机分配身份并基于预定义的安全策略对调用应用程序进行安全身份验证,从而无需人工操作员将策略手动应用于每台新主机。
机密信息管理可确保内部开发的应用程序和COTS应用程序的安全。
内部开发的应用程序和脚本,以及诸如安全工具、RPA、自动化工具和IT管理工具之类的第三方工具和解决方案,通常需要跨企业基础架构的高级特权访问权限才能完成其定义的任务。高效机密信息管理实践要求从内部开发的应用程序和脚本中删除硬编码的凭据,并集中存储、管理和轮换所有机密,从而最大程度地降低风险。