模块 4:保护基础设施和数据
保护您的网络
要建立到您 VPC 的外部连接,您需要使用互联网网关。互联网网关是一种横向扩展、支持冗余且高度可用的 VPC 组件,支持 VPC 中的实例与互联网之间的通信。
支持的 IP 地址类型
AWS 会在您的实例启动期间为其分配 IP 地址。它可以为实例分配两种类型的地址。
要了解更多信息,请分别展开以下两个类别。 私有 IP 私有 IP 地址无法通过互联网访问,但可用于您的 VPC 中的实例之间的通信。您可以为每个弹性网络接口配置多个私有 IP 地址。
公有 IP 公有 IP 地址可通过互联网访问,并可用于实例与互联网之间或与其他具有公共终端节点的 AWS 服务之间的通信。
Amazon VPC
Amazon VPC 可让您在 AWS 云中预置一个在逻辑上隔离的部分,让您在自己定义的虚拟网络中启动资源。您可以完全掌控您的虚拟联网环境,包括选择自己的 IP 地址范围、创建公有和私有子网以及配置路由表和网络网关。
此外,您也可以在企业数据中心和 VPC 之间创建硬件虚拟专用网络 (VPN) 连接,并将 AWS 云用作企业数据中心的扩展。
您可以轻松自定义 Amazon VPC 的网络配置。例如,您可以为可访问互联网的 Web 服务器创建公有子网,而将数据库或应用程序服务器等后端系统放在不能访问互联网的私有子网中。
Amazon VPC 组件
Amazon VPC 由多个不同的对象组成,拥有现有网络的客户对这些对象并不陌生。Amazon VPC 内的安全功能包括安全组、网络访问控制列表 (ACL)、路由表和子网以及弹性负载均衡 (ELB) 设备。
弹性负载均衡 (ELB) 在多个目标(例如 Amazon EC2 实例、容器、IP 地址和 AWS Lambda 函数)之间自动分配传入的应用程序流量。
使用子网路由,您可以根据您的安全和运维需求对实例和 AWS 资源进行分组。子网还允许您为网络配置路由。
通过隔离实现保护
基础设施保护可以确保工作负载内的系统和资源受到保护,防止意外和未经授权的访问以及其他潜在的漏洞。Amazon VPC 可让您在云中隔离 AWS 资源。VPC 使您能够将资源启动到您定义的虚拟网络中,该虚拟网络与您将在自己的数据中心运行的传统网络非常类似。
下图显示了最常见的 VPC 功能,这些功能可以为您的资源提供深度防御方法。 要了解更多信息,请选择每个带编号的标记。
安全组和弹性网络接口
安全组与 AWS 弹性网络接口关联。弹性网络接口是可以连接到 VPC 中的实例的虚拟接口。它是一个代表虚拟网卡的逻辑联网组件。启动实例之后,您可以更改与该实例关联的安全组,从而更改与主弹性网络接口关联的安全组。您还可以更改与实例上的任何其他弹性网络接口关联的安全组。这意味着,如果一个实例有多个弹性网络接口,则同一个实例可以属于多个安全组。
例如,假设一个具有两个弹性网络接口的实例遭到攻击。您可以通过修改其安全组禁止其主弹性网络接口与其他实例通信,并让另一个弹性网络接口与取证实例通信。如果需要执行内存转储或类似操作,则可访问遭到攻击的实例。
最佳实践
通过应用保护层来保护您的数据。如果一个层出现故障,则使用剩余层提供保护。考虑实施以下措施来保护您的网络:
• 控制所有层的流量
• 实施检查并在应用程序级别筛选流量
• 自动执行网络保护
• 限制公开
边缘安全性
AWS Web Application Firewall
在面向 Web 的工作负载的安全性和威胁防护方面,AWS 上的环境可以使用多项旨在提供保护和高可用性的服务。AWS WAF 是一款 Web 应用程序防火墙,可帮助检测并阻止针对 Web 应用程序的恶意 Web 请求。AWS WAF 可让您创建规则以根据多个条件筛选 Web 流量。
AWS WAF 规则和规则组
AWS WAF 规则是此服务保护您的资源的核心所在。规则包含定义检查标准的条件的语句,还包含在 Web 请求满足条件时要执行的操作。当 Web 请求满足条件时,这是一个匹配。您可以使用规则阻止匹配的请求或允许匹配的请求通过。您也可以仅使用规则对匹配的请求进行计数。AWS WAF 同时支持托管规则和自定义规则。
此处显示的 Web ACL 包含两个自定义规则,让您可以手动插入要阻止的 IP 地址(拒绝列表)或要允许的 IP 地址(允许列表)。它还包含一个由两条规则组成的托管规则组。HTTP 泛洪规则可以防止由来自特定 IP 地址的大量请求构成的攻击(例如 Web 层 DDoS 攻击或暴力登录尝试)。SQL 注入规则旨在防止统一资源标识符 (URI)、查询字符串或请求正文中的常见 SQL 注入模式。
DDos缓解
DDoS 攻击
拒绝服务 (DoS) 攻击的特征是攻击者会明确企图阻止合法使用服务,这可以通过暂时或无限期中断连接到互联网的主机的服务来实现。拒绝服务通常是通过向目标机器或资源发送过量请求来完成的。
分布式拒绝服务 (DDoS) 是一种 DoS 攻击,其中攻击者使用多个唯一的 IP 地址,向目标机器或资源发送来自许多不同来源的传入流量。
边缘保护
您可以结合使用各种 AWS 服务来实施深度防御策略。这些服务能够自动响应 DDoS 攻击,有助于最大限度地缩短攻击时间,从而缓解和减轻攻击的影响。AWS 边缘站点提供额外的网络基础设施层,可提高您吸收 DDoS 攻击的能力,并在隔离故障的同时将对可用性的影响最小化。
AWS 全球网络在世界上 40 个国家/地区的 80 多个城市中拥有 400 多个边缘站点,包括区域性边缘缓存站点。有关边缘站点的更多信息(包括边缘站点所在城市的列表),请参阅 AWS 全球基础设施(opens in a new tab)。
边缘站点是分布在重要城市的物理数据中心,它们不同于可用区。由于随着时间的推移,对特定数据的访问会增多,这些数据将被复制到客户群附近的边缘站点,从而提高性能和减少延迟。然后可以在这些边缘站点处理威胁,远离您的 Web 应用程序、AWS 资源和原始数据。
AWS Shield
AWS Shield 是专为应对 DDoS 攻击而构建的托管服务。AWS Shield 支持持续检测和自动内联缓解功能,可以最大限度地缩短应用程序停机时间和减少延迟。它可以自动为 AWS 上运行的 Web 应用程序提供保护,帮助抵御最常见、频繁出现的基础设施层攻击(例如 UDP 泛洪)和状态表耗尽攻击(例如 TCP SYN 泛洪)。您可以将 AWS Shield 与 AWS WAF 结合使用,以抵御 HTTP POST 或 GET 泛洪等应用程序层攻击,从而进一步增强 DDoS 防护。
AWS Shield Standard 自动为所有 AWS 客户启动,无需额外付费,但您也可以使用 AWS Shield Advanced,这是一项可选的付费服务。
Shield Advanced 是一项托管服务,它基于您在 Shield Advanced 中或通过 AWS Firewall Manager Shield Advanced 策略指定的资源,专门针对您的应用程序的需求构建自定义的 DDoS 防护功能。Shield Advanced 可以部署在 AWS 边缘站点,根据您的特定流量模式进行定制检测,以抵御第 7 层 DDoS 攻击。 Shield Advanced 提供来自 Shield 响应团队 (SRT) 的全天候专业支持。它还通过 AWS Firewall Manager 来集中管理安全策略,并提供成本保护,以防止 DDoS 相关的使用高峰所导致的扩展费用。
保护计算资源
Amazon EC2 和 AMI
亚马逊机器映像 (AMI) 提供启动 EC2 实例所需的信息。它还包含使用您的软件启动实例所需的所有信息。例如,AMI 可能包含创建 Web 服务器所需的操作系统和所有软件(Linux、Apache 和您的网站)。或者,它可能包含充当 Hadoop 节点所需的软件(Linux、Hadoop 和自定义应用程序)。您可以在启动实例时指定 AMI,还可以根据需要通过同一 AMI 启动任意数量的实例。
AMI 包括以下内容:
一个或多个 Amazon Elastic Block Store (Amazon EBS) 快照 一个用于根卷的模板 启动许可 一个块储存设备映射 AMI 可用于创建实例;但更重要的是,它们可以用于确保实例合规且满足安全要求。您的 AMI 可以在一个 AWS 区域内共享或者复制到另一个区域,确保您的独特需求可以在 AWS 全球基础设施中得到满足。除了操作用途之外,通常使用特定的 AMI 进行事故响应取证。
通过 AMI 创建的实例的安全性取决于该 AMI,因此在构建自定义 AMI 时,您应该考虑:
软件包和更新 密码策略 Secure Shell (SSH) 密钥 文件系统权限和所有权 文件系统加密 用户和组配置 访问控制设置 持续监控工具 防火墙规则 正在运行的服务
Amazon Inspector
Amazon Inspector 可以帮助您在部署资源前以及在生产环境中运行资源时,识别其中的安全漏洞以及偏离安全最佳实践的情况。您可以为应用程序定义标准和最佳实践,并验证是否遵守了这些标准,以便在安全问题影响生产应用程序之前主动管理安全问题。
Amazon Inspector 的优势
Amazon Inspector 提供自动、连续的安全评估,有助于提高工作负载的安全性与合规性。该服务会近乎实时地评估应用程序的漏洞以及偏离最佳实践的情况。对于评估生成的结果,您可以直接查看或在通过 Amazon Inspector 控制台或 API 提供的详细评估报告中查看,也可以导出查看。
要了解更多信息,请分别展开以下三个类别。
自动安全评估
借助 Amazon Inspector,您可以自动评估 AWS 资源的安全性,以便进行取证、故障排除或主动审计。您可以在基础设施开发过程中执行此操作,也可以在稳定的生产环境中定期执行此操作。通过将基础设施的整体安全评估交给此自动化服务完成,您可以专注于更复杂的安全问题。
Amazon Inspector 是一项 API 驱动型服务,可在使用广泛部署的 SSM Agent 查看 EC2 实例的情况的同时,分析您的 AWS 账户中的网络配置。因此您可以通过使漏洞评估分散化和自动化,将 Amazon Inspector 评估构建到现有的 DevOps 流程中。此外,您还可以让您的开发和运营团队将安全评估作为部署流程的组成部分。Amazon Inspector 使用内置的 AWS 安全知识库来加强您的应用程序、服务和基础设施。Amazon Inspector 结果报告为您提供解决所有已发现问题的具体步骤。
充分利用安全知识
软件包漏洞
软件包漏洞结果识别您的环境中暴露于常见漏洞和风险的软件包。攻击者会利用这些未修补的漏洞来损害数据的机密性、完整性或可用性或者访问其他系统。CVE 系统是一种针对众所周知的信息安全漏洞和风险的参考方法。软件包漏洞结果针对 EC2 实例和 Amazon ECR 容器映像生成。有关更多信息,请参阅“MITRE CVE List”网站。
网络可访问性
网络可访问性结果指示您的环境中存在允许连接到 EC2 实例的网络路径。当您的 TCP 和 UDP 端口可以从 VPC 边缘访问时,将会显示这些结果。示例包括互联网网关(包括 Application Load Balancer 或 Classic Load Balancer 后面的实例)、VPC 对等连接或通过虚拟网关的 VPN。这些结果特别指出了可能过度宽松的网络配置(例如管理不当的安全组、ACL 或互联网网关),或者可能允许潜在恶意访问的网络配置。网络可访问性结果仅针对 Amazon EC2 资源生成。
Amazon Inspector 完成资源评估后,结果的 Details(详细信息)选项卡将包含结果的基本识别功能,包括以下信息:
概览 – 拥有受影响资源的账户的 ID、结果严重性、漏洞类型以及上次检测到结果的时间 受影响的软件包 – 受结果影响的软件包的名称、版本和软件包管理器 漏洞详细信息 – 指向结果的 NVD 列表的链接、结果的严重性分数和评分详细信息(有关严重性评分的更多详细信息,请参阅 Amazon Inspector 结果的“严重性级别”。) 相关漏洞 – 与结果相关的其他漏洞•受影响的资源 – 受此结果影响的资源的相关信息,例如资源 ID 和类型 标签 – 与资源相关的标签 修复 – 简要描述修复结果的建议操作
接收处理安全结果的指南
Amazon Inspector 结果是在对您的评估目标进行评估期间发现的潜在安全问题。结果将显示在 Amazon Inspector 控制台中或通过 API 显示,其中包含安全问题的详细描述以及有关如何解决这些问题的建议。这些结果通过增强的风险评分和改进的资源详细信息进行了总结,可以帮助您确定必须解决的风险最大的资源的优先级。
Amazon Inspector 评估报告是一份详细说明评估中测试的内容和评估结果的文档。您可以存储报告,与您的团队共享它们以作为修复措施,或使用它们补充您的合规性审计数据。您可以在运行成功完成之后生成评估报告。
Amazon Inspector 示例工作流
作为 AWS 构建的服务,Amazon Inspector 旨在交换数据并与其他核心 AWS 服务交互,这样不仅可以识别潜在的安全结果,还可以自动解决这些问题。将 Amazon Inspector 与 AWS Lambda 和 Amazon Simple Notification Service (Amazon SNS) 等其他服务结合使用,可以自动执行某些安全任务。例如,您可以使用 Lambda 构建事件驱动型安全自动化解决方案,对 EC2 实例采取行动,以响应 Amazon Inspector 结果,从而通过近乎实时的方式确保您的 AWS 环境安全。
要了解更多信息,请选择每个带编号的标记。