将零信任原则应用于 Amazon Web Services 中的 IaaS 应用程序

注意

即将推出的直播 加入 Azure FastTrack 团队,讨论本文。 2024 年 10 月 16 日 | 上午 10:00 - 11:30 (UTC-07:00) 太平洋时间(美国和加拿大)。 在此处注册

本文提供将零信任原则应用于 Amazon Web Services (AWS) 中的 IaaS 应用程序的步骤 :

零信任原则 定义 满足者
显式验证 始终根据所有可用的数据点进行身份验证和授权。 DevOps 中的安全性 (DevSecOps),使用 GitHub Advanced Security 和 DevOps,扫描并保护基础结构即代码。
使用最低特权访问 使用实时和恰好足够的访问权限 (JIT/JEA)、基于风险的自适应策略和数据保护,来限制用户访问。
  • Microsoft Entra 权限管理可检测、调整大小,并监视未使用和使用过多的权限。
  • Privileged Identity Management (PIM) 作为 Microsoft Entra ID P2 中的一项服务,可以通过它来管理、控制和监视对组织中重要资源的访问。
  • 将用户基于角色的访问控制 (RBAC)分配给存储库级别、团队级别或组织级别的资源。
假定数据泄露 最大限度地减少影响范围,并对访问进行分段。 验证端对端加密并使用分析来获取可见性、驱动威胁检测并改善防御。
  • Microsoft Defender for Cloud 和 Microsoft Defender for Endpoint (Microsoft 365) 持续扫描环境中是否存在威胁和漏洞。
  • Microsoft Sentinel 分析收集的数据、实体的行为趋势、异常情况和跨企业的多阶段威胁,以检测可疑活动,并且可以使用自动化做出响应。

有关如何在 Azure IaaS 环境中应用零信任原则的详细信息,请参阅将零信任原则应用于 Azure IaaS 概述

AWS 和 AWS 组件

AWS 是市场上可用的公有云提供商之一,其他提供商还有 Microsoft Azure、Google Cloud Platform 等。 公司通常拥有包含多个云提供商的多云体系结构。 本文会重点介绍多云体系结构,其中:

  • Azure 和 AWS 已集成,用于运行工作负载和 IT 业务解决方案。
  • 使用 Microsoft 产品保护 AWS IaaS 工作负载。

