防御 Squid 服务器的 DDoS 攻击

防御 Squid 服务器的 DDoS 攻击

我的 Squid(Ubuntu 13.04 上的 3.1.20)遭受了 DDoS 攻击(大约有 1000 个不同的 IP)。
我在其上使用基本身份验证,所有这些请求都得到了 DENIED 响应,但它们仍然增加了服务器的负载。
我如何防御 Squid 上的 DDoS 攻击?

答案1

将 fail2ban 与 squid 过滤器一起使用怎么样?

有一个配置示例这里

   # Fail2Ban configuration file for squid
   #
   # Author: Jackie Craig Sparks
   #
   # $Revision: 728 $
   #
   [INCLUDES]
   # Read common prefixes. If any customizations available -- read them from
   # common.local
   before = common.conf
   [Definition]
   _daemon = squid
   # Option:  failregex
   # Notes.:  regex to match the password failures messages in the logfile. The
   #          host must be matched by a group named "host". The tag "<HOST>" can
   #          be used for standard IP/hostname matching and is only an alias for
   #          (?:::f{4,6}:)?(?P<host>[\w\-.^_]+)
   # Values:  TEXT
   #
   failregex =  \d{0,10}.*\d{0,3}\ .* \ \d <HOST> TCP_DENIED\/407 .*$
   # Option:  ignoreregex
   # Notes.:  regex to ignore. If this regex matches, the line is ignored.
   # Values:  TEXT
   #
   ignoreregex =

答案2

如果您能够将 Squid 配置为仅绑定到本地主机并从 SSH 隧道(或通过 VPN,如果可以的话)访问它,那么您将把攻击面更改为对性能影响较小的东西。我会使用 iptables 对通过 SSH 访问它的传入 SSH 连接进行速率限制(实际上,这正是我对自己的 Squid 缓存所做的)。

相关内容