amazon-web-services - CloudFront 可以保护 EC2 服务器免受 DDOS 攻击吗?

标签 amazon-web-services amazon-ec2 ddos

我正在为 EC2 实例上的 Web 应用程序维护一个嵌入式数据库。由于这个中央服务器是单线程的,它很容易受到 DDOS 的攻击(即使是非分布式攻击也会削弱它)。

AWS 为其 CDN CloudFront 提供了 DDOS 保护,所以我想知道是否可以使用 CloudFront 作为我的 EC2 实例周围的间接层来进行 DDOS 保护。

问题在于如何有效地防止用户绕过 CloudFront 并直接访问服务器。我的问题:

  • 用户是否能够跟踪网络路径以获取我的 EC2 实例的 IP,或者他们只能看到 Cloudfront 的 API url?
  • 如果流量不是通过 Cloudfront 来的,有没有办法阻止流量到达我的 EC2 实例?我看到有一个选项可以从 Cloudfront 发送自定义原始 header ,但这并不能解决问题——我仍然需要处理我的 EC2 实例中的每个请求。有没有办法为我的服务器配置输入规则以防止它处理非 Cloudfront 请求?

  • 我对网络架构和安全性的思考是新手,所以任何和所有的建议都值得赞赏!

    最佳答案

    AWS Shield Standard自动且透明地包含在 Amazon CloudFront 分配中,提供,

  • 具有网络流量监控和自动始终在线检测的主动流量监控。
  • 攻击缓解,防止常见 DDoS 攻击(例如 SYN 洪水、ACK 洪水、UDP 洪水、反射攻击)、自动内联缓解,您可以结合使用 AWS WAF 来缓解第 7 层攻击。

  • 为防止用户绕过 CloudFront 并直接访问您的 EC2 实例,您可以使用将 AWS CloudFront IP 地址列表列入白名单的安全组。由于此列表可能会更改,因此您可以设置一个 Lambda 函数,以便在 AWS 更改 CloudFront IP 后自动更新它。有关这方面的更多信息,请参阅文章 How to Automatically Update Your Security Groups for Amazon CloudFront and AWS WAF by Using AWS Lambda .

    如果您使用的是 Application Load Balancer,则可以将 header 列入白名单并将其添加到 CloudFront 源,以便仅在 header 存在时才接受请求。 (这也可以添加到 Web 服务器 header 白名单中,但 HTTP 请求将仅在您明确标识的 Web 服务器级别被拒绝)。

    此外,您可以在 rate limiting 中包含 AWS WAF 配置(在 ALB 或 CloudFront,无论您用作外部接口(interface))。以防止任何易于设置且具有成本效益的滥用。

    关于amazon-web-services - CloudFront 可以保护 EC2 服务器免受 DDOS 攻击吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51181343/

    相关文章:

    amazon-web-services - AWS SAM 模板 - 设置集成响应映射模板

    mysql - AWS 2x.large 服务器 Apache 和 Mysql 配置没有很好地利用 CPU 和内存

    ssl - 在指向 EC2 实例的子域上使用 SSL

    linux - 如何使用 iptables 调节输出流量

    python - 当我的 python ddos​​ 脚本运行时出现错误

    amazon-web-services - DynamoDB LastEvaluatedKey 在内部是如何工作的?

    python - AWS Lambda 在 S3 存储桶上触发到 Neptune "Failed to start new load for the source"

    node.js - EC2实例上的Node js应用程序-域名

    ubuntu - 无法从 S3 下载文件

    java - 使用 IP 地址防御 DDOS websocket