当前位置:首页 > CMS教程 > 其它CMS > 列表

Drupal站点被机器用户恶意注册如何解决

发布:smiling 来源: PHP粉丝网  添加日期:2015-08-21 22:19:59 浏览: 评论:0 

现在注册机到处泛滥,我的Drupal站点被机器恶意注册得厉害,下面是我的解决方案,分享出来或者能某些人有帮助.

我的Drupal站点上发现有很多@sina.com的垃圾注册,虽然已经开启了honeypot模块,没有屏蔽住此类注册。

分析:攻击者可能比较熟悉honeypot的工作机制,可以自己编写相应的脚本实现恶意注册.

在Drupal系统中,默认情况下,用户注册都会有日志记录,保存在watchdog表中,通过分析watchdog表中的关于用户的日志的情况,可以统计出相应的信息供参考,然后通过user block模块或其他相应模块屏蔽该恶意IP的注册.

解决步骤:在任意mysql客户端执行如下sql语句:

select count(hostname) as count, hostname from watchdog where type="user" group by hostname order by count desc;

可以得到类似如下的统计结果:

| count | hostname        |

+-------+-----------------+
|    53 | 173.208.222.90  |
|    31 | 173.208.222.42  |
|    20 | 173.208.222.146 |
|     4 | 216.244.84.43   |
|     2 | 61.219.177.117  |
|     2 | 173.208.253.83  |
|     2 | 217.168.16.33   |
|     2 | 109.73.170.223  |
|     2 | 5.101.140.233   |
|     1 | 180.180.77.131  |
|     1 | 183.207.224.51  |
|     1 | 222.44.86.167   |

可以看到在173.208.222.0/24这个IP段有大量的访问,在www.ip138.com查询,得知该ip位于美国,由于网站主要面向中国用户,基本可以判断这就是恶意注册的ip来源.

Drupal默认的ip屏蔽策略不支持针对IP段的屏蔽,可以使用ip ranges模块实现基于ip段的屏蔽.

额外的思考:使用Drupal模块的方式进行屏蔽,可以仅通过鼠标点击的方式解决问题,比较轻松,同时可以开放权限给相关人员,减轻开发者负担.

最好的方式,是在服务器层进行屏蔽,nginx与apache都有相应的配置可以实现针对指定IP与IP段的屏蔽访问,这种方式对系统资源消耗较小,缺陷是配置比较麻烦,需要登录服务器进行操作.

这里再推荐一款中国验证码模板,如果你的Drupal站点是面向中文用户的话.

https://www.drupal.org/project/chinese_captcha

Tags: Drupal恶意机器 Drupal用户注册

分享到: