保护Azure Monitor部署

本文提供了安全部署Azure Monitor的说明,并介绍了如何Microsoft保护Azure Monitor。

日志引入和存储

根据需要授予对工作区中的数据的访问权限

  1. 将工作区访问控制模式设置为使用资源或工作区权限,以允许资源所有者使用 resource-context 访问其数据,而无需向工作区授予显式访问权限。 这简化了工作区配置,并帮助确保用户只能访问所需的数据。
    Instructions:管理对Log Analytics工作区的访问
  2. 分配适当的内置角色,根据管理员的职责范围向订阅、资源组或工作区级别的管理员授予工作区权限。
    Instructions:管理对Log Analytics工作区的访问
  3. 对需要跨多个资源访问一组表的用户应用表级 RBAC。 无论其资源权限如何,具有表权限的用户都可以访问表中的所有数据。
    Instructions:管理对Log Analytics工作区的访问

保证日志数据在传输中的安全

如果使用代理、连接器或日志 API 来查询 或 将数据发送到 工作区,请使用传输层安全性 (TLS) 1.2 或更高版本来确保传输中的数据的安全性。 旧版 TLS 和安全套接字层(SSL)存在漏洞,尽管它们仍可能允许向后兼容,但 不建议这样做,并且行业已迅速采取行动放弃对这些旧协议的支持。

PCI 安全标准委员会设定了 2018 年 6 月 30 日的最后期限,以禁用旧版 TLS/SSL 并升级到更安全的协议。 Azure删除旧版支持后,无法通过 TLS 1.2 或更高版本完全通信的客户端无法向Azure Monitor日志发送或查询数据。

除非必要,否则不要显式配置代理、数据连接器或 API 应用程序以 仅 使用 TLS 1.2。 建议允许它们自动检测、协商并利用未来的安全标准。 否则,你可能会错过更新标准的增强安全性,并且如果因支持更新的标准而弃用 TLS 1.2,则可能会遇到问题。

Important

根据下表中的日期,Azure Monitor 日志将完全阻止 TLS 1.0/1.1 协议,以符合 Azure 范围内旧版 TLS 的退役计划。 为了提供一流的加密,Azure Monitor日志已使用 TLS 1.2/1.3 作为所选加密机制。

生效日期 查询 API 端点 TLS 协议版本
2025 年 7 月 1 日 日志查询 API 终结点 TLS 1.2 或更高版本
2026 年 3 月 1 日 日志摄取 API 端点 TLS 1.2 或更高版本

若要避免潜在的服务中断,请确认与日志 API 终结点交互的资源不依赖于 TLS 1.0 或 1.1 协议,并且完全支持 TLS 1.2。

有关旧版 TLS 问题的一般问题或如何测试受支持的密码套件,请参阅 解决 TLS 问题和 Azure 资源管理器 TLS 支持。

设置日志查询审核

  1. 配置日志查询审核,以记录在工作区中运行的每个查询的详细信息。
    Instructions:Azure Monitor Logs 中的 Audit 查询
  2. 将日志查询审核数据视为安全数据,并适当地保护对LAQueryLogs表的访问。
    说明: 根据需要配置对工作区中数据的访问。
  3. 如果将操作数据和安全数据分离,请将每个工作区的审核日志发送到本地工作区,或汇总到专用安全工作区中。
    说明: 根据需要配置对工作区中数据的访问。
  4. 使用 Log Analytics 工作区洞察定期查看日志查询和审核数据。
    Instructions:Log Analytics 工作区见解。
  5. 创建日志搜索警报规则,以便在未经授权的用户尝试运行查询时通知你。
    说明: 日志搜索警报规则。

确保审核数据的不可变性

Azure Monitor是一个仅追加数据的平台,但它包括为了符合性目的删除数据的措施。 保护审核数据:

  1. 在 Log Analytics 工作区上设置锁定,以阻止所有可能删除数据的活动,包括清除、删除表,以及对表级或工作区级别的数据保留更改。 但是,请记住,可以删除此锁。
    说明: 锁定资源以保护基础结构

  2. 如果需要完全防篡改的解决方案,建议将数据导出到不可变存储解决方案:

    1. 确定应导出的特定数据类型。 并非所有日志类型都具有与合规性、审核或安全性相同的相关性。
    2. 使用 data export 将数据发送到Azure存储帐户。
      Instructions:Log Analytics 工作区数据导出在 Azure Monitor 中
    3. 设置不可变策略以防止数据篡改。
      说明: 为 Blob 版本配置不可变性策略

筛选或模糊处理工作区中的敏感数据

如果日志数据包含 敏感信息:

  1. 使用特定数据源的配置以筛选不应收集的记录。
  2. 如果只应删除或模糊处理数据中的特定列,请使用转换。
    说明:Azure Monitor 中的转换
  3. 如果你有要求未修改原始数据的标准,请使用 KQL 查询中的“h”文本模糊化工作簿中显示的查询结果。
    说明:经过模糊处理的字符串文本

清除意外收集的敏感数据

  1. 定期检查工作区中可能意外收集的专用数据。
  2. 使用 数据清除 删除不需要的数据。 请注意,目前无法清除具有 辅助计划的 表中的数据。
    Instructions:在 Azure Monitor Logs 和 Application Insights 中管理个人数据

Azure Monitor使用Azure管理的密钥(MMK)加密所有数据和保存的查询。 如果为 专用群集收集足够的数据,请将工作区链接到专用群集,以获取增强的安全功能,包括:

Instructions:在 Azure Monitor Logs 中创建和管理专用群集

Microsoft使用端到端加密保护与公共终结点的连接。 如果需要专用终结点,请使用 Azure 专用链接允许资源通过授权的专用网络连接到Log Analytics工作区。 还可以使用专用链接强制通过 ExpressRoute 或 VPN 引入工作区数据。

Instructions:设计 Azure 私有链接设置

Application Insights TLS 引入

Application Insights 需要最低 TLS 版本才能安全地引入遥测数据。 以下要求描述了受支持的版本和弃用时间线。

支持的 TLS 配置

Application Insights 使用传输层安全性 (TLS) 1.2 和 1.3。 此外,每个版本还支持以下密码套件和椭圆曲线。

Version 密码套件 椭圆曲线
TLS 1.2 • TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
• TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
• TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
• TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
• TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
• TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
• TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
• TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
• NistP384
• NistP256
TLS 1.3 • TLS_AES_256_GCM_SHA384
• TLS_AES_128_GCM_SHA256
• NistP384
• NistP256

弃用传输层安全性 (TLS) 配置

Important

为了提高安全性,Azure在 2025 年 5 月 1 日阻止 Application Insights 的以下 TLS 配置。 此更改是Azure旧版 TLS 停用的一部分:

  • 旧版 TLS 1.2 和 TLS 1.3 密码套件
  • 旧版 TLS 椭圆曲线

TLS 1.2 和 TLS 1.3

Version 密码套件 椭圆曲线
TLS 1.2 * TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
* TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
* TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
* TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
* TLS_RSA_WITH_AES_256_GCM_SHA384
* TLS_RSA_WITH_AES_128_GCM_SHA256
* TLS_RSA_WITH_AES_256_CBC_SHA256
* TLS_RSA_WITH_AES_128_CBC_SHA256
* TLS_RSA_WITH_AES_256_CBC_SHA
* TLS_RSA_WITH_AES_128_CBC_SHA
* curve25519
TLS 1.3 * Curve25519

有关详细信息,请参阅 Application Insights 常见问题解答中的 TLS 支持。

警报规则和操作组安全性

警报规则和操作组控制Azure Monitor如何检测问题并通知响应者。 以下做法可帮助你保护这些组件。

使用托管标识控制日志搜索警报规则权限

开发人员面临的一个常见挑战是管理用于保护服务之间通信的机密、凭据、证书和密钥。 托管标识使开发人员无需管理这些凭据。 为日志搜索警报规则设置托管标识可让你控制和了解警报规则的确切权限。 可以随时查看规则的查询权限,并直接从其托管标识添加或删除权限。

