sysmerge IT

14 июн. 2015 г.

Блокировка поисковых ботов в iptables

Мое мнение, что кроме 3-4 краулеров все остальные попросту не нужны. Боты шастают по сайтам, пачкают логи, создают лишнюю нагрузку. Оставлять имеет смысл Яндекс и Гуглобота. Так же в некоторых случаях Бинг, мейлру, яху. Потому пользуемся простым bash скриптом, который блокирует заданный список поисковых ботов по юзерагентам.
Скрипт:
 #!/bin/bash  
 bots="msnbot  
 bingbot  
 BLEXBot  
 MJ12bot  
 BuddhaBot  
 Ezooms  
 AhrefsBot  
 Baiduspider  
 PaperLiBot  
 Twitterbot  
 QuerySeekerSpider  
 meanpathbot  
 Mail.RU_Bot  
 SemrushBot  
 SolomonoBot  
 Butterfly  
 UnwindFetchor  
 rogerbot  
 NING  
 TweetmemeBot  
 SeznamBot  
 coccoc  
 Yeti  
 Moreover  
 TurnitinBot  
 METASpider  
 Nekstbot  
 SputnikBot  
 Nigma.ru";  
 bots=`echo $bots | sed ':a;N;$!ba;s/\n//g'`;  
 for i in $bots ; do  
 iptables -A INPUT -m string --algo kmp --string $i -p tcp --dport 80 -j DROP  
 echo "$i has banned.."  
 done  

После чего сохраняем правила. В Centos/RHEL
 # service iptables save  

В Debian/Ubuntu
 # iptables-save