Sécurité et pare-feu ConfigServer ou csf pour faire court est une solution de pare-feu populaire pour les serveurs cPanel. Combiné avec quelques bonnes règles pour mod_security, il fait un excellent travail.
Pour empêcher csf de bloquer temporairement/définitivement les IP des bons bots, vous devez modifier le fichier /etc/csf/csf.rignore
####################### ##########################
# Copyright 2006-2017, Way to the Web Limited
# URL :http://www.configserver.com
# Courriel :[email protected]
####################### ##########################
# Ce qui suit est une liste de domaines et de domaines partiels traités par lfd
# le suivi sera ignoré en fonction des recherches DNS inversées et directes. Un exemple de
# son utilisation est d'empêcher les robots d'exploration Web d'être bloqués par lfd, par ex.
# .googlebot.com et .crawl.yahoo.net
#
# Vous devez utiliser un nom de domaine complet (FQDN) ou une terminaison unique
# sous-ensemble du nom de domaine qui doit commencer par un point (les caractères génériques ne sont PAS
# autrement autorisé)
#
# Par exemple, les entrées suivantes sont toutes valides :
# www.configserver.com
# .configserver.com
# .configserver.co.uk
# .googlebot.com
# .crawl.yahoo.net
# .search.msn.com
#
# Les entrées suivantes ne sont PAS valides :
# *.configserver.com
# *google.com
# google.com (sauf si la recherche est EXACTEMENT google.com sans sous-domaine
#
# Lorsqu'une adresse IP candidate est inspectée, une recherche DNS inversée est effectuée sur
# l'adresse IP. Une recherche DNS directe est ensuite effectuée sur le résultat du
# recherche DNS inversée. L'adresse IP ne sera ignorée que si :
#
# 1. Les résultats de la recherche finale correspondent à l'adresse IP d'origine
# ET
# 2a. Les résultats de la recherche rDNS correspondent au FQDN
# OU ALORS
#2b. Les résultats de la recherche rDNS correspondent au sous-ensemble partiel du domaine
#
# Remarque :Si les recherches DNS sont trop lentes ou ne renvoient pas les résultats attendus
# l'adresse IP sera comptée dans le déclencheur de blocage comme d'habitude
#
Ajoutez les lignes suivantes à /etc/csf/csf.rignore fichier :
.googlebot.com
.crawl.yahoo.net
.search.msn.com
.google.com
.yandex.ru
.yandex.net
.yandex.com
.crawl.baidu.com
.crawl.baidu.jp
csf bloque les adresses IP lorsqu'un hôte est bloqué plusieurs fois par une règle mod_security. Donc, nous devons aller à la racine du problème - nous allons créer des règles mod_security pour autoriser les bons bots.
Pour cela, nous allons éditer les fichiers mod_security .conf. Si vous utilisez cPanel EasyApache 4, ajoutez les lignes suivantes au fichier /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'"
Après avoir ajouté ces lignes, veuillez redémarrer le serveur Web Apache. Après un certain temps, vous verrez des entrées dans les journaux du serveur. Allez simplement dans WHM->Security Center->ModSecurity™ Tools->Hits List ou depuis la ligne de commande :
root@web [/]# grep "500000" /usr/local/apache/logs/error_log | tail -30
Ressources :
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/