Bloquer les Bad Bots avec Haproxy
Introduction
Nous allons voir comment bloquer une liste de Bad Bots avec Haproxy.
Déroulé
Tout d'abord il faut créer un fichier contenant la liste des Bad Bots (via leur user-agent) que l'on souhaite interdire.
Dans notre cas nous allons créer un fichier nommé badbots.list dans /etc/haproxy/ où nous allons y mettre notre liste de Bad bots.
Vous pouvez trouver des listes de Bad bots toute faite, la syntaxe doit être du style :
01h4x.com 360Spider 404checker 404enemy 80legs ADmantX AIBOT ASPSeek Abonti Aboundex ...
Dans notre configuration Haproxy au niveau des frontend, nous allons mettre en place une access-list qui compare les user-agent à ceux présents dans ce fichier, ainsi qu'une directive pour interdire l'accès si c'est le cas:
acl badbots hdr(user-agent) -i -f /etc/haproxy/badbots.list http-request deny deny_status 403 if badbots
Vous pouvez si vous le souhaitez renvoyer un code retour différent de 403 Forbidden, par exemple un 410 Gone, dans ce cas la syntaxe de la directive d'interdiction sera :
http-request return status 410 if badbots
Vous pouvez aussi à l'inverse, constituer une liste de Good Bots et définir une liste de user-agent autorisés et interdire le reste, dans ce cas la syntaxe sera :
acl goodbots hdr(user-agent) -i -f /etc/haproxy/goodbots.list http-request deny deny_status 403 if !goodbots
Cet article vous a semblé utile ?
Activer l'actualisation automatique des commentaires