31/07/2024 - Lenteur des pads et de libreto

Le problème de lenteur de nos pads et libreto qui sévissait depuis plusieurs semaines est probablement résolu: nous avons bannis le bot facebook pour qu’il arrête de nous harceler :slight_smile:

Explications détaillées

Cette explication n’est plus correcte, voir le message en dessous.

Les IPs de facebook ont été bannies sur les ports 80 et 443 car notre instance libreto recevait de trop nombreuses requêtes, ralentissant notre instance etherpad ! Il est probable que sans-nuage.

Pour ce faire, on a définit une prison avec fail2ban pour les bots que l’on souhaite bannir pour toujours
/etc/fail2ban/filter.d/bot.conf

[Definition]
failregex = 
ignoreregex = 

/etc/fail2ban/jail.d/bot.conf

[bot]
banaction = %(banaction_allports)s
bantime = -1
enabled = true

On redémarre le service fail2ban

systemctl restart fail2ban

Et on bannit manuellement les IPs.

for ip in $(whois -h whois.radb.net -- '-i origin AS32934' | grep ^route | sed -E s"/route6?: +//g") ; do fail2ban-client set bot banip  $ip ; done

Il faudra vérifier que ça supporte le redémarrage. Une amélioration possible pourrait être de scruter les logs à la recherche du bot de meta (et d’autres pour les bannir).

1 « J'aime »

Bon après réflexion, je me dis que bannir meta va probablement casser notre bridge matrix-whatsapp…

Donc, pour faire mieux, je suis en train de mettre en place des règles fail2ban qui vont bannir uniquement les IPs des bots pour 1 an… J’éditerais ce post pour afficher la vraie solution.

Le bannissement s’opère maintenant sur une liste de robots non souhaités dont ceux de l’entreprise Meta (facebook, whatsapp, insta, etc.) (qui servent probablement entre autre à faire des aperçus) et aussi semrush.

Explications détaillées

Dans /etc/fail2ban/filter.d/apache-badbots.conf j’ai édité la ligne badbotscustom pour ajouter les bots.

badbotscustom = facebookexternalhit|meta-externalagent|SemrushBot|EmailCollector|WebEMailExtrac|TrackBack/1\.02|sogou music spider|(?:Mozilla/\d+\.\d+ )?Jorgee

Et l’expression régulière qui déclenche le ban

failregex = ^<HOST> -.*"(GET|POST|HEAD).*HTTP.*"(?:%(badbots)s|%(badbotscustom)s).*"$

J’ai activé une prison fail2ban avec un bannissement de 1an:
/etc/fail2ban/jail.d/apache-badbots.conf

[apache-badbots]
enabled = true
port     = http,https
logpath  = /var/log/nginx/*-access.log
bantime  = 31536000
maxretry = 1
filter  = apache-badbots

Je relance fail2ban

fail2ban-client reload

Et je vérifie que ça fonctionne

fail2ban-client status apache-badbots
iptables-save
ip6tables-save
1 « J'aime »

Ce sujet a été automatiquement fermé après 7 jours. Aucune réponse n’est permise dorénavant.