Sécuriser serveur lamp sous debian 12 avec UFW et Fail2ban

Répondre
Avatar du membre
labbej
Site Admin
Messages : 16
Enregistré le : 23 juil. 2025, 01:47
Localisation : Anet
Contact :

Sécuriser serveur lamp sous debian 12 avec UFW et Fail2ban

Message par labbej »

🔐 1. Mettre à jour le système
Avant tout, on met le système à jour :

Code : Tout sélectionner

sudo apt update && sudo apt upgrade -y
🔥 2. Installer UFW (si ce n’est pas déjà fait)

Code : Tout sélectionner

sudo apt install ufw
🚧 3. Autoriser uniquement le trafic nécessaire
🖥️ Accès SSH (port 22, ou autre si modifié)

Code : Tout sélectionner

sudo ufw allow ssh
Si vous utilisez un port personnalisé, remplacez ssh par le port, par exemple :

Code : Tout sélectionner

sudo ufw allow 2222/tcp
🌐 Serveur Web (Apache)

Code : Tout sélectionner

sudo ufw allow "Apache Full"
Cela ouvre les ports 80 (HTTP) et 443 (HTTPS).

🗃️ MySQL/MariaDB : à restreindre
Si la base de données est locale (ce qui est le cas dans 90 % des cas), ne pas ouvrir le port 3306 :

Code : Tout sélectionner

sudo ufw deny 3306
Sinon, pour accès distant avec IP spécifique :

Code : Tout sélectionner

sudo ufw allow from <IP_TRUSTÉE> to any port 3306
✅ 4. Activer UFW

Code : Tout sélectionner

sudo ufw enable
Tu peux vérifier les règles actives avec :

Code : Tout sélectionner

sudo ufw status verbose
Lister les règles active et les supprimer :

Code : Tout sélectionner

sudo ufw status numbered

Code : Tout sélectionner

sudo ufw delete \\numéro de la règle
Installer et configurer Fail2ban
Fail2ban surveille les logs et bloque les IPs malveillantes (SSH, Apache, etc.).

🔧 Installation :

Code : Tout sélectionner

sudo apt install fail2ban -y
📁 Créer un fichier de config local :

Code : Tout sélectionner

sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
✏️ Édite le fichier :

Code : Tout sélectionner

sudo nano /etc/fail2ban/jail.local
Assure-toi que ces lignes sont bien présentes/modifiées :

Code : Tout sélectionner

[DEFAULT]
bantime = 3600
findtime = 600
maxretry = 5
backend = systemd
ignoreip = 127.0.0.1/8 ::1 <TON_IP>

[sshd]
enabled = true

[apache-auth]
enabled = true

[apache-badbots]
enabled = true

[apache-noscript]
enabled = true
▶️ Redémarrer Fail2ban :

Code : Tout sélectionner

sudo systemctl restart fail2ban
🔍 Vérifier que ça tourne :

Code : Tout sélectionner

sudo fail2ban-client status
Et pour voir les jails actives :

Code : Tout sélectionner

sudo fail2ban-client status sshd
✅ Bonus : journalisation et IP bannies
Voir les IP bannies :

Code : Tout sélectionner

sudo fail2ban-client status sshd
Voir les logs :

Code : Tout sélectionner

sudo tail -f /var/log/fail2ban.log
👨‍💻 labbej – Créateur du forum & Admin suprême
Codeur le jour, maker la nuit 🔧
FDM, SLA & café au menu ☕
"Ctrl+P pour imprimer le futur."
https://labbej27.fr/
https://cults3d.com/fr/utilisateurs/labbej/fichiers-3d
Répondre