本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
基础架构 OU-网络账户
通过进行简短的调查 |
下图说明了在网络账户中配置的 AWS 安全服务。

网络账户可管理应用程序与广泛的互联网之间的网关。保护这一双向接口十分重要。网络账户可将网络服务、配置和操作与各个应用程序工作负载、安全性及其他基础设施隔离开来。此方案不仅可限制连接、权限和数据流,而且还能为需要在这些账户中进行操作的团队分离职责和提供最低权限。通过将网络流分成单独的入站和出站虚拟私有云 (VPCs),您可以保护敏感基础设施和流量免受意外访问。一般认为入站网络风险较高,因而需要适当的路由、监控和潜在问题缓解措施。这些基础设施账户将继承组织管理账户和基础设施 OU 中的权限防护机制。网络(和安全)团队将管理此账户中的大部分基础设施。
网络架构
尽管网络设计和细节超出了本文档的范围,但我们建议使用以下三个选项来实现不同账户之间的网络连接:VPC 对等互连、AWS 和 AWS Transit G PrivateLink ateway。在这三个选项中进行选择时的重要考虑因素包括操作规范、预算以及具体带宽需求。
-
VPC 对等互连-连接两者的最简单方法 VPCs 是使用 VPC 对等。连接可实现两者之间的完全双向连接。 VPCs VPCs 它们位于不同的账户中,AWS 区域也可以相互对等。从规模上看,当你有数十到数百个对等连接时 VPCs,将它们与对等互连互连会形成一个由数百到数千个对等连接组成的网格,这可能很难管理和扩展。当一个 VPC 中的资源必须与另一个 VPC 中的资源通信,两 VPCs 者的环境都受到控制和保护,并且 VPCs 要连接的数量少于 10(以便对每个连接进行单独管理)时,最好使用 VPC 对等连接。
-
A PrivateLink WS
− 在服务和应用程序之间 PrivateLink VPCs提供私有连接。您可以在 VPC 中创建自己的应用程序,并将其配置为 PrivateLink由支持的服务(称为终端节点服务)。其他 AWS 主体可以通过使用接口 VPC 端点或网关负载均衡器端点(具体取决于服务类型),在其 VPC 和您的端点服务之间创建连接。使用时 PrivateLink,服务流量不会通过可公开路由的网络。 PrivateLink 在您的客户端-服务器设置中,要向一个或多个使用者提供对服务提供商 VPC 中特定服务或一组实例的 VPCs 单向访问权限时使用。当两 VPCs者中的客户端和服务器的 IP 地址重叠时,这也是一个不错的选择,因为在客户端 VPC 中 PrivateLink 使用弹性网络接口,因此不会与服务提供商发生 IP 冲突。 -
AWS Tran
sit Gateway − Transit Gateway 提供了一种用于连接 VPCs 和本地网络的 hub-and-spoke设计,作为一项完全托管的服务,无需您配置虚拟设备。AWS 可管理高可用性和可扩展性。中转网关是一种区域资源,可以连接同一 AWS 区域 VPCs 内的数千个。您可以将您的混合连接(VPN 和 AWS Direct Connect 连接)附加到单个中转网关中,从而将您的 AWS 组织的整个路由配置整合到一个位置并对其进行控制。中转网关解决了大规模创建和管理多个 VPC 对等连接所带来的复杂性。它是大多数网络架构的默认设置,但如果在成本、带宽和延迟方面有特定的需求,则 VPC 对等可能更适合您。
入站(入口)VPC
入站 VPC 旨在接受、检查和路由应用程序外部发起的网络连接。根据应用程序的具体情况,您可能会在此 VPC 中看到一些网络地址转换(NAT)。来自此 VPC 的流日志将被捕获并存储在日志存档账户中。
出站(出口)VPC
出站 VPC 旨在处理应用程序内部发起的网络连接。根据应用程序的具体情况,您可能会在此 VPC 中看到流量 NAT、AWS 服务专用的 VPC 端点以及外部 API 端点托管。来自此 VPC 的流日志将被捕获并存储在日志存档账户中。
检查 VPC
专用的检查 VPC 为管理 VPCs (在相同或不同的 AWS 区域)、互联网和本地网络之间的检查提供了一种简化的集中方法。对于 AWS SRA,请确保两者之间的所有流量都 VPCs 通过检查 VPC,并避免将检查 VPC 用于任何其他工作负载。
AWS Network Firewall
AWS Network Firewall
您可以在 VPC 中按可用区使用防火墙。对于每个可用区,您可以选择一个子网来托管筛选流量的防火墙端点。一个可用区中的防火墙端点可以保护该区内除其所在子网外的所有其他子网。根据应用场景和部署模型,防火墙子网可能是公有子网,也可能是私有子网。防火墙对流量完全透明,并且不执行网络地址转换(NAT)。它会保留源地址和目标地址。在此参考架构中,防火墙端点托管在检查 VPC 中。从入站 VPC 流向出站 VPC 的所有流量都将经由此防火墙子网进行路由,以便进行检查。
Network Firewall 通过亚马逊 CloudWatch指标实时显示防火墙活动,并通过向亚马逊简单存储服务 (Amazon S3) 和 Amazon D CloudWatch ata Firehose 发送日志来提高网络流量的可见性。Network Firewall 可与现有安全方法进行互操作,包括 AWS 合作伙伴
在 AWS SRA 中,在网络账户内使用 Network Firewall,因为该服务以网络控制为重点的功能与账户意图一致。
设计注意事项
-
AWS Firewall Manager 支持 Network Firewall,因此您可以在整个组织中集中配置和部署 Network Firewall 规则。(有关详细信息,请参阅 AWS 文档中的 AWS Network Firewall policies。) 配置 Firewall Manager 时,它会自动创建一个防火墙,其中 VPCs 包含您指定的帐户中的规则集。它还会在包含公有子网的每个可用区的专用子网中部署端点。同时,对集中配置的规则集所做的任何更改都会自动在已部署的 Network Firewall 防火墙的下游更新。
-
Network Firewall 有多种部署模型
可供选择。模型是否合适取决于您的应用场景和要求。示例包括: -
一种分布式部署模型,其中将 Network Firewall 部署到个人中 VPCs。
-
集中式部署模型,其中将 Network Firewall 部署到集中式 VPC 中,用于东-西(VPC 到 VPC)流量或南-北(互联网出口和入口、本地)流量。
-
组合式部署模型,其中将 Network Firewall 部署到集中式 VPC 中,用于东-西流量和部分南-北流量。
-
-
作为最佳实践,请勿使用 Network Firewall 子网部署任何其他服务。这是因为 Network Firewall 无法检查来自防火墙子网内源或目标的流量。
网络访问分析器
网络访问分析器是 Amazon VPC 的一项功能,可识别对资源的意外网络访问。您可以使用网络访问分析器来验证网络分段、识别可从互联网访问或只能从可信 IP 地址范围访问的资源,并验证是否所有网络路径上都存在适当的网络控制。
网络访问分析器使用自动推理算法来分析数据包可以在 AWS 网络中的资源之间采用的网络路径,并生成与您定义的网络访问范围相匹配的路径的调查发现。网络访问分析器对网络配置执行静态分析,这意味着在此分析过程中,不会在网络中传输任何数据包。
Amazon Inspector 网络可到达性规则提供了相关功能。这些规则生成的调查发现将在应用程序账户中使用。网络访问分析器和网络可到达性均采用 AWS Provable Security 计划
网络账户定义了控制进出 AWS 环境的流量的关键网络基础设施。这些流量需要加以严格监控。在 AWS SRA 中,在网络账户中使用网络访问分析器,有助于识别意外网络访问、通过互联网网关访问互联网的资源,并验证资源和互联网网关之间的所有网络路径上是否存在适当的网络控制,例如网络防火墙和 NAT 网关。
设计注意事项
-
网络访问分析器是 Amazon VPC 的一项功能,可在任何拥有 VPC 的 AWS 账户中使用。网络管理员可以获得具有限定适用范围的跨账户 IAM 角色,以验证每个 AWS 账户中是否强制使用经批准的网络路径。
AWS RAM
AWS Resource Access Manager
借助 AWS RAM,您可以共享不支持基于 IAM 资源的策略的资源,例如 VPC 子网和 Route 53 规则。此外,借助 AWS RAM,资源所有者可以查看哪些主体有权访问其共享的每个资源。IAM 实体可以直接检索与其共享的资源列表,但他们无法对通过 IAM 资源策略共享的资源执行此操作。如果将 AWS RAM 用于共享 AWS 组织外部的资源,则会启动邀请流程。接收者必须先接受邀请,然后才能获得对资源的访问权限。这提供了额外的制衡措施。
AWS RAM 由资源所有者在部署共享资源的账户中调用和管理。AWS SRA 中说明的一个 AWS RAM 常见应用场景是,网络管理员与整个 AWS 组织共享 VPC 子网和中转网关。这使得 AWS 账户与网络管理功能解耦,并有助于实现职责分离。有关 VPC 共享的更多信息,请参阅 AWS Blog 文章 VPC sharing: A new approach to multiple accounts and VPC management
设计注意事项
-
尽管 AWS RAM 即服务仅部署在 AWS SRA 中的网络账户内,但它通常会部署在多个账户中。例如,您可以将数据湖管理集中到单个数据湖账户,然后与 AWS 组织中的其他账户共享 AWS Lake Formation 数据目录资源(数据库和表)。有关更多信息,请参阅 AWS Lake Formation 文档和 AWS Blog 文章 Securely share your data across AWS accounts using AWS Lake Formation
。此外,安全管理员在构建 AWS 私有 CA 层次结构时可以使用 AWS RAM 来遵循最佳实践。 CAs 可以与外部第三方共享,这些第三方无需访问 CA 层次结构即可颁发证书。这将允许发起组织限制和撤销第三方访问。
AWS Verified Access
AWS Verified Access
Verified Access 支持两种常见的企业应用程序模式:内部应用程序模式和面向互联网的应用程序模式。Verified Access 使用应用程序负载均衡器或弹性网络接口与应用程序集成。如果您使用的是应用程序负载均衡器,则 Verified Access 需要内部负载均衡器。Verified Access 支持实例级别的 AWS WAF,因此将 AWS WAF 与应用程序负载均衡器集成的现有应用程序可将策略从负载均衡器移至 Verified Access 实例。企业应用程序表示为 Verified Access 端点。每个端点都与一个 Verified Access 组相关联,并继承该组的访问策略。Verified Access 组是 Verified Access 端点和组级别 Verified Access 策略的集合。组简化了策略管理,让 IT 管理员可以设置基准标准。应用程序所有者可以根据应用程序的敏感度进一步定义精细的策略。
在 AWS SRA 中,Verified Access 托管在网络账户中。中心 IT 团队设置集中管理的配置。例如,他们可能会连接身份提供者(例如 Okta)和设备信任提供商(例如 Jamf)等信任提供商,创建组并确定组级别策略。然后使用 AWS Resource Access Manager(AWS RAM),与数十个、数百个或数千个工作负载账户共享这些配置。这让应用程序团队能够管理用于管理其应用程序的底层端点,而无需产生其他团队的开销。AWS RAM 为托管在不同工作负载账户中的企业应用程序提供了一种利用 Verified Access 的可扩展方式。
设计注意事项
-
您可以对具有类似安全要求的应用程序的端点进行分组,以简化策略管理,然后与应用程序账户共享该组。该组中的所有应用程序均共享组策略。如果组中某个应用程序因边缘情况需要特定策略,您可以为该应用程序应用应用程序级别的策略。
Amazon VPC Lattice
Amazon VPC Lattice
VPC Lattice 与 AWS Resource Access Manager(AWS RAM)集成,可实现服务和服务网络的共享。AWS SRA 描述了一种分布式架构,其中,开发人员或服务所有者可在其应用程序账户中创建 VPC Lattice 服务。服务所有者可定义侦听器、路由规则和目标组以及身份验证策略。然后,他们可与其他账户共享服务,并将这些服务与 VPC Lattice 服务网络关联。这些网络由网络管理员在网络账户中创建,并与应用程序账户共享。网络管理员配置服务网络级别的身份验证策略和监控。管理员将 VPCs VPC 莱迪思服务与一个或多个服务网络相关联。有关此分布式架构的详细演练,请参阅 AWS Blog 文章 Build secure multi-account multi-VPC connectivity for your applications with Amazon VPC Lattice
设计注意事项
-
根据贵组织的服务运营模式或服务网络可见性,网络管理员可以共享他们的服务网络,并可以让服务所有者控制其服务以及 VPCs 与这些服务网络的关联。或者,服务所有者可以共享其服务,并且网络管理员可以将服务与服务网络关联。
仅当客户端位于与同一服务网络关联的 VPC 中时,客户端才可以向与该服务网络关联的服务发送请求。遍历 VPC 对等连接或中转网关的客户端流量会被拒绝。
边缘安全
边缘安全通常需要三种类型的保护:安全内容交付、网络和应用层保护以及分布式拒绝服务DDo缓解。数据、视频、应用程序等内容 APIs 必须快速、安全地交付,使用推荐版本的 TLS 来加密端点之间的通信。内容还应通过签名 URLs、签名 Cookie 和令牌身份验证进行访问限制。应用程序级别安全性应设计为控制机器人流量,阻止 SQL 注入或跨站脚本攻击(XSS)等常见攻击模式,并提供 Web 流量可见性。在边缘, DDoS 缓解提供了重要的防御层,可确保关键任务业务运营和服务的持续可用性。 APIs 应保护应用程序和免受 SYN 洪水、UDP 洪水或其他反射攻击,并具有内联缓解措施以阻止基本的网络层攻击。
从核心云到 AWS 网络边缘,AWS 提供多项服务来帮助构建安全环境。亚马逊 CloudFront、AWS Certifice Manager (ACM)、AWS Shield、AWS WAF 和亚马逊 Route 53 共同努力,帮助创建灵活的分层安全边界。借助 Amazon CloudFront APIs,可以通过 HTTPS 交付内容或应用程序,方法是使用 TLSv1 .3 来加密和保护查看者客户端与之间的通信 CloudFront。您可以使用 ACM 创建自定义 SSL 证书
亚马逊 CloudFront
Amazon CloudFront
CloudFront 提供了多种选项来保护和限制对您的内容的访问。例如,它可以通过使用签名 URLs 和签名的 Cookie 来限制对您的 Amazon S3 来源的访问。有关更多信息,请参阅 CloudFront文档中的配置安全访问和限制对内容的访问。
AWS SRA 说明了网络账户中的集中 CloudFront 分配,因为它们与使用 Transit Gateway 实现的集中式网络模式一致。通过在网络账户中部署和管理 CloudFront 分配,您可以从集中控制中受益。您可以在一个地方管理所有 CloudFront 分配,这样可以更轻松地控制访问权限、配置设置和监控所有账户的使用情况。此外,您还可以从一个集中式账户管理 ACM 证书、DNS 记录和 CloudFront日志记录。 CloudFront 安全控制面板可直接在您的 CloudFront 分发中提供 AWS WAF 的可见性和控制。您可以了解应用程序的主要安全趋势、允许和阻止的流量以及机器人活动。您可以使用调查工具(例如可视化日志分析器和内置屏蔽控件)来隔离流量模式并屏蔽流量,无需查询日志或编写安全规则。
设计注意事项
-
或者,您可以在应用程序帐户中 CloudFront 作为应用程序的一部分进行部署。在这种情况下,应用程序团队会做出决策,例如如何部署 CloudFront 发行版,确定适当的缓存策略,并负责 CloudFront分发的治理、审计和监控。通过在多个账户之间 CloudFront 分配分配,您可以从额外的服务配额中受益。另一个好处是,您可以使用 CloudFront固有的自动源访问身份 (OAI) 和源站访问控制 (OAC) 配置来限制对 Amazon S3 来源的访问。
-
当您通过诸如的 CDN 交付网页内容时 CloudFront,必须防止观看者绕过 CDN 直接访问您的原始内容。要实现此源访问限制,在将请求转发到自定义源之前,您可以使用 CloudFront 和 AWS WAF 添加自定义标头并验证标头。有关此解决方案的详细说明,请参阅 AWS 安全博客文章如何使用 AWS WAF 和 AWS Secrets Manager 增强亚马逊 CloudFront 源站的安全
。另一种方法是仅限制与 Application Load Balancer 关联的安全组中的 CloudFront 前缀列表。这将有助于确保只有 CloudFront 分配才能访问负载均衡器。
AWS WAF
AWS WAF
AWS WAF 使用网络访问控制列表 (ACLs) 来保护一组 AWS 资源。Web ACL 是一组规则,用于定义检查标准,以及在 Web 请求满足标准时要采取的关联操作(阻止、允许、计数或运行机器人控制功能)。AWS WAF 提供了一组托管规则
AWS WAF 为常见的定向机器人和账户盗用保护(ATP)提供了一组智能层管理规则。如果使用机器人控制功能和 ATP 规则组,需要支付订阅费和流量检查费。因此,我们建议您首先监控流量,然后再决定要使用的对象。您可以使用 AWS WAF 控制台上免费提供的机器人管理和账户盗用控制面板来监控这些活动,然后决定是否需要智能层 AWS WAF 规则组。
在 AWS SRA 中,AWS WAF CloudFront 与网络账户集成。在此配置中,WAF 规则处理在边缘站点进行,而不是 VPC 内。这可以筛选更靠近请求内容的最终用户的恶意流量,并有助于限制恶意流量进入您的核心网络。
通过配置对 S3 存储桶的跨账户存取权限,您可以将完整的 Amazon WAF 日志发送到日志存档账户中的 S3 存储桶。有关更多信息,请参阅有关此主题的 AWS re:Post 文章
设计注意事项
-
作为在网络账户中集中部署 AWS WAF 的替代方案,在应用程序账户中部署 AWS WAF 可以更好地满足某些应用场景。例如,当您在应用程序账户中部署 CloudFront 分配或拥有面向公众的应用程序负载均衡器时,或者如果您在 Web 应用程序前面使用 Amazon API Gateway,则可以选择此选项。如果您决定在每个应用程序账户中部署 AWS WAF,请使用 AWS Firewall Manager 从集中式安全工具账户管理这些账户中的 AWS WAF 规则。
-
您还可以在 CloudFront 层添加常规 AWS WAF 规则,并在区域资源(例如应用程序负载均衡器或 API 网关)上添加其他特定于应用程序的 AWS WAF 规则。
AWS Shield
AWS Shield
您可以使用 Shield Advanced 自动应用层 DDo S 缓解功能将 Shield Advanced 配置为自动响应,以缓解针对受保护 CloudFront 分布和应用程序负载均衡器的应用层(第 7 层)攻击。启用此功能后,Shield Advanced 会自动生成自定义 AWS WAF 规则来缓解 DDo S 攻击。Shield Advanced 还可让您访问 AWS Shield Response Team(SRT)。您可以随时联系 SRT,为您的应用程序创建和管理自定义缓解措施,也可以在主 DDo动 S 攻击期间。如果您希望 SRT 主动监控您受保护的资源并在尝试 DDo S 时与您联系,请考虑启用主动参与功能。
设计注意事项
-
如果应用程序账户中有面向互联网的资源(例如 Ama CloudFront zon、应用程序负载均衡器或网络负载均衡器)前置的工作负载,请在应用程序账户中配置 Shield Advanced 并将这些资源添加到 Shield 保护中。您可以使用 AWS Firewall Manager 对这些选项进行大规模配置。
-
如果数据流中有多个资源,例如在 Application Load Balancer 前面的 CloudFront 分配,则只能使用入口点资源作为受保护的资源。这样可以确保您不会为两个资源支付两次 Shield 数据传出(DTO)费用
。 -
Shield Advanced 记录了您可以在亚马逊中监控的指标 CloudWatch。(有关更多信息,请参阅 AWS 文档中的 AWS Shield Advanced 指标和警报。) 设置 CloudWatch 警报,以便在检测到 S 事件时向您的安全中心接收 SN DDo S 通知。如果出现可疑的 DDo S 事件,请通过提交支持请求并将其分配为最高优先级来联系 AWS Enterprise Support 团队
。处理该事件时,Enterprise Support 团队会涉及 Shield Response Team(SRT)。此外,您可以预配置 AWS Shield 参与 Lambda 函数,以创建支持工单并向 SRT 团队发送电子邮件。
AWS Certificate Manager
AWS Certificate Manager(ACM)
ACM 在网络账户中用于生成公共 TLS 证书,而 CloudFront 分发又使用该证书在查看者和 CloudFront之间建立 HTTPS 连接。有关更多信息,请参阅 CloudFront 文档。
设计注意事项
-
对于面向外部的证书,ACM 必须与为其预置证书的资源位于同一个账户中。证书无法在账户之间共享。
Amazon Route 53
Amazon Route 53
您可以使用 Route 53 作为 DNS 服务,将域名映射到您的 EC2 实例、S3 存储桶、 CloudFront 分配和其他 AWS 资源。AWS DNS 服务器的分布式特性有助于确保始终如一地将最终用户路由到您的应用程序。Route 53 流量和路由控制等功能可帮助您提高可靠性。如果主应用程序端点不可用,则可将失效转移配置为将用户重新路由到其他位置。53 Route Resolver 通过 AWS Direct Connect 或 AWS 托管 VPN,为 VPC 和本地网络提供递归 DNS。
通过将 AWS Identity and Access Management(IAM)服务与 Route 53 结合使用,您可以精细控制谁可以更新 DNS 数据。您可以启用 DNS 安全扩展(DNSSEC)签名,让 DNS 解析器验证 DNS 响应是否来自 Route 53 且未被篡改。
R@@ oute 53 Resolver DNS 防火墙为来自您的 VPCs出站 DNS 请求提供保护。这些请求通过 Route 53 Resolver 进行域名解析。DNS Firewall 保护的主要用途是帮助防止数据的 DNS 泄露。使用 DNS Firewall,您可以监控和控制应用程序可以查询的域。您可以拒绝对已知不良域的访问,并允许所有其他查询通过。或者,您可以拒绝对除明确信任的域之外的所有域的访问。您还可以使用 DNS Firewall 阻止在私有托管区(共享或本地)中对 VPC 端点名称等资源的解析请求。它还可以阻止对公共或私有 EC2 实例名称的请求。
默认情况下,Route 53 解析器作为每个 VPC 的一部分创建。在 AWS SRA 中,Route 53 在网络账户中使用,主要用于 DNS 防火墙功能。
设计注意事项
-
DNS Firewall 和 AWS Network Firewall 都提供域名筛选,但适用于不同类型的流量。您可以将 DNS Firewall 与 Network Firewall 结合使用,以便通过两个不同的网络路径为应用程序层流量配置基于域的筛选。
-
DNS Firewall 可过滤来自您 VPCs内部应用程序通过 Route 53 解析器的出站 DNS 查询。您还可以将 DNS Firewall 配置为向阻止的域名发送查询的自定义响应。
-
Network Firewall 为网络层和应用程序层流量提供筛选,但无法查看 Route 53 Resolver 所做的查询。
-