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

有没有任何防火墙(首选一些免费的:)),可以阻止所有的IP地址,除了从一个特定的位置来的IP地址的通信…

我基本上想阻止我的服务器上的DDOS攻击,它正从我的国家以外的一些IP打到

编辑:我使用1个窗口机器和1个Linux机器

编辑2:我听说有一些组织在印度运行,可以帮助我们做这件事情,所以我认为这是可能的。 他们只过滤来自印度地区的知识产权,并阻止其余部分。

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

但是,根据DoS攻击的types(在这里你恰巧忽略了任何细节),阻止O / Snetworking堆栈级别的stream量不会对你有所帮助。 如果DoS饱和带宽,则需要与上游ISP进行通信,并要求他们进行过滤。

有iptables和Apache的geoip模块,这将允许你黑名单整个国家。 子网映射不是100%准确的,但是它们“非常好”。

这样说,如果你真的得到了DoS(如你的链接饱和),防火墙是不够的, 你的服务器仍然需要咀嚼这些数据包以确定是否应该被阻止。 你需要让你的上游空转你的服务器或者攻击者,如果它是高度分布式的,那么这只是你的提供者的响应和合作的问题。

这个Serverfault的问题有一些关于DDoS缓解的一般技巧 – 有很多东西你可以尝试,但是一个重要的DDoS需要你的ISP提供帮助。

这将有助于了解您在Windows和Linux上使用的Web服务器 – 推测是IIS和Apache。

按照有用性顺序排列的几个选项:

  • 使用Linux内核防火墙(iptables)来阻止–xtables-addons方法很简单,但ipset可以处理大量的IP地址范围。 在Windows上类似的设置。 使用单独的物理防火墙会更好,那么它可以前端Linux和Windows,减less设置和卸载服务器。
  • 在Apache上使用mod_security – 只要在两者上使用Apache,就可能在Windows和Linux上运行。 由于使用GeoIP需要进行相当多的设置才能使GeoIP块保持最新状态,因此一旦configuration完成后,可能会减less整体维护。
  • 使用DNS服务器阻止GeoIP – 确定使用您的域名的偶然DoS。 但是,这对于任何人只是简单地使用你的IP地址给你DOS是没有用的。

在GeoIP屏蔽上看到这个问题,以及ddos和geoip标签(也join到你的问题中)。

对于严重的DDoS,DDoS缓解服务(又名“干净pipe道”服务 )可能是最好的select:它们将您的stream量作为前端,并过滤掉DDoS,只有通过有效的网站stream量,才能过滤掉它们。 他们拥有巨大的pipe道,专注于这个问题,因此可能比内部解决scheme做得更好,而且很大程度上取决于是否有足够大的pipe道来吸收DDoS,以便他们的硬件/软件能够对其进行过滤。 BlockDOS.net是一个价格合理的服务,Prolexic和Verisign是更高端和更昂贵的。

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

您可能想要了解一些DDos清理服务。 基本上,这些服务将采取所有的stream量,洗刷出“坏人”,并向您发送清洁数据。 被警告,根据攻击的大小,这些可能会相当昂贵。 服务器上的防火墙不会有什么帮助,因为它已经到达了你的位置。 你需要把stream量放得更远,这可能会变得复杂。

一些供应商:

大规模持续的DDOS攻击通常涉及攻击你的名字服务器。 这阻止了大众通过域名访问您的网站。 由于DDOS攻击可能使雅虎超过24小时。 您将无法简单地通过阻止软/硬件防火墙中的IP列表来缓解DDOS攻击。