drupal建站教程_Drupal站点被机器用户恶意注册如何解决

更新时间:2019-11-16    来源:网页配色    手机版     字体:

【www.bbyears.com--网页配色】

我的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

本文来源:http://www.bbyears.com/wangyezhizuo/79542.html