安全性 - AWS 上的分布式负载测试

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

安全性

当您在 AWS 基础设施上构建系统时,安全责任由您和 AWS 共同承担。这种分担责任模式减轻了您的运营负担,因为 AWS 运营、管理和控制包括主机操作系统、虚拟化层和服务运行设施的物理安全在内的组件。有关 AWS 安全的更多信息,请访问 AWS 云安全

IAM 角色

AWS Identity and Access Management (IAM) 角色允许客户向 AWS 云上的服务和用户分配精细的访问策略和权限。此解决方案创建 IAM 角色,这些角色向解决方案的 AWS Lambda 函数授予创建区域资源的访问权限。

Amazon CloudFront

此解决方案部署了托管在 Amazon S3 存储桶中的网页用户界面,该存储桶由亚马逊 CloudFront分发。为了帮助减少延迟和提高安全性,该解决方案包括一个具有原始访问身份的 CloudFront 分发,即提供对解决方案网站存储桶内容的公开访问权限的 CloudFront 用户。默认情况下,该 CloudFront 发行版使用 TLS 1.2 来强制执行最高级别的安全协议。有关更多信息,请参阅《亚马逊 CloudFront 开发者指南》中的限制对 Amazon S3 来源的访问

CloudFront 激活其他安全缓解措施,将 HTTP 安全标头附加到每个查看者响应中。有关更多信息,请参阅在 CloudFront 响应中添加或删除 HTTP 标头

此解决方案使用默认 CloudFront 证书,其支持的最低安全协议为 TLS v1.0。要强制使用 TLS v1.2 或 TLS v1.3,必须使用自定义 SSL 证书而不是默认 CloudFront 证书。有关更多信息,请参阅如何将我的 CloudFront 发行版配置为使用 SSL/TLS 证书

AWS Fargate 安全组

默认情况下,此解决方案向公众开放 AWS Fargate 安全组的出站规则。如果您想阻止 AWS Fargate 向任何地方发送流量,请将出站规则更改为特定的无类域间路由 (CIDR)。

该安全组还包括一条入站规则,允许端口 50,000 上的本地流量流向属于同一安全组的任何来源。这用于允许容器相互通信。

网络 stress test

根据网络压力测试政策,您有责任使用此解决方案。本政策涵盖了诸如您计划将大量网络测试直接从您的亚马逊 EC2 实例运行到其他位置(例如其他亚马逊实 EC2 例、AWS 属性/服务或外部终端节点)的情况。这些测试有时被称为压力测试、负载测试或比赛日测试。大多数客户测试不属于本政策的范围;但是,如果您认为自己产生的流量总共将持续超过 1 分钟、超过 1 Gbps(每秒 10 亿位)或超过 1 Gpps(每秒 10 亿个数据包),则请参阅本政策。

限制对公共用户界面的访问

要在 IAM 和 Amazon Cognito 提供的身份验证和授权机制之外限制对面向公众的用户界面的访问,请使用 AWS WAF(网络应用程序防火墙)安全自动化解决方案。

此解决方案会自动部署一组 AWS WAF 规则,用于过滤常见的基于 Web 的攻击。用户可以从预配置的保护功能中进行选择,这些功能定义了 AWS WAF Web 访问控制列表 (Web ACL) 中包含的规则。