ConfigServer Security&Firewallまたは csf 略して、cPanelサーバーで人気のあるファイアウォールソリューションです。 mod_securityのいくつかの優れたルールと組み合わせると、すばらしい仕事をします。
csfが適切なボットのIPを一時的/永続的にブロックするのを防ぐには、ファイル /etc/csf/csf.rignoreを編集する必要があります。
####################### ############################
#Copyright 2006-2017、Way to the Web Limited
#URL:http://www.configserver.com
#Eメール:[email protected]
####################### ############################
#以下は、lfdが処理するドメインと部分ドメインのリストです。
#トラッキングは、DNSの逆方向および順方向のルックアップに基づいて無視されます。の例
#その使用法は、Webクローラーがlfdによってブロックされるのを防ぐことです。
#.googlebot.comおよび.crawl.yahoo.net
#
#完全修飾ドメイン名(FQDN)または一意の末尾のいずれかを使用する必要があります
#ドットで始まる必要があるドメイン名のサブセット(ワイルドカードは
#それ以外の場合は許可)
#
#たとえば、以下はすべて有効なエントリです。
#www.configserver.com
#.configserver.com
#.configserver.co.uk
#.googlebot.com
#.crawl.yahoo.net
#.search.msn.com
#
#以下は無効なエントリです。
#*。configserver.com
# *Google COM
#google.com(ルックアップがサブドメインのない正確にgoogle.comでない限り
#
#候補IPアドレスが検査されると、DNSの逆引き参照が実行されます。
#IPアドレス。次に、正引きでDNSルックアップが実行されます。
#DNS逆引き参照。 IPアドレスは、次の場合にのみ無視されます。
#
#1。最終ルックアップの結果は元のIPアドレスと一致します
# と
#2a。 rDNSルックアップの結果はFQDNと一致します
# また
#2b。 rDNSルックアップの結果は、ドメインの部分サブセットと一致します
#
#注:DNSルックアップが遅すぎるか、期待される結果を返さない場合
#IPアドレスは通常どおりブロッキングトリガーにカウントされます
#
次の行を/etc/csf/csf.rignoreに追加します ファイル:
.googlebot.com
.crawl.yahoo.net
.search.msn.com
.google.com
.yandex.ru
.yandex.net
.yandex.com
.crawl.baidu.com
.crawl.baidu.jp
ホストがmod_securityルールによって何度もブロックされている場合、csfはIPをブロックしています。したがって、問題の根本に立ち向かわなければなりません。優れたボットを許可するmod_securityルールを作成します。
このために、mod_security.confファイルを編集します。 cPanel EasyApache 4を使用している場合は、ファイル /etc/apache2/conf.d/modsec/ modsec2.user.confに次の行を追加します。
HostnameLookups On
SecRule REMOTE_HOST "@endsWith .googlebot.com" "allow,log,id:5000001,msg:'googlebot'"
SecRule REMOTE_HOST "@endsWith .google.com" "allow,log,id:5000002,msg:'googlebot'"
SecRule REMOTE_HOST "@endsWith .search.msn.com" "allow,log,id:5000003,msg:'msn bot'"
SecRule REMOTE_HOST "@endsWith .crawl.yahoo.net" "allow,log,id:5000004,msg:'yahoo bot'"
SecRule REMOTE_HOST "@endsWith .yandex.ru" "allow,log,id:5000005,msg:'yandex bot'"
SecRule REMOTE_HOST "@endsWith .yandex.net" "allow,log,id:5000006,msg:'yandex bot'"
SecRule REMOTE_HOST "@endsWith .yandex.com" "allow,log,id:5000007,msg:'yandex bot'"
SecRule REMOTE_HOST "@endsWith .crawl.baidu.com" "allow,log,id:5000008,msg:'baidu bot'"
SecRule REMOTE_HOST "@endsWith .crawl.baidu.jp" "allow,log,id:5000009,msg:'baidu bot'"
これらの行を追加した後、ApacheWebサーバーを再起動してください。しばらくすると、サーバーログにエントリが表示されます。 WHM->セキュリティセンター->ModSecurity™ツール->ヒットリストに移動するだけです またはコマンドラインから:
root@web [/]# grep "500000" /usr/local/apache/logs/error_log | tail -30
リソース:
https://webmasters.googleblog.com/2006/09/how-to-verify-googlebot.html
https://yandex.com/support/webmaster/robot-workings/check-yandex-robots.xml
https://www.bing.com/webmaster/help/how-to-verify-bingbot-3905dc26
https://github.com/SpiderLabs/ModSecurity/wiki/