被僵尸networking打击; iptables跟不上

Fructis是一个具有2个核心和6G RAM的多站点(和多软件)VM(Xen)。

它承载stream行的Drupal和Wordpress网站,目前正在受到重创。 我会把下面的所有细节。

  1. 我一直在阻止IP,但似乎有一个非常积极的机器人networking,大部分更改IP比我可以阻止他们更快

  2. 我已经更新Drupal,但所有的WordPress的网站不一定是我pipe理。

  3. 我已经为TS启用了日志,但他们似乎没有帮助

  4. 也许答案是理解最近/现在哪些types的机器人攻击是常见的? 为此, http://www.webmasterworld.com/home.htm可能会提供有用的信息

细节:

root@fructis:/home/nrogara# w 09:28:05 up 10 days, 1:55, 2 users, load average: 31.10, 30.61, 32.31 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT nrogara pts/0 c-24-7-67-188.hs Wed13 1:01m 0.18s 0.00s sshd: nrogara [priv] nrogara pts/1 142-254-1-80.dsl 09:00 5.00s 0.06s 0.01s sshd: nrogara [priv] root@fructis:/home/nrogara# !net netstat -tn 2>/dev/null | grep :80 | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr | head 12 72.37.249.84 12 162.243.193.98 7 91.207.5.157 7 74.73.126.40 4 184.73.22.102 3 94.102.49.35 3 199.255.208.91 3 195.211.154.155 3 174.21.231.10 3 108.62.154.15 

(再2分钟后)

 root@fructis:/home/nrogara# netstat -tn 2>/dev/null | grep :80 | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr | head 10 95.26.128.85 6 67.170.85.225 5 195.2.240.106 4 24.7.67.188 4 216.246.184.159 3 206.51.125.66 2 91.122.6.86 2 79.143.187.214 2 72.46.156.116 2 50.115.172.177 

你显然无法跟上这种攻击手段 。 如果他们有这么多的IP地址,这是行不通的。

你分析过机器人在做什么 ? 他们是否试图发送垃圾邮件? 刮你的网页内容? 尝试DDoS?

前段时间,我开发了一个工具来处理在应用程序级别上与此不同的工具。 不良行为分析HTTP请求中的元数据,以确定请求是否可能是垃圾邮件发送者或其他攻击者,并在绑定执行Web应用程序的任何资源之前,用403错误阻止该请求。 它可以作为一个WordPress插件 ,也可以作为一个Drupal模块 。

如果机器人试图发送垃圾邮件,抓取您的网站,探索安全可能性或企图进行暴力login,那么不良行为几乎肯定会是非常有帮助的。 如果他们只是做一个普通的旧的DDoS,可能不会有太大的帮助。

你可以做的另一件事是确保你正确caching。 例如, Boost for Drupal和W3 Total Cache for WordPress。 这会有所帮助,但是如果漫游器爬行你的网站,他们将花费大部分时间来获取未caching的内容,所以在这种情况下不会有太大的帮助。 如果机器人主要发布数据,例如尝试发布垃圾邮件,这也无济于事。

如果可能,还应该暂时增加虚拟机的CPU和RAM分配,以减轻一些压力。 这可能需要您停止并重新启动虚拟机,但在这一点上这是一个小问题。

我也偶尔为特定的僵尸程序编写自定义的fail2ban正则expression式,这些特定的僵尸程序正在执行特定的滥用行为,例如反复尝试在Drupal上注册用户帐户。 如果你对服务器日志的分析表明这样的事情非常特殊,你也可以做这样的事情。