如果规则的查询访问Azure 数据资源管理器(ADX)或Azure Resource Graph(ARG),则需要使用托管标识。

说明: 创建或编辑日志搜索警报规则。

将“监视读取者”角色分配给不需要配置特权的所有用户

通过向用户授予其角色所需的最低权限来提高安全性。

Instructions:角色、权限和安全性在Azure Monitor中。

尽可能使用安全的 Webhook 操作

如果警报规则包含使用 Webhook 操作的操作组,建议首选使用安全 Webhook 操作以进行更强的身份验证。

说明: 为安全 Webhook 配置身份验证。

如果需要使用自己的加密密钥来保护工作区中的数据和保存的查询,请使用客户管理的密钥

Azure Monitor使用Azure托管密钥(MMK)加密所有数据和保存的静态查询。 如果需要使用自己的加密密钥,并为专用群集收集足够的数据,请使用客户管理的密钥以提高灵活性和密钥生命周期控制。

说明: 客户管理的密钥。

如果使用Microsoft Sentinel,请参阅设置Microsoft Sentinel客户管理的密钥。

虚拟机监控

监视虚拟机依赖于需要安全配置的代理和数据收集。 以下做法可帮助你保护这些组件。

使用Azure安全服务实现 VM 的安全监视

虽然Azure Monitor可以从 VM 收集安全事件,但它不用于安全监视。 Azure包括多个服务,例如 Microsoft Defender for Cloud 和 Microsoft Sentinel,共同提供完整的安全监视解决方案。 要对这些服务进行比较,请参阅安全监视。

Azure使用端到端加密保护与公共终结点的连接。 如果需要专用终结点,请使用 Azure 专用链接允许资源通过授权的专用网络连接到Log Analytics工作区。 还可以使用专用链接强制通过 ExpressRoute 或 VPN 引入工作区数据。

Instructions:设计 Azure 私有链接设置

容器监控

容器监控收集来自 Kubernetes 集群及其上运行的工作负载的遥测数据。 以下做法可帮助你保护此数据。

使用托管身份验证将群集连接到容器监控

托管标识身份验证 是新群集的默认身份验证方法。 如果使用旧身份验证,请迁移到托管标识以删除基于证书的本地身份验证。

说明: 迁移到托管标识身份验证

Azure Prometheus 的托管服务将其数据存储在默认使用公共终结点的Azure Monitor工作区中。 Microsoft使用端到端加密保护与公共终结点的连接。 如果需要专用终结点,请使用 Azure 专用链接允许群集通过授权的专用网络连接到工作区。 还可以使用专用链接强制通过 ExpressRoute 或 VPN 引入工作区数据。

Instructions:请参见 Azure Monitor 中 Kubernetes 监视的专用链接启用方法>,了解有关为专用链接配置群集的详细信息。 有关如何通过专用链接查询数据的详细信息,请参阅 适用于托管 Prometheus 和 Azure Monitor 工作区的专用终结点。

使用流量分析监视传入和传出群集的网络流量

Traffic analytics分析Azure 网络观察程序 NSG 流日志,以便深入了解Azure云中的流量流。 使用此工具可确保群集没有数据外泄,并检测是否公开了任何不必要的公共 IP。

启用网络可观测性

AKS 的网络可观测性加载项 在 Kubernetes 网络堆栈的多个层之间提供可观测性。 监视和观察群集中服务之间的访问(东西向流量)。

指引:设置 Azure Kubernetes 服务 (AKS) 的容器网络可观测性

保护Log Analytics工作区

容器见解将数据发送到 Log Analytics 工作区。 请确保保护 Log Analytics 工作区中的日志引入和存储。

说明: 日志引入和存储。

Microsoft如何保护Azure Monitor

本文中的说明基于 Microsoft安全责任模型。 作为此共同责任模型的一部分,Microsoft向Azure Monitor客户提供以下安全措施:

Azure安全指南和最佳做法

Azure Monitor安全部署说明基于Azure全面的云安全准则和最佳做法,其中包括:

后续步骤