什么是机密管理?

一个人手持智能手机置于大屏幕旁

机密管理的定义

机密管理是保护非人类使用方(例如应用程序、服务器和工作量)的凭据,包括证书、密钥、密码和令牌。

组织日益使用非人身份 来自动化关键业务流程与工作流。 这些身份可包括服务账户、 持续集成与持续交付 (CI/CD) 流水线、容器、微服务及编排工具。它们还可包括机器人流程自动化 (RPA)——模拟人类操作的软件机器人——以及最近的  AI 智能体。 

与人类用户相似,非人实体也需要凭据(或称“机密”)来向系统和服务进行身份验证,并访问组织资源——通常具有较高权限。例如,自动化备份流程可能会读取机密文件并修改系统设置。

黑客而言,这些具有特权的非人账户是高价值目标。它们使威胁行为者能够滥用访问权限窃取 数据、破坏关键系统,同时躲避检测。 根据  IBM X-Force 威胁情报指数,劫持有效账户是第二常见的 网络攻击 途径,占 X-Force 去年响应的所有事件的  32%。

机密管理系统有助于抵御这些网络威胁,使组织能够创建、控制并保护非人实体用于访问 IT 资源的机密。 借助机密管理工具,IT 团队可在整个生命周期内保护非人凭据,在简化自动化工作流的同时,防止 数据泄露、篡改、失窃及其他未经授权的访问。

什么是机密?

机密是应用程序或服务中包含的数字凭据,允许非人用户与服务、数据库、应用程序或其他资源进行通信并执行操作。机密通过确保只有授权使用者才能访问敏感数据和系统,帮助组织强化其 安全态势

机密的示例包括但不限于:

  • 服务帐户凭据:服务帐户允许应用程序和自动化工作流与操作系统进行交互。服务帐户凭据可以包括密码、安全令牌、Kerberos 票证和其他机密。

  • API 密钥:API 密钥允许用户、应用程序和服务向应用程序编程接口 (API) 进行自我验证。

  • 加密密钥: 加密密钥 允许用户加密和解密数据。

  • 身份验证和授权令牌:令牌(例如 OAuth 协议中使用的令牌)是可以验证用户身份并确定其可以访问特定资源的一段信息。

  • SSH(安全外壳)密钥:SSH 服务器使用 SSH 密钥并通过公钥加密来识别用户或设备。
  • PKI 证书与私钥(SSL/TLS/mTLS):由证书颁发机构颁发的证书及其关联私钥,用于对端点进行身份验证并建立加密的 SSL/TLS 证书与连接,包括双向 TLS (mTLS) 身份验证。
  • 任意机密:敏感数据,包括可用于访问应用程序或资源的任何类型的结构化或非结构化数据。
  • 连接字符串:一段文本字符串,包含计算机程序连接数据源(包括数据库、文件或电子表格)所需的指令。
  • 其他加密密钥:可包括 基于哈希的消息认证码 (HMAC) 密钥、代码签名密钥及其他用于签名或验证的私钥。

为什么机密管理很重要

机密管理是一项关键的安全解决方案,可帮助组织安全地存储、控制并轮换敏感凭据及其他机密,例如密码、API 密钥和令牌。 

它是 特权访问管理的四项核心功能之一,而特权访问管理 (PAM)身份和访问管理 (IAM) 的一个子集,侧重于保护特权账户及用户。

PAM 的另外三项功能包括:

  • 特权账户与会话管理 (PASM), 负责处理特权账户生命周期管理、密码管理及会话监控。 

  • 权限提升与授权管理 (PEDM), 其中包括自动评估、批准和拒绝特权访问请求。 

  • 云基础设施授权管理 (CIEM), 负责监督 云计算环境中的权限与授权。

机密管理对于强调自动化、持续软件开发与交付的 DevOps 方法论至关重要。

DevOps 团队通常使用多种配置管理或编排工具来管理整个数字生态系统、工作流及端点。这些工具通常使用需要存取机密才能启动的自动化和脚本。如果没有企业级机密管理服务,随意使用机密可能会增加系统漏洞。

许多组织将机密管理功能集成至  CI/CD 流水线中。这有助于确保所有活动部件(开发人员、工具和自动化流程)在需要时都能安全地访问他们所需的敏感系统。

机密管理被视为 DevSecOps 的核心组件,DevSecOps 是 DevOps 方法的演变,在整个 DevOps 生命周期中持续集成和自动化安全性。

机密管理如何运作

机密管理过程通常依赖于机密管理工具。 这些工具既可本地部署,也可作为云服务使用,有助于集中化、自动化并简化机密的创建、使用、轮换及保护。

市面上既有商业机密管理解决方案,也有开源方案。开源选项包括 Infisical,商业选项则包括 CyberArk Conjur(亦提供开源版本) 以及 HashiCorp Vault(来自 IBM 旗下公司 HashiCorp)。

机密管理工具的一些常见能力包括:

  • 集中和标准化的机密管理
  • 动态机密创建和自动机密轮换
  • 访问控制
  • 活动监控和审计

集中和标准化的机密管理

借助企业级机密管理服务,组织可在单一管理平台中管理多种类型的机密。

密钥管理解决方案可将密钥存储在一个安全的中心位置(称为“密钥保管库”)中,而不是让个人用户在小型孤岛中管理密钥。

当授权用户需要访问敏感系统时,他们可从保管库中获取相应机密。机密管理工具可自动 验证并授权请求,并释放工作流进行身份验证所需的机密

