Il y a 389 articles et 19 utilisateurs inscrits (ce bandeau est défini dans MediaWiki:Sitenotice)
Protection Apache – Mode crise et Blocage PDF Bots
Protection Apache – Mode crise et Blocage PDF Bots
[modifier | modifier le wikicode]Voir aussi : Conf_apache_“crise”_(optionnelle)_pour_mettre_tous_les_bots_à_l’amende_sur_results.html
2 - Commandes pour créer le fichier
[modifier | modifier le wikicode]Option A — mod_ratelimit (simple, efficace)
[modifier | modifier le wikicode]Activer le module ratelimit (si nécessaire) :
sudo a2enmod ratelimit
Créer le fichier de configuration :/etc/apache2/conf-available/crisis-limit-pdf.conf
# /etc/apache2/conf-available/crisis-limit-pdf.conf
<IfModule mod_ratelimit.c>
# Limite tous les PDF à ~256 KB/s par connexion
<LocationMatch "\.pdf$">
SetOutputFilter RATE_LIMIT
SetEnv rate-limit 256
</LocationMatch>
</IfModule>
Tester & activer (uniquement quand crise) :
sudo apache2ctl configtest
sudo a2enconf crisis-limit-pdf
sudo systemctl reload apache2
Désactiver ensuite :
sudo a2disconf crisis-limit-pdf
sudo systemctl reload apache2
Option B — mod_evasive (anti-flood par IP)
[modifier | modifier le wikicode]sudo apt-get update
sudo apt-get install libapache2-mod-evasive
sudo a2enmod evasive
Puis configuration (à adapter) : /etc/apache2/mods-available/evasive.conf
<IfModule mod_evasive20.c>
DOSHashTableSize 3097
DOSPageCount 10
DOSSiteCount 50
DOSPageInterval 1
DOSSiteInterval 1
DOSBlockingPeriod 60
</IfModule>
Reload :
sudo apache2ctl configtest
sudo systemctl reload apache2
Autre approche : VRAI 404 pour bots (propre) via mod_rewrite
[modifier | modifier le wikicode]Dans une conf dédiée (ex: /etc/apache2/conf-available/block-bots-pdf-404.conf)
<IfModule mod_rewrite.c>
RewriteEngine On
# Marque les bots
RewriteCond %{HTTP_USER_AGENT} (meta-externalagent|facebookexternalhit|Facebot|Googlebot|GoogleOther|bingbot|Baiduspider|Baiduspider-render|Bytespider|PetalBot|YandexBot|HaloBot|GPTBot|ChatGPT-User|OAI-SearchBot|Amazonbot|SemrushBot|AhrefsBot|MJ12bot|DotBot|crawler|spider|bot) [NC]
RewriteRule ^/(archives-en-ligne/)?pleade/functions/ead/detached/.*\.pdf$ - [R=404,L]
RewriteCond %{HTTP_USER_AGENT} (meta-externalagent|facebookexternalhit|Facebot|Googlebot|GoogleOther|bingbot|Baiduspider|Baiduspider-render|Bytespider|PetalBot|YandexBot|HaloBot|GPTBot|ChatGPT-User|OAI-SearchBot|Amazonbot|SemrushBot|AhrefsBot|MJ12bot|DotBot|crawler|spider|bot) [NC]
RewriteRule ^/(fr/)?archives-en-ligne/ead(2|3|4)?\.pdf$ - [R=404,L]
</IfModule>
Puis :
sudo a2enconf block-bots-pdf-404
sudo apache2ctl configtest
sudo systemctl reload apache2
3 - Tester et activer la configuration
[modifier | modifier le wikicode]4 - Désactiver après la crise
[modifier | modifier le wikicode]5 - Option alternative : mod_evasive
[modifier | modifier le wikicode]Installation :
Exemple de configuration (mode crise) :
Tester et recharger :
6 - Vrai 404 pour bots via mod_rewrite
[modifier | modifier le wikicode]Créer un fichier :
Contenu :
Activation :
Améliorer le blocage PDF bots (404 au lieu de 403)
[modifier | modifier le wikicode]Pourquoi : 403 confirme que le fichier existe. 404 rend la ressource invisible aux bots.
Remplacer les blocs existants par :