Fail2Ban + Nginx (compatible WordPress) : 5 requêtes suspectes → bannissement de 5 minutes (correctif iptables-nft, tests et déblocage IP)

Ce guide montre une installation et configuration complètes de Fail2Ban pour Nginx et WordPress, afin de :

  • bloquer les scanners et bots (par exemple les tentatives d’accès à /.env, /.git, phpmyadmin, etc.),
  • ne pas bloquer l’administrateur WordPress,
  • bannir une adresse IP après 5 requêtes suspectes ou invalides,
  • appliquer un bannissement court de seulement 5 minutes (sans risque de vous bloquer longtemps).

Étape 1 : Installer Fail2Ban

Installez Fail2Ban :

Activez et démarrez le service :

Vérifiez qu’il fonctionne :

Étape 2 : Créer le filtre nginx-secure

Créez le fichier de filtre :

Collez la configuration suivante :

Étape 3 : Créer la jail nginx-secure

Créez le fichier de configuration :

Collez la configuration suivante :

Étape 4 : Redémarrer Fail2Ban

Étape 5 : Vérifier le firewall

Vérifiez que la chaîne Fail2Ban existe :

Test externe

Exécutez depuis une autre machine :

Après 5 tentatives, l’adresse IP sera bannie pendant 5 minutes.

Voir les IP bannies

Débloquer une adresse IP

Débloquez votre IP manuellement :

Résumé

  • protège contre les scanners et les tentatives d’exploitation,
  • ne bloque pas le panneau d’administration WordPress,
  • bannissement court de seulement 5 minutes,
  • compatible avec iptables-nft,
  • facile à tester et à débloquer.

Mise à niveau automatique Debian 12 → Debian 13 avec mise à jour optionnelle de PHP et nginx

Mise à niveau Debian 12 vers Debian 13

La mise à niveau de Debian de la version 12 (bookworm) vers 13 (trixie) est une opération qui doit être effectuée de manière reproductible et sans surprises, en particulier sur les serveurs et les conteneurs (par exemple Proxmox LXC ou machines virtuelles). Ci-dessous, vous trouverez un guide simple ainsi que des commandes prêtes à l’emploi pour télécharger et exécuter le script de mise à niveau.

Avant de lancer la mise à niveau : créez une sauvegarde ou un snapshot. Dans Proxmox, la meilleure option est vzdump ou un snapshot. Sur bare metal, sauvegardez au minimum /etc, les applications et les bases de données.

  • Proxmox LXC / VM : sauvegarde avec vzdump ou snapshot.
  • Serveur : sauvegarde de /etc, /var/www, bases de données (MySQL/PostgreSQL) et certificats SSL.

Téléchargement du script :

https://soban.pl/bash/upgrade_to_debian13.sh

1) Sauvegarde avant la mise à niveau (exemples)

Exemple de sauvegarde dans Proxmox (exécuter sur l’hôte Proxmox, remplacez CTID/VMID) :

Exemple de sauvegarde simple du système de fichiers sur un serveur (cela ne remplace pas un snapshot complet, mais c’est mieux que rien) :

2) Télécharger le script (wget / curl)

La méthode la plus simple consiste à utiliser wget. Si la commande wget ne fonctionne pas malgré l’installation du paquet, utilisez le chemin complet /usr/bin/wget.

Variante A (wget standard) :

Variante B (wget avec chemin complet – utile si PATH est incorrect) :

Variante C (curl) :

3) Aide du script (paramètres)

Avant d’exécuter la mise à niveau, affichez la liste des paramètres disponibles et des exemples d’utilisation :

4) Mise à niveau Debian 12 → Debian 13 (système uniquement)

Si vous utilisez actuellement Debian 12 (bookworm) et souhaitez effectuer la mise à niveau du système :

Le script sauvegarde /etc/apt/sources.list, remplace les dépôts par trixie, exécute apt update et apt full-upgrade, puis autoremove et autoclean.

5) Détection automatique PHP/nginx et mise à jour si nécessaire

Si le conteneur ou la VM utilise une stack web et que vous souhaitez que le script détecte automatiquement PHP (nginx + fastcgi_pass) et mette à jour PHP et nginx si nécessaire :

6) Forcer la mise à niveau de PHP et nginx (correction du socket PHP-FPM)

Si vous souhaitez forcer l’installation ou la mise à niveau de PHP et corriger automatiquement la configuration nginx pour utiliser le bon socket PHP-FPM :

Cette commande installe PHP 8.2 (php-fpm et modules courants) et remplace les anciens chemins de socket PHP-FPM dans nginx par /run/php/php8.2-fpm.sock. Ensuite, elle exécute nginx -t et recharge ou redémarre les services.

7) Déjà sur Debian 13 ? Mode PHP/nginx uniquement

Si le système est déjà sous Debian 13 (trixie) et que vous souhaitez uniquement mettre à jour PHP et nginx sans modifier les dépôts système :

8) Mode test (dry-run)

Si vous souhaitez voir ce que le script fera sans effectuer de modifications :

9) Diagnostic : wget installé mais ne fonctionne pas

Si apt indique que wget est installé mais que le shell affiche command not found, il s’agit généralement d’un problème PATH. La solution la plus simple est d’utiliser le chemin complet : /usr/bin/wget.

Résumé

Cette solution permet de mettre à niveau Debian 12 → Debian 13 et de corriger automatiquement les problèmes courants PHP/nginx après la mise à niveau (socket PHP-FPM, test de configuration nginx, redémarrage des services). Créez toujours une sauvegarde avant la mise à niveau et commencez par exécuter --help.

Script : https://soban.pl/bash/upgrade_to_debian13.sh