有人来自中国想要杀死我的入口带宽?

有人来自中国想要杀死我的入口带宽?

来自中国的某人使用两个不同的 IP 从我的服务器下载同一个大文件。他们的 IP 是:

  • 122.89.45.210
  • 60.210.7.62

他们每分钟请求并下载此文件超过 20 次。

我该怎么做才能防止这种情况发生?(我在 gentoo 上有 root 访问权限)

为什么他们要对一个与中国毫不相关的网站这样做呢?

添加1:

其他 IP:

  • 221.8.60.131
  • 124.67.47.56
  • 119.249.179.139
  • 60.9.0.176

添加2:

愚蠢的是他们只要求一个文件,哈哈。或者他们想删除那个文件(虽然我不明白为什么)或者他们很愚蠢

添加3:

情况越来越糟了。IP 也从其他国家传播开来(如果 www.geobytes.com/iplocator.htm 是正确的,那么就是美国和韩国)现在他们正在请求另一个文件。

添加4:

看来他们意识到我删除了那个文件后就不再攻击我了。我会监视情况。

他们在休眠 3-4 分钟后再次启动了同一个文件(我很幸运)。很难说为什么会发生这种情况

答案1

只需 2 个 IP 地址...您可以使用 iptables 轻松阻止 IP

iptables -I 输入 -s 122.89.45.210 -j DROP
iptables -I 输入 -s 260.210.7.62 -j DROP

编辑

由于 IP 地址数量不断增长,您可能需要考虑采取一些更激进的措施。您是否需要为中国 IP 地址提供服务?如果没有,您可以尝试使用以下网站来帮助封锁整个国家。只需将结果放入您的 .htaccess 文件中:

http://www.blockacountry.com

另一次编辑

所有请求是否还有其他共同点?用户代理是否相同?这很容易帮助阻止攻击。

答案2

我不知道您的服务器上使用的是哪种操作系统,但我猜是 UNIX(Debian、Ubuntu、Slackware 等)发行版。
保护自己免受 DoS 攻击的简单方法是安装 Fail2Ban(http://www.fail2ban.org/wiki/index.php/Main_Page)。它易于安装和使用。我使用它来保护 SSH,因为我遭受了大量 ssh dos 攻击。该程序会扫描日志文件并检查重复消息(即登录失败、像您这种情况的多次连接)。

您必须对其进行一些调整才能正确读取 Web 服务器的日志文件。如果您能够做到这一点,您可以限制访问 - 即,您可以将 1 ip 在 1 秒内尝试 GET 请求的次数限制为 50 次。达到阈值后,IP 地址将被禁止 X 次。这将帮助您节省带宽,并且不必担心此攻击是否来自其他地址。

希望这对你有帮助:)


编辑1:

我记得 apache 有一个模块可以限制这些事情 - mod_evasive。我个人从未使用过它,但很多人称它为“好东西”。我为你找到了一个教程,可能会对你有所帮助 -http://www.mydigitallife.info/2007/08/15/install-mod_evasive-for-apache-to-prevent-ddos-attacks/ 检查一下,看看它是否能满足您的需求。

答案3

您需要做的是联系您的上游提供商。大多数攻击都会对向您发起的 DDoS 攻击进行空路由;至于美国 IP,会向他们的 ISP 传达这些 IP 正在攻击您,他们通常会与客户交谈,而客户通常是机器人,负责发现您的问题,这就是为什么攻击主要来自亚洲国家。

答案4

iptablesipset来救援!

首先,创建一个 IP 集:

ipset -N Attackers iphash
for ip in $LIST_OF_IP; do ipset -A Attackers $ip; done

接下来制定规则:

iptables -t raw -I PREROUTING -m set --match-set Attackers src -j DROP

或者,如果你感觉邪恶:

iptables -t raw -I PREROUTING -m set --match-set Attackers src -g trap_attackers
iptables -t raw -A trap_attackers -j NOTRACK
iptables -t raw -A trap_attackers -j ACCEPT
iptables -I INPUT -m conntrack --ctstate UNTRACKED -j TARPIT

每当有新的攻击者时,将其 IP 添加到集合中:

ipset -A Attackers a.b.c.d

-m match上述操作可以通过使用、-m recent和的组合来实现自动化-j SET,例如-m match --string "GET http://url/to/offending/file" -m recent --seconds 60 --hitcount 2 -j SET --add-set Attackers src

笔记:确保对raw表、ipset和的支持TARPIT都已编译到您的 Gentoo 内核中(或作为模块)。

相关内容