Bombe de décompression et attrape-crackbot

Source : https://twitter.com/sebsauvage_net/status/1339977926276689923 ; voir aussi https://fr.wikipedia.org/wiki/Bombe_de_d%C3%A9compression

Le principe : piéger les bots qui arpentent le web en cherchant des failles. Ce n'est pas une protection, juste des mines pour enquiquiner les enquiquineurs les moins doués.

Sur Nginx

Nginx peut servir des fichiers précompressés, qui vont se décompresser côté client, remplissant leur disque dur et sollicitant les machines. On attaque ces crackbot là où ça fait mal : sur leur temps d'exécution.

Merci Tycho pour le détail !

On commence par créer le fichier compressé (choisissez, petite ou grosse bombe !) :

dd if=/dev/zero bs=1M count=$((1024)) | gzip >/var/www/anti_bots/small_bomb.gz
dd if=/dev/zero bs=1M count=$((300*1024)) | gzip >/var/www/anti_bots/big_bomb.gz

Puis on créé /etc/nginx/custom/anti_bots.conf à inclure dans chaque configuration de site sur Nginx :

    location ~* /(wp-login\.php|wordpress|wp|wp2|old-wp|wp-includes|cms|.env|.git|composer.json|composer.lock|frontend_dev\.php|docker\.env|docker\.yml|docker.yaml|Docker.yaml|mysql\.env|mysql\.yml|mysql.yaml|config\.bak\.php|phpmyadmin|pma) {
    gzip        on;
    gzip_static always;
    alias       /var/www/anti_bots/small_bomb; # Do not specify .gz here, nginx infers it
    }

Ici la “location” va indiquer des motifs recherchés dans certains logiciels. Évitez de mettre ça tel quel si vous utilisez worpdress, docker, etc.

Puis relancez Nginx

nginx -t && nginx -s reload

Sur Apache

Le fichier compressé est créé de la même façon.

Il faut activer deux modules :

a2enmod headers
a2enmod deflate
apachectl -t && apachectl graceful

Doc sur la compression dans Apache : https://httpd.apache.org/docs/2.4/fr/mod/mod_deflate.html

Piéger SSH

https://github.com/skeeto/endlessh

Ici le principe est similaire. Plutôt que de bannir des IP comme avec Fail2Ban, on va au contraire capturer le visiteur indésirable et lui faire perdre du temps en le laissant espérer une entrée.

Je suis moins convaincue par l'intérêt de ceci, car ça va garder une connexion active même si c'est dans un cul de sac.

 Ce texte est placé sous licence CC0

CC Attribution-Noncommercial-Share Alike 4.0 International Driven by DokuWiki
pratique/informatique/bombe_logique.txt · Dernière modification : 18/02/2021 10:44 de Zatalyz