发现伪装成Baiduspider的爬虫怎么办?

今日站长帮使用的防火墙报警,提示有安全风险,通过网站日志分析发现Baiduspider今日抓取量增长太大,达到1万多次。查看日志文件,发现原来是有伪装成Baiduspider的爬虫进行大量爬网。

本文将介绍如何发现伪装成Baiduspider或其它搜索引擎爬虫的方法,以便大家在发现异常时迅速找到有害的爬虫排除潜在风险。

如何通过日志发现潜在风险

从日志中可以发现三个问题:

1、大量抓取一些敏感信息,哪怕URL根本不存在。例如:admin.php、login.php等,这不像是正常搜索引擎爬虫干的事。

2、正常的Baiduspider访问记录是这样的:

220.181.108.118 - - [08/May/2022:00:06:50 +0800] "GET /1469.html HTTP/2.0" 200 15272 "-" "Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)"

伪装的爬虫示例:

121.140.205.106 edge - www.zhanzhangb.com [08/May/2022:10:24:07 +0800] 223 "HEAD //uc_server/admin.php?m=user&a=login&iframe=&sid= HTTP/1.1" 404 424 0 "https://www.zhanzhangb.com//uc_server/admin.php?m=user&a=login&iframe=&sid=" "-" "Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html\x09" "103.174.185.14,121.140.205.106" 1482802960 "MISS" 157.148.65.35

以上是伪装成Baiduspider爬虫的访问日志中的其中一条。

3、上面那个伪装成Baiduspider的IP(121.140.205.106)竟是境外的,来自韩国。

如何验证IP是否来自百度Baiduspide

Linux系统

# host 220.181.108.118
118.108.181.220.in-addr.arpa domain name pointer baiduspider-220-181-108-118.crawl.baidu.com.

使用host ip这个指令反向 DNS 查找,百度蜘蛛的主机名是*.baidu.com 或*.baidu.jp。其他是假主机名。

Windows系统

Windows可以使用nslookup ip命令,如下图:

Windows系统 反向DNS查找
Windows系统 反向DNS查找

以上两个示例,均是正常的Baiduspide蜘蛛的IP,下面再来看看伪装成Baiduspider爬虫的IP:

发现伪装成Baiduspider爬虫
发现伪装成Baiduspider爬虫

发现这种伪装成Baiduspider的爬虫怎么办?

不论是伪装成Baiduspider或是伪装成其它爬虫,其目的肯定不是好的,否则干嘛要伪装呢?所以发现这种情况,最直接有效的方式就是禁止其IP访问,以站长帮本次发现的这个IP为例,使用Firewalld防火墙禁止该IP段访问:

#禁止一个IP段,比如禁止121.140.205.0 - 121.140.205.254
firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address="121.140.205.0/24" drop'
#重新加载配置文件
firewall-cmd –reload

如果使用宝塔面板,可以直接在系统防火墙中进行设置。

站长帮社区

建站技术交流社区,欢迎提问与交流,还有大量WordPress主题与插件。

发表评论