网站遇到Bytespider爬虫该怎么办?

时间:2023年06月30日

/

来源:网络

/

编辑:佚名

早上打开网站,发现超级卡,以为是网速原因,调试了路由器无济于事,都说重启大法好,重启那就重启web服务试试,可惜依旧没用,不过重启的时候发现CPU彪到99,我还以为是被谁DDOS了。
发现问题:
查看日志发现是来自于Bytespider的爬虫。
服务器配置是4H8G10M,基本上中型 网站这配置都够了,我还是刚搭建的没有什么流量,就被这Bytespider给拖垮了。
爬虫IP基本上都是来源河北石家庄,而且是同IP段,一直在爬取,网上找有的说是头条的蜘蛛(没有证据)。

解决思路:
1.因为我没有服务器的登录权限,所以我猜想用CC防护和web应用防护能否阻挡呢?
使用阿里云最基础的“web应用防护”,开启后并没有什么效果,5分钟过去,cpu依旧99%。

2.推测使用拉黑IP段的方式来解决。
先整理出这些爬虫的IP段:
60.8.165.0/24
111.225.0.0/24
110.249.0.0/24
220.243.0.0/24
基本为这四个ip段,对这四个IP段进行拉黑,在web应用安全这里进行配置规则。


四个IP段拉黑后,服务器cpu瞬间将至10%。
问题解决。
结论:
Bytespider爬虫虽然不比DDOS,cc攻击,可是对于web服务来讲多大的服务(相对来讲)都能拖垮~~~~~。一定要ban掉。
二、这是测试有效的方式,还有网上找到的另外一种方式,通过ningx 拉黑ip:
在Nginx的conf目录下面建立blockip.conf文件(名称可以随意),把想要屏蔽的IP只要加入这个文件即可,格式如下:
deny 195.91.122.67;
一行添加一个,添加完成后保存。
在Nginx的配置文件XX.conf按照相应格式加入代码如下,唯一需要注意的是相对路径。
include blockip.conf;
重启Nginx:
/usr/local/nginx/nginx -s reload
屏蔽ip的文件既可以屏蔽单个ip,也可以屏蔽ip段,或者只允许某个ip或者某个ip段访问。
#屏蔽单个ip访问
deny IP;
 #允许单个ip访问
allow IP; 
#屏蔽所有ip访问
deny all; 
#允许所有ip访问
allow all; 
#屏蔽整个段:从123.0.0.1到123.255.255.254
deny 123.0.0.0/8;
#屏蔽IP段:从123.45.0.1到123.45.255.254
deny 123.45.0.0/16;#
屏蔽IP段:从123.45.6.1到123.45.6.254
deny 123.45.6.0/24;
除了几个IP外,其他全部拒绝,那需要你在blockip.conf中这样写:
allow 1.1.1.1;
allow 1.1.1.1; 
allow 1.1.1.2;
deny all;
单个网站屏蔽IP的方法:把include blocksip.conf;放到网址对应的在server {}语句块;多个网站屏蔽IP的方法:把include blocksip.conf;放到http {}语句块。
方法二经过测试,具体效果也是可以的.
三、robots.txt 添加
禁止Bytespider爬取网站
Disallow: / 
User-agent:Bytespider
或者
Bytespide蜘蛛延迟一秒爬取
User-agent:Bytespider
Crawl-delay: 1
四、nginx配置文件添加
    #禁止爬虫工具和不相关搜索引擎的抓取agent_deny.conf
    include /www/server/nginx/conf/agent_deny.conf;
    #禁止ip访问目录  ip_deny.conf
   # include /www/server/nginx/conf/ip_deny.conf; 
其中agent_deny.conf内容为
  #forbidden Scrapy禁止扫描工具客户端
  if ($http_user_agent ~* (scraper|crawl|Scrapy|Python|curb|git|Wtrace|Curl|HttpClient|masscan|zgrab|NetcraftSurveyAgent|BiuScanner|CensysInspect)) {
    return 403;
  }
  #YisouSpider,Sogou web spider,bingbot,360spider
  #forbidden UA
  if ($http_user_agent ~* "WordPress|HTTrack|Apache-HttpClient|harvest|audit|dirbuster|pangolin|nmap|sqln|hydra|Parser|libwww|BBBike|sqlmap|w3af|owasp|Nikto|fimap|havij|zmeu|BabyKrokodil|BabyKrok|netsparker|httperf|bench|SF|Bytespider|YisouSpider|ToutiaoSpider|EasyHttp|BLEXBot|Iframely|CheckMarkNetwork|sysscan|package|fasthttp|muhstik|HTTP_Request|ExtLinksBot|DeuSu|mstshash|Dark|LMAO|Gemini|Crawler|AlphaBot|Census|ips-agent|researchscan|Dispatch|Wappalyzer|MauiBot|crawler4j|Center|eright|Mappy|Hakai|aiohttp|Jullo|Feedly|oBot|python-requests|CPython|Synapse|Nimbostratus-Bot|heritrix|SafeDNSBot|SiteExplorer|SSH|MegaIndex|BUbiNG|CCBot|NetTrack|Digincore|aiHitBot|SurdotlyBot|null|Test|Copied|ltx71|DotBot|AdsBot|InetURL|Pcore-HTTP|PocketParser|Wotbox|newspaper|DnyzBot|redback|PiplBot|WinHTTP|Auto Spider 1.0|GrabNet|TurnitinBot|Go-Ahead-Got-It|Download Demon|Go!Zilla|GetWeb!|GetRight|libwww-perl|Cliqzbot|MailChimp|SMTBot|Dataprovider|XoviBot|linkdexbot|SeznamBot|Qwantify|spbot|evc-batch|Go-http-client|FeedDemon|JikeSpider|Indy Library|Alexa Toolbar|AskTbFXTV|CrawlDaddy|CoolpadWebkit|Java|UniversalFeedParser|ApacheBench|Microsoft URL Control|Swiftbot|ZmEu|jaunty|Python-urllib|lightDeckReports Bot|YYSpider|DigExt|MJ12bot|EasouSpider|LinkpadBot|YoudaoBot|YandexBot|Rogerbot|exabot|ia_archiver|Teoma|gigabot|DOCOMO Sprider|AhrefsBot|SemrushBot|Sosospider|Yahoo! Slurp China|Yahoo! Slurp|MSNBot|MSNot-media|Nmap Scripting Engine|censys.io|FlightDeckReports Bot|Mail.RU_Bot|Ezooms|^$" ) {

    return 403;
  }
  #forbidden not GET|HEAD|POST method access
  if ($request_method !~ ^(GET|HEAD|POST)$) {
    return 403;
  }
猜你需要

豫ICP备2021026617号-1  豫公网安备:41172602000185   Copyright © 2021-2028 www.78moban.com/ All Rights Reserved

本站作品均来自互联网,转载目的在于传递更多信息,并不代表本站赞同其观点和对其真实性负责。如有侵犯您的版权,请联系 1565229909#qq.com(把#改成@),我们将立即处理。