如何防止 LOIC (DDOS) 攻击?

9 networking security ddos

LOIC 程序(最近几天经常出现在新闻中)造成了很大的破坏。我可以在我的服务器上做些什么来防止这种攻击?收到奇怪的连接时自动阻止 ip?因为大多数情况下它将是单个用户。

是否已经有解决方案?

sys*_*138 16

这个主题的 ISC SANS日记条目中,其中一个评论中有一个非常强烈的线索。

通过暗纤维:

我曾经与一个不断受到匿名及其 LOIC 工具攻击的组织合作。缓解这些 DoS 攻击非常容易,因为它们不是特别占用带宽。简单地限制防火墙每个间隔每个 IP 的连接就足以阻止攻击。我相信正确配置的检查点能够完全检测和删除这些攻击。但是收听他们的 IRC 频道是保持领先这一群体的最佳方式。攻击者通常不会在开火前广播他们的目标和向量。


Sea*_*der 11

为了通过源 IP 限制流量,根据@sysadmin1138 的说法,有一个很棒的 iptables 模块,称为“hashlimit”。这是一组规则示例:

iptables -A INPUT -p tcp --dport 80 -m hashlimit --hashlimit-upto 50/min \
    --hashlimit-burst 500 --hashlimit-mode srcip --hashlimit-name http -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j DROP
Run Code Online (Sandbox Code Playgroud)

这样做是允许最多 500 个数据包(不是连接,因为 HTTP 可以为每个连接执行多个事务,您必须考虑是要对所有数据包还是仅对 SYN 数据包执行此操作)。如果超过 500/min,它将把它降低到 50/min,直到速率下降。超出这些限制的任何东西都会得到 DROP。

尽管通常您希望将一些 IP 列入白名单,因此您可能希望创建一个表并跳转到该表,如果它是端口 80,然后将您的白名单规则放在那里,最后删除。这样,非 HTTP 数据包就不会检查那些白名单规则,您可以让多个服务都调用该白名单规则集。

此外,您可能希望启用SYN cookie,这样如果 DoS 发送 SYN 数据包,它对您的系统的影响就很小。