标准化有助于防止密钥蔓延。密钥蔓延是指将密钥存储于整个组织的各个位置,且通常会以硬编码形式存储在应用程序中或以纯文本形式存储在共享文档中。密钥蔓延会导致难以保护密钥免受恶意参与者的攻击,且难以跟踪密钥的使用方式。

动态机密创建和自动机密轮换

在机密管理程序中创建的机密可以是静态的,也可以是动态的。静态机密是一种长期有效的机密,通常直到手动更改或达到预定的失效日期才会变更。

相比之下,动态机密是由机密管理器在需要时按需创建的。动态机密很快就会失效。它们甚至可以是一次性的。

动态机密的一个用例是,通过在每次读取或访问机密资源(例如数据库或 AWS 或 Microsoft Azure 等云环境)时动态生成 API 密钥,来保护该机密资源。此举有助于确保恶意参与者无法窃取和重用 API 密钥。

许多机密管理程序还可以自动执行机密轮换 - 即定期更改机密的行为。机密轮换可按计划或按需要自动进行,无需重新部署或中断应用程序。可以在创建机密时为密钥定义生存时间 (TTL) 或租约持续时间,以缩短机密存在的时间。

访问控制

机密只能授予特定的实体或群体,以组织和限制访问。通常使用最小权限原则授予对机密的访问权限,即仅向每个进程授予执行任务所需的最严格的权限集。用户只能访问执行其授权任务所需的机密。

零信任架构——“永不信任,始终验证”——通常用于管理对机密管理系统的访问。这有助于确保对机密的每一次请求都经过身份验证和授权,即便该请求源自网络内部。

活动监控和审计

许多机密管理程序可以跟踪用户和应用程序与机密交互和使用机密的方式,以验证机密在其整个生命周期中是否得到适当处理。这使组织能够近乎实时地监控机密访问事件,包括对机密管理器的身份验证和授权

机密管理器可以迅速拒绝未经授权查看或使用机密的尝试,并在必要时撤销访问权限。这有助于在黑客内部威胁及其他恶意行为者造成损害之前,实现更快的补救。

强大的机密自动化工具将保留详细的审计日志,跟踪用户身份验证和机密访问事件。

一旦组织开始使用动态机密自动化工具,机密监控通常会变得更加容易实现。这些详细的审计跟踪有助于验证机密的批准使用情况,或检测并追踪潜在威胁。

常见的机密管理做法

除了使用机密管理解决方案之外,许多组织还在机密管理流程中遵循常见的核心实践。这些做法包括:

  • 机密在其相应的环境 (例如,独立的开发、测试和生产环境)中生成、存储和访问。一些组织针对每个环境使用不同的机密管理工具。另一些组织使用一个中央解决方案,并将每个环境的机密隔离在一个专用分段中。机密永远不会离开其环境,并通过严格的访问控制措施确保安全。

  • 用户对机密的访问权限是在任何用户履行其职责所需的最低级别授予的。过度授权,无论有意还是无意,都可能导致数据泄露。

  • 密钥会根据系统要求定期轮换。

  • 用户不会将机密存储在源代码、配置文件或文档中。

  • 可以通过要求对所有敏感数据进行加密来增强安全策略。可以使用密钥管理服务 (KMS) 保护加密密钥。

  • 组织持续监控机密,审计日志跟踪每一次请求:谁请求了该机密、用于哪个系统、请求是否成功、机密的颁发或检索时间、过期时间,以及机密是否已更新、何时更新。异常情况随后应立即调查。 

机密管理的挑战

随着 IT 生态系统变得日益复杂,机密管理变得越来越难以有效控制。常见的机密管理挑战包括:

去中心化机密管理

在去中心化的生态系统中,管理员、开发人员和用户分别管理他们的机密,这可能会带来风险,因为安全漏洞和机密的使用可能无法得到适当的监控或审核。

集中式机密管理解决方案可为组织提供更多机密可见性和控制权。

硬编码凭据

当密码或其他机密以明文形式嵌入源代码或脚本时,攻击者可以轻松发现并利用其访问敏感信息。

硬编码机密可能出现在许多地方,包括 CI/CD 工具链、代码仓库、 物联网设备、如 Kubernetes 等容器编排平台、应用服务器、漏洞扫描器以及机器人流程自动化平台。

非频繁轮换 

定期轮换机密有助于防止盗窃和滥用,但如果没有机密管理系统,轮换可能会不一致或无效。如果一个机密长期保持不变,黑客就有可能通过试探性猜测或暴力攻击来破解它。

密码使用的时间越长,具有访问权限的用户就越多,泄漏的可能性就越大。

机密蔓延

不断发展的 IT 系统可能会导致机密蔓延,并使机密分散于系统的众多孤立部分中。在混合多云生态系统中,机密蔓延问题尤其令人担忧,因为组织会混用由多个云提供商提供的公有云私有云环境。

组织的所有云原生应用程序、容器、微服务和其他 IT 资源中可能拥有数千甚至数百万个机密。这种泛滥产生了巨大的安全负担并扩大了潜在的攻击面

跨服务时,可见性可能受到限制,并且如果手动或通过不同系统进行跟踪,机密管理很快就会变得难以处理。缺乏集中式机密服务可能会使实施适当的机密卫生变得更加困难或不可能。

手动共享机密

当组织缺乏机密管理系统时,便可能会手动共享机密(例如,通过电子邮件或短信),而 威胁参与者 则可能会对其进行拦截。 

作者

Jim Holdsworth

Staff Writer

IBM Think

Matthew Kosinski

Staff Editor

IBM Think

Annie Badman

Staff Writer

IBM Think