保护 AWS 免受大规模访问

保护 AWS 免受大规模访问

我有一台 AWS 机器 Linux 实例 t2.micro,有 200 万个 I/O。

如果我理解正确的话(如果理解不正确请告诉我),200 万次 I/O 意味着免费服务允许您为 200 万次提供服务index.php

我的问题是如何保护我的服务器以避免大量访问和请求?

答案1

首先让我们看看 AWS 对您在此处引用的内容的解释:

https://aws.amazon.com/ec2/pricing/

30 GB 的 Amazon Elastic Block Storage(通用型 (SSD) 或磁性存储的任意组合),外加 2 百万 I/O(使用磁性存储)和 1 GB 的快照存储

这些 I/O 用于直接访问磁盘,并且由于您的 index.php 文件将被缓存并加载到内存中,因此取决于您的 index.php 文件正在执行的操作,它不太可能对您的 I/O 产生影响。

测试和监控您对访问和请求突然激增的担忧的一种方法是运行流行的 Bees with Machine Guns 实用程序 (https://github.com/newsapps/beeswithmachineguns) 在您的 Web 应用程序上,并在 CloudWatch 中监控其影响。默认情况下,CloudWatch 以 5 分钟为增量进行监控,因此请耐心等待;如果您将 CloudWatch 更改为以 1 分钟为间隔进行监控,则需要额外付费,因此请小心。请注意,由于您基本上会对您的实例运行拒绝服务攻击,因此您需要提前获得 AWS 的许可才能运行测试,否则您的 AWS 帐户可能会被暂停。(https://aws.amazon.com/security/penetration-testing

我认为,保护您的服务器免受不必要的流量高峰或全面 DDoS(分布式拒绝服务)攻击的最简单且最便宜的方法是使用 CloudFlare.com 之类的托管服务。当然,您可以使用 Sophos UTM 9 或 Imperva 之类的安全设备,但您需要知道如何配置和维护它,以及额外的小时和许可费用。

AWS 最近宣布了 AWS WAF(Web 应用程序防火墙),但看起来您必须将其与 CloudFront 关联起来。(https://aws.amazon.com/blogs/aws/new-aws-waf

如果您不想使用任何其他工具,那么您将必须持续监控您的 Web 应用程序,并在 VPC 子网上使用虚拟专用网络 (VPC) 和网络访问控制 (NACL) 阻止不需要的请求。虽然这可行,但如果您的网站频繁受到攻击,您可能会发现自己在玩打地鼠游戏。

最后,保护您的网站的最佳方法是使用多层安全措施(又称纵深防御),因此如果您不确定如何做到这一点,我建议您喝一杯咖啡(或两杯)并开始学习 OWASP(开放式 Web 应用程序安全项目)。(www.owasp.org)

相关内容