阻止来自 IP 地址列表的所有通信

阻止来自 IP 地址列表的所有通信

是否有任何防火墙(最好是免费的:))可以阻止来自所有 IP 地址的所有通信,除了来自特定位置的某些 IP...

我基本上想阻止对我的服务器的 DDOS 攻击,它正在受到来自国外一些 IP 的攻击

编辑:我使用 1 台 Windows 机器和 1 台 Linux 机器

编辑2:我听说印度有一家组织在帮助我们做这件事,所以我认为这是可能的。他们只过滤来自印度地区的 IP,并阻止其余的 IP。

答案1

你没有提到你的操作系统。Linux 有netfilter/iptables,Net/Open/FreeBSD 有普法,Windows Server 2008 R2 具有高级安全 Windows 防火墙它可以很容易地根据源 IP 地址过滤流量。没有什么但是,它将能够(可靠地)根据地理位置进行过滤。

但根据 DoS 攻击的类型(您恰好在这里省略了任何细节),在 O/S 网络堆栈级别阻止流量对您没有帮助。如果 DoS 占用了您的带宽,您需要与上游 ISP 联系并要求他们进行过滤。

答案2

iptables 和 Apache 都有 geoip 模块,可让您将整个国家列入黑名单。子网映射并非 100% 准确,但“相当不错”。

话虽如此,如果您确实遭受了 DoS 攻击(例如您的链接已饱和),防火墙将不够用;您的服务器仍然需要仔细检查这些数据包,以确定是否应该阻止它们。您需要让上游对您的服务器或攻击者进行空路由 - 如果它高度分散,那么这实际上只是您的提供商的响应能力和合作能力的问题。

答案3

这个 Serverfault 问题对 DDoS 缓解有一些很好的一般性建议 - 您可以尝试很多方法,但正如所提到的,严重的 DDoS 攻击需要 ISP 的帮助。

了解您在 Windows 和 Linux 上使用的 Web 服务器(大概是 IIS 和 Apache)会有所帮助。

以下是按实用性降序排列的几个选项:

  • 使用 Linux 内核防火墙(iptables)阻止 - xtables-addons 方法很简单,但 ipset 可以处理大量 IP 地址范围。Windows 上的设置类似。使用单独的物理防火墙会更好,这样它就可以同时作为 Linux 和 Windows 的前端,从而减少设置并减轻服务器的负担。
  • 在 Apache 上使用 mod_security- 只要您在 Windows 和 Linux 上使用 Apache,这就可以跨 Windows 和 Linux 运行。由于使用 GeoIP 需要进行大量设置才能使 GeoIP 块保持最新,因此配置完成后这可以减少总体维护。
  • 使用 DNS 服务器阻止 GeoIP- 对于使用您的域名进行临时 DoS 攻击,这是可以的。但是对于任何仅使用您的 IP 地址对您进行 DOS 攻击的人,这毫无用处。

关于 GeoIP 阻止的这个问题以及标签(也添加到您的问题中。)

DDoS 缓解服务(又称“清洁管道”服务) 可能是应对严重 DDoS 攻击的最佳选择:它们将您的流量置于前端并过滤掉 DDoS,只留下有效的网站流量,具体取决于它们的过滤效果。它们拥有庞大的管道,并专注于解决此问题,因此可能比内部解决方案做得更好,而且很大程度上取决于是否拥有足够大的管道来吸收 DDoS,以便他们的硬件/软件可以过滤它。 BlockDOS.net是一种价格合理的服务,Prolexic 和 Verisign 则更高端,而且价格昂贵得多。

如果这太昂贵,重新托管到 Amazon EC2 可能会有所帮助,它可以通过特定的 EC2 实例(如 VPS)路由所有流量 - 有一个特定 AMI(VPS 映像)旨在为您的 Web 服务器提供前端服务,这些服务器将位于单独的 EC2 实例上。Amazon EC2 还可以启动新的服务器实例来处理增加的负载。您可能仍需要为 DDoS 流量付费(可能比缓解服务的费用还高),并且需要为额外的服务器付费,因此这需要进行一些调查。其他云 VPS 提供商可能有更好的 DDOS 策略或内部 DDoS 缓解服务。

答案4

大规模持续性 DDOS 攻击通常涉及攻击您的名称服务器。这会阻止公众通过域名访问您的网站。因为 DDOS 攻击可以让 Yahoo 瘫痪超过 24 小时。您无法仅通过在软件/硬件防火墙中阻止 IP 列表来缓解 DDOS 攻击。

相关内容