AWS 虚拟机(名为 Amazon Elastic Compute Cloud (Amazon EC2) 在名为 Amazon Virtual Private Cloud (Amazon VPC) 的 AWS 虚拟网络上运行。 用户和云管理员在其 AWS 环境中设置 Amazon VR,并且添加 Amazon EC2 虚拟机。

AWS CloudTrail 会记录 AWS 环境中的 AWS 帐户活动。 Amazon EC2、Amazon VPC 和 AWS CloudTrail 在 AWS 环境中都很常见。 从这些服务收集日志对于了解 AWS 环境中发生的情况,以及为避免或缓解攻击而采取的操作至关重要。

Amazon GuardDuty 是一种威胁检测服务,它可通过监视 AWS 环境来监视恶意活动和未经授权的行为,帮助保护 AWS 工作负载。

本文介绍如何将这些 AWS 资源和服务的监视和日志记录与 Azure 的监视解决方案和 Microsoft 安全堆栈进行集成。

参考体系结构

以下体系结构关系图显示了在 AWS 环境中运行 IaaS 工作负载所需的常见服务和资源。 此关系图还显示了将日志和数据从 AWS 环境引入 Azure,以及提供威胁监视和保护所需的 Azure 服务。

用于保护 Amazon Web Services (AWS) 中的 IaaS 应用程序的参考体系结构示意图。

此关系图演示了在 AWS 环境中为以下资源和服务引入 Azure 日志:

  • Amazon Elastic Compute Cloud (Amazon EC2)
  • Amazon Virtual Private Cloud (Amazon VPC)
  • Amazon Web Services CloudTrail (AWS CloudTrail)
  • Amazon GuardDuty

若要将日志 AWS 环境中的资源和服务引入 Azure,必须定义 Amazon Simple Queue Service (Amazon S3) 和 Amazon Simple Queue Service (SQS)。

日志和数据将引入 Azure Monitor 中的 Log Analytics。

以下 Microsoft 产品使用引入的数据进行监视:

  • Microsoft Defender for Cloud
  • Microsoft Sentinel
  • Microsoft Defender for Endpoint

注意

不必将日志引入列出的所有 Microsoft 产品就能监视 AWS 资源和服务。 不过,结合使用所有 Microsoft 产品,可以从将 AWS 日志和数据引入 Azure 中获得更大的优势。

本文遵循体系结构关系图并描述以下操作说明:

  • 安装和配置 Microsoft 产品,以从 AWS 资源引入日志。
  • 为要监视的安全数据配置指标。
  • 提高整体安全状况,确保 AWS 工作负载的安全。
  • 安全基础结构即代码。

步骤 1:安装和连接 Microsoft 产品,以引入日志和数据

本节介绍如何在引用的体系结构中安装和连接 Microsoft 产品,以便从 AWS 和 Amazon 服务和资源引入日志。 若要遵循零信任“明确验证”原则,需要安装 Microsoft 产品并连接到 AWS 环境,在攻击之前采取主动行动。

步骤 任务
A 将 Azure Connected Machine Agent 安装到 Amazon Elastic Compute Cloud (Amazon EC2) 虚拟机,以便将操作系统数据和日志引入 Azure。
B 将 Azure Monitor 代理安装到 Amazon EC2 虚拟机,以将日志发送到 Log Analytics 工作区。
C 将 AWS 帐户连接到 Microsoft Defender for Cloud。
D 将 Microsoft Sentinel 连接到 AWS 以引入 AWS 日志数据。
E 使用 Amazon 连接器将 AWS 服务日志拉取到 Microsoft Sentinel。

A. 将 Azure Connected Machine Agent 安装到 Amazon EC2 虚拟机,以便将操作系统数据和日志引入 Azure

通过已启用 Azure Arc 的服务器,可管理 Windows 和 Linux 物理服务器和虚拟机,它们托管在 Azure 外部(在公司网络或其他云提供商处)。 就 Azure Arc 而言,托管在 Azure 外部的计算机被视为混合计算机。 要将 Amazon EC2 虚拟机(又称混合计算机)连接到 Azure,请在每台计算机上安装 Azure Connected Machine Agent

有关详细信息,请参阅将混合计算机连接到 Azure

B. 将 Azure Monitor 代理安装到 Amazon EC2 虚拟机,以将日志发送到 Log Analytics 工作区

Azure Monitor 为 Azure 和其他云(包括 AWS)中运行的资源和应用程序提供全面监视。 Azure Monitor 用于收集、分析和响应来自云和本地环境的遥测数据。 Azure Monitor 中的 VM 见解使用已启用 Azure Arc 的服务器,可在 Azure 虚拟机与 Amazon EC2 虚拟机之间提供一致的体验。 可以在查看 Amazon EC2 虚拟机的同时查看 Azure 虚拟机。 可以使用相同的方法加入 Amazon EC2 虚拟机。 这包括使用标准 Azure 构造函数(如 Azure Policy)和应用标记。

为计算机启用 VM 见解时,会安装 Azure Monitor 代理 (AMA)。 AMA 从 Amazon EC2 虚拟机收集监视数据,并将其传送到 Azure Monitor,供不同的功能、见解和其他服务(如 Microsoft Sentinel 和 Microsoft Defender for Cloud)使用。

重要

Log Analytics 是 Azure 门户中的一个工具,可用于编辑和针对 Azure Monitor 日志存储中的数据运行日志查询。 Log Analytics 会自动进行安装。

Amazon EC2 虚拟机可能已安装旧的 Log Analytics 代理。 此代理将在 2024 年 9 月弃用。 Microsoft 建议安装新的 Azure Monitor 代理。

要执行以下操作,需要适用于 Windows 和 Linux 的 Log Analytics 代理或 Azure Monitor 代理:

  • 主动监视计算机上运行的操作系统和工作负载。
  • 使用自动化 Runbook 或更新管理等解决方案来管理计算机。
  • 使用 Microsoft Defender for Cloud 等其他 Azure 服务。

收集日志和数据时,信息将存储在 Log Analytics 工作区中。 要收集来自订阅中 Azure 资源的数据,需要 Log Analytics 工作区。

Azure Monitor 工作簿是 Azure 门户中提供的可视化工具。 工作簿可将文本、日志查询、指标和参数合并到丰富的交互式报告中。 设置工作簿可帮助你使用分析来遵守零信任“假定违反”原则。

“监视来自 Amazon Virtual Private Cloud (Amazon VPC)、AWS CloudTrail 和 Amazon GuardDuty 的 Microsoft Sentinel 日志”下的下一篇文章中将探讨工作簿。

有关详细信息,请参阅:

°C 将 AWS 帐户连接到 Microsoft Defender for Cloud

Microsoft Defender for Cloud 是云安全态势管理 (CSPM) 和云工作负载保护平台 (CWPP),适用于所有 Azure、本地和多云资源,包括 AWS。 Defender for Cloud 满足在云和本地管理资源和工作负载的安全性时的三个重要需求:

Microsoft Defender for Servers 是 Microsoft Defender for Cloud 提供的付费计划之一。 Defender for Servers 将保护范围扩展到了在 AWS、Google Cloud Platform 和本地运行的 Windows 与 Linux 计算机。 Defender for Servers 与 Microsoft Defender for Endpoint 集成以提供终结点检测和响应 (EDR),以及其他威胁防护功能。

有关详细信息,请参阅:

注意

如果尚未在服务器上部署 AMA,可以在启用 Defender for Servers 时在服务器上部署 Azure Monitor 代理

D. 将 Microsoft Sentinel 连接到 AWS 以引入 AWS 服务日志数据

Microsoft Sentinel 是一种可缩放的云原生解决方案,提供以下服务:

  • 安全信息和事件管理 (SIEM)
  • 安全业务流程、自动化和响应 (SOAR)

Microsoft Sentinel 跨企业提供安全分析和威胁情报。 借助 Microsoft Sentinel,可以获取攻击检测、威胁可见性、主动搜寻和威胁响应的单一解决方案。

有关设置说明,请参阅加入 Microsoft Sentinel

E. 使用 AWS 连接器将 AWS 服务日志拉取到 Microsoft Sentinel

要将 AWS 服务日志拉取到 Microsoft Sentinel,需要使用 Microsoft Sentinel AWS 连接器。 这些连接器通过授予 Microsoft Sentinel 访问 AWS 资源日志的权限来运行。 设置连接器会在 AWS 和 Microsoft Sentinel 之间建立信任关系。 在 AWS 上创建角色,该角色可以授予 Microsoft Sentinel 访问 AWS 日志的权限。

此连接器可在两个版本中使用:新的 Amazon Simple Queue 服务 (Amazon S3) 连接器可通过从 Amazon S3 存储桶拉取日志来引入日志,而旧的连接器用于 CloudTrail 管理和数据日志。 Amazon S3 连接器可以从 Amazon Virtual Private Cloud (Amazon VR)、AWS CloudTrail 和 Amazon GuardDuty 引入日志。 Amazon S3 连接器处于预览状态。 我们建议使用 Amazon S3 连接器。

若要使用 Amazon S3 连接器从 Amazon VPC、AWS CloudTrail 和 Amazon GuardDuty 引入日志,请参阅将 Microsoft Sentinel 连接到 AWS

注意

Microsoft 建议使用自动设置脚本来部署 Amazon S3 连接器。 如果希望手动执行每个步骤,请按照手动设置将 Microsoft Sentinel 连接到 AWS。

步骤 2:配置安全数据的指标

现在,Azure 正从 AWS 资源引入日志,可以在环境中创建威胁检测规则并监视警报。 本文将指导你完成收集日志和数据以及监视可疑活动的步骤。 零信任“假设违反”原则是通过监视环境中的威胁和漏洞来实现的。

步骤 任务
A 在 Azure Monitor 中收集 Amazon Elastic Compute Cloud (Amazon EC2) 日志。
B 查看和管理用于 Amazon EC2 的 Microsoft Defender for Cloud 安全警报和建议。
C 将 Microsoft Defender for Endpoint 与 Defender for Cloud 集成。
D 在 Microsoft Sentinel 中监视 Amazon EC2 数据。
E 监视来自 Amazon Virtual Private Cloud (Amazon VPC)、AWS CloudTrail 和 Amazon GuardDuty 的 Microsoft Sentinel 日志。
周五 使用 Microsoft Sentinel 内置检测规则,在环境中创建和调查威胁检测规则。

A. 在 Azure Monitor 中收集 Amazon Elastic Compute Cloud (Amazon EC2) 日志

Amazon EC2 VM 上安装的 Azure Connected Machine Agent 使你能够监视 AWS 资源,就像监视 Azure 资源一样。 例如,可以使用 Azure 策略来治理和管理 Amazon EC2 VM 的更新。

Amazon EC2 VM 上安装的 Azure Monitor 代理 (AMA) 收集监视数据并将其传送到 Azure Monitor。 这些日志将成为 Microsoft Sentinel 和 Defender for Cloud 的输入。

若要从 Amazon EC2 VM 收集日志,请参阅创建数据集合规则

B. 查看和管理用于 Amazon EC2 的 Microsoft Defender for Cloud 安全警报和建议

Microsoft Defender for Cloud 使用资源日志生成安全警报和建议。 Defender for Cloud 可提供警报,提醒你 Amazon EC2 VM 上可能存在的威胁。 警报按严重性设置优先级。 每个警报都提供了受影响资源、问题和补救建议的详细信息。

可通过两种方式查看 Azure 门户中的建议。 在 Defender for Cloud 概述页面中,可以查看要改进环境对应的建议。 在 Defender for Cloud 资产清单页面上,根据受影响的资源显示建议。

查看和管理 Amazon EC2 警报和建议:

注意

Microsoft 云安全基准 (MCSB) 包含一系列影响重大的安全建议,你可以使用这些建议在单云或多云环境中帮助保护云服务。 Microsoft 建议使用安全基准帮助你快速保护云部署。 了解有关 MCSB 的详细信息。

°C 将 Microsoft Defender for Endpoint 与 Defender for Cloud 集成

通过 Defender for Cloud 的集成式终结点检测和响应解决方案 Microsoft Defender for Endpoint 来保护终结点。 Microsoft Defender for Endpoint 可保护 Windows 和 Linux 计算机,无论它们是托管在 Azure、本地还是多云环境中。 Microsoft Defender for Endpoint 是一种整体的、云交付的终结点安全解决方案。 主要功能包括:

  • 基于风险的漏洞管理和评估
  • 攻击面减少
  • 基于行为的、由云提供支持的保护
  • 终结点检测和响应 (EDR)
  • 自动调查和补救
  • 托管搜寻服务

有关详细信息,请参阅启用 Microsoft Defender for Endpoint 集成

D. 在 Microsoft Sentinel 中监视 Amazon EC2 数据

安装 Azure Connected Machine Agent 和 AMA 后,Amazon EC2 操作系统开始将日志发送到 Azure Log Analytics 表,Microsoft Sentinel 可自动获取这些日志。

下图演示了如何将 Microsoft Sentinel 引入 Amazon EC2 操作系统日志。 Azure Connected Machine Agent 可使 Amazon EC2 VM 成为 Azure 的一部分。 “通过 AMA 数据连接器收集的 Windows 安全事件”从你的 Amazon EC2 VM 收集数据。

Microsoft Sentinel 引入的操作系统日志示意图。

注意

无需 Microsoft Sentinel 从 Amazon EC2 引入日志,但需要之前设置的 Log Analytics 工作区。

有关分步指导,请参阅使用 Arc 和 AMA 的 Amazon EC2 Sentinel 引入(GitHub 中的文档)。 GitHub 文档介绍了如何安装 AMA,由于之前在解决方案指南中安装了 AMA,因此可以跳过该文档。

E. 监视来自 Amazon Virtual Private Cloud (Amazon VPC)、AWS CloudTrail 和 Amazon GuardDuty 的 Microsoft Sentinel 日志

此前,你使用 Amazon Simple Queue Service (Amazon S3) 连接器将 Microsoft Sentinel 连接到 AWS。 Amazon S3 存储桶将日志发送到 Log Analytics 工作区,这是用于查询日志的底层工具。 在工作区中创建下表:

  • AWSCloudTrail - AWS CloudTrail 日志保存 AWS 帐户的所有数据和管理事件。
  • AWSGuardDuty - Amazon GuardDuty 结果表示在网络中检测到的潜在安全问题。 每当 Amazon GuardDuty 检测到 AWS 环境中的意外和潜在恶意活动时,Amazon GuardDuty 就生成一个结果。
  • AWSVPCFlow - Amazon Virtual Private Cloud (Amazon VPC) 流日志使你能够捕获传入和传出 Amazon VR 网络接口的 IP 流量。

可在 Microsoft Sentinel 中查询 AmazonVP 流日志、AWS CloudTrail 和 Amazon GuardDuty。 以下是 Log Analytics 中每个服务和相应表的查询示例:

对于 Amazon GuardDuty 日志:

AWSGuardDuty | 其中严重性 > 7 | 按 ActivityType 汇总 count()

对于 AmazonVP Flow 日志:

AWSVPCFlow | 其中行动 == “REJECT” |其中类型 == “Ipv4” |取 10

For AWS CloudTrail 日志:

AWSCloudTrail | 其中活动名称 == “CreateUser” |按 AWSRegion 汇总 count()

在 Microsoft Sentinel 中,可利用 Amazon S3 工作簿分析更多详细信息。

对于 AWS CloudTrail,你可以分析:

  • 随时间发展的数据流
  • 帐户 ID
  • 事件源列表

对于 Amazon GuardDuty,你可以分析:

  • 按地图排序的 Amazon GuardDuty
  • 按区域排序的 Amazon GuardDuty
  • 按 IP 排序的 Amazon GuardDuty

F. 使用 Microsoft Sentinel 内置检测规则,在环境中创建和调查威胁检测规则

将数据源连接到 Microsoft Sentinel 后,请使用 Microsoft Sentinels 内置检测规则模板以帮助你在环境中创建和调查威胁检测规则。 Microsoft Sentinel 提供了开箱即用的内置模板来帮助你创建威胁检测规则。

Microsoft 的安全专家和分析师团队基于已知威胁、常见攻击途径和可疑活动升级链设计的规则模板。 基于这些模板创建的规则可自动在环境中搜索任何看起来可疑的活动。 可以自定义许多模板以搜索活动,或根据需要筛选它们。 由这些规则生成的警报会创建可在环境中分配和调查的事件。

有关详细信息,请参阅使用 Microsoft Sentinel 中的内置分析规则检测威胁

步骤 3:改善整体安全状况

在本节中,你将了解 Microsoft Entra 权限管理如何帮助你监视未使用和过度的权限。 逐步介绍如何配置、加入和查看密钥数据。 零信任“使用最低特权访问”原则通过管理、控制和监视对资源的访问权限来实现。

步骤 任务
A 配置权限管理和 Privileged Identity Management。
B 加入 AWS 帐户。
C 查看关键统计信息和数据。

配置权限管理

权限管理是一种云基础结构权利管理 (CIEM) 解决方案,可检测、自动调整大小,并持续监视多云基础结构中未使用和过多的权限。

权限管理通过“使用最低特权访问”原则深化了零信任安全策略,使客户能够:

  • 获取全面可见性:发现哪个标识正在执行哪些工作、在何处以及何时执行。
  • 自动执行最低特权访问:使用访问分析来确保标识在正确的时间拥有正确的权限。
  • 跨 IaaS 平台统一访问策略:在云基础结构中实施一致的安全策略。

权限管理提供了 AWS 和 Azure 的关键统计信息和数据摘要。 数据包括与可避免的风险相关的指标。 通过这些指标,权限管理管理员能够识别可在哪些方面降低与零信任“使用最低特权访问”原则相关的风险。

可以将数据馈送到 Microsoft Sentinel 中,以便进一步分析和自动化。

要实现任务,请参阅:

步骤 4:安全基础结构即代码

本节介绍 DevSecOps 的关键支柱,扫描和保护基础结构即代码。 对于基础结构即代码,安全和 DevOps 团队应监视可能导致基础结构部署中出现漏洞的错误配置。

通过对 Azure Resource Manager (ARM)、Bicep 或 Terraform 模板实施连续检查,可以在开发初期防范违反和攻击,初期防范比修复的成本要低。 你还希望通过 Microsoft Entra ID 和 DevOps 工具保持对管理员和服务帐户组的严格控制。

可以通过以下方法实施零信任“使用最低特权访问”原则:

  • 使用最低特权标识访问和网络设置,对基础结构配置进行严格审查。
  • 将用户基于角色的访问控制 (RBAC)分配给存储库级别、团队级别或组织级别的资源。

先决条件

  • 代码存储库位于 Azure DevOps 或 GitHub 中
  • 管道在 Azure DevOps 或 GitHub 中托管
步骤 任务
A 启用基础结构即代码 (IaC) 的 DevSecOps。
B 实施 RBAC for DevOps 工具。
C 启用 GitHub Advanced Security。
D 查看代码和机密扫描结果。

A. 启用 DevSecOps for IaC

无论代码和管道位于 Azure DevOps 还是 GitHub 中,Defender for DevOps 提供多管道环境安全状况的可见性。 它具有实现单一窗格的额外优势,安全和 DevOps 团队可以在一个仪表板中查看其所有存储库的扫描结果,并设置拉取请求流程来修正任何问题。

有关详细信息,请参阅:

B. 实施 RBAC for DevOps 工具

你需要管理和实施团队的健全治理做法,例如基于角色的访问控制权限。 如果此模型未针对 DevOps 自动化镜像,则组织可能会让安全后门保持打开状态。 考虑开发人员无法通过 ARM 模板进行访问的示例。 开发人员可能仍有足够的权限更改应用程序代码或基础结构即代码并触发自动化工作流。 开发人员可以通过 DevOps 间接访问 ARM 模板,并做出破坏性更改。

在基础结构部署中部署基于云的解决方案时,安全性应始终是重中之重。 Microsoft 确保基础云基础结构安全。 在 Azure DevOps 或 GitHub 中配置安全性。

配置安全性:

  • Azure DevOps 中,可以使用组织/集合、项目或对象级别的安全组、策略和设置。
  • GitHub 中,可以通过在存储库级别、团队级别或组织级别授予用户角色以向其分配对资源的访问权限。

°C 启用 GitHub 高级安全

若要主动保护环境,持续监视和加强 DevOps 安全性非常重要。 GitHub Advanced Security 可自动检查你的管道,以查找公开的机密、依赖项漏洞等。 GitHub 根据 Advanced Security 许可证向客户提供额外的安全功能。

默认情况下,为公共存储库启用 GitHub Advanced Security。 对于专用存储库,需要使用 GitHub Advanced Security 许可。 启用后,可以开始使用 GitHub Advanced Security 套件附带的许多功能:

  • 代码扫描
  • 依赖项扫描
  • 机密扫描
  • 访问控制
  • 漏洞警报
  • 审核日志
  • 分支保护规则
  • 拉取请求审查

借助这些功能,可以确保代码的安全且符合行业标准。 还可以创建自动化工作流,以帮助你快速检测和解决代码中的任何安全问题。 此外,可以使用分支保护规则,防止对代码库进行未经授权的更改。

有关详细信息,请参阅启用 GitHub Advanced Security

D. 查看代码和机密扫描结果

Defender for DevOps 是 Defender for Cloud 中提供的一项服务,安全团队可以使用它来跨多管道环境管理 DevOps 安全性。 Defender for DevOps 使用中心控制台,使安全团队能够跨多管道环境(例如 GitHub 和 Azure DevOps)保护从代码到云的应用程序和资源。

Defender for DevOps 将安全检测结果公开为拉取请求 (PR) 中的注释。 安全操作员可以在 Microsoft Defender for Cloud 中启用 PR 注释。 开发人员可以修正公开的问题。 此过程有助于在潜在的安全漏洞和错误配置进入生产阶段之前,对其进行预防和修复。 可以在 Azure DevOps 中配置 PR 批注。 如果你是 GitHub Advanced Security 客户,可以在 GitHub 中获取 PR 注释。

有关详细信息,请参阅:

后续步骤

详细了解本文中讨论的 Azure 服务:

详细了解本文中讨论的 AWS 与 Amazon 服务和资源: