我们刚刚在 IIS 服务器上部署了一个新的 asp.net 网站。现在我们开始收到大量带有标头的请求
Amazon+Route+53+Health+Check+Service;+ref:<code>;+report+http://amzn.to/1vsZADi
我们没有设置任何健康检查,也没有使用亚马逊服务。有趣的是,所有请求都不是发往域,而是发往 ip。
我们已经在此处提交了停止这些检查的请求https://aws.amazon.com/forms/route53-unwanted-healthchecks现在正在等待回复。
我们最初的想法是当用户代理匹配字符串时发送 403。Amazon+Route+53+Health+Check+Service
但似乎这不会停止检查:http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/health-checks-creating.html
有其他人遇到过这种情况吗? 有什么方法可以阻止这些请求吗?
编辑1:到目前为止(10 天)亚马逊还没有做出任何回应,健康检查仍在进行中。我会尝试阻止 IP 范围(请参阅下面的答案)以查看它会在哪里爆发。
答案1
我完全有信心 AWS 会响应您的请求并取消检查。显然,在请求中建立报告机制的提供商不会对不澄清事实感兴趣。
是的,您应该将网站配置为响应失败,但主要原因是,当检查开始失败时,这可能会引发那些无意中针对您的 IP 地址配置它们的人的调查。当系统不健康时,它们用于从 DNS 中删除系统。
如果您想按 IP 范围阻止它们,这些范围是公开信息。从可从以下链接免费下载的 JSON 文件(标记为 )中找到 CIDR 块ROUTE53_HEALTHCHECKS
。您应该会发现所有请求都来自此范围。
http://docs.aws.amazon.com/general/latest/gr/aws-ip-ranges.html
您还可以借此机会调查为什么您的应用程序如此容易受到如此少量的流量的 DDoS 攻击(如果这种情况确实发生了)...尽管我从问题中怀疑您并不是真的意味着它正在关闭您的服务器,而是您看到来自多个源地址的大量意外流量,就像在真正的 DDoS 攻击中也会发生的那样。
答案2
总结CloudFlare 正在创建健康检查请求。
正如上面的答案所建议的,我阻止了所有对 Amazon Health Check IP 范围的请求,并设置为返回 404。
然而,日志现在显示返回了 302 代码(以前是 200)。似乎显示的是网站的缓存版本。过了一会儿,我意识到我们所有的域名都是通过 CloudFlare 管理的,出于某种原因,这个域名被设置为“由 CloudFlare 加速和保护”。
解决方案是在 CloudFlare DNS 设置中禁用此特定域的 CloudFlare,并且所有健康检查请求都已停止。
现在我们知道 CloudFlare 使用 Amazon 进行健康检查,我们再次启用了 CloudFlare。