Pour les étudiants en BTS CIEL ou SIO, sécuriser un serveur passe par la surveillance des logs et le blocage automatique des comportements malveillants.
Fail2ban permet :
- d’analyser les logs système
- de détecter les tentatives d’attaque
- de bannir automatiquement les adresses IP
Cette fiche couvre la protection de :
- SSH
- Apache
- FTP (vsftpd)
avec exploitation des logs.

Configuration complète fail2ban
# =========================================================
# INSTALLATION
# =========================================================
apt update && apt install fail2ban -y
# =========================================================
# DEMARRAGE
# =========================================================
systemctl enable fail2ban
systemctl start fail2ban
# =========================================================
# CONFIGURATION PRINCIPALE
# =========================================================
nano /etc/fail2ban/jail.local
[DEFAULT]
bantime = 3600
findtime = 600
maxretry = 5
backend = systemd
# =========================================================
# SSH
# =========================================================
[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 5
# =========================================================
# APACHE
# =========================================================
[apache-auth]
enabled = true
port = http,https
filter = apache-auth
logpath = /var/log/apache2/error.log
maxretry = 5
# =========================================================
# FTP (VSFTPD)
# =========================================================
[vsftpd]
enabled = true
port = ftp
filter = vsftpd
logpath = /var/log/vsftpd.log
maxretry = 5
# =========================================================
# REDEMARRAGE
# =========================================================
systemctl restart fail2ban
# =========================================================
# VERIFICATION
# =========================================================
fail2ban-client status
fail2ban-client status sshd
fail2ban-client status apache-auth
fail2ban-client status vsftpd
Explication détaillée
Principe de fonctionnement
Fail2ban analyse les logs :
- SSH →
/var/log/auth.log - Apache →
/var/log/apache2/error.log - FTP →
/var/log/vsftpd.log
Lorsqu’un nombre d’échecs dépasse maxretry dans findtime, l’IP est bannie pendant bantime.
Analyse des logs utilisés
Logs SSH
tail -f /var/log/auth.log
Exemple :
May 1 11:50:12 debian sshd[1122]: Failed password for invalid user admin from 192.168.1.60 port 53322 ssh2
Logs Apache
tail -f /var/log/apache2/error.log
Exemple :
[Wed May 01 10:20:01] [error] [client 192.168.1.60] user admin: authentication failure
Logs FTP (vsftpd)
tail -f /var/log/vsftpd.log
Exemple :
Tue May 01 10:15:10 2026 [pid 1234] [ftpuser] FAIL LOGIN: Client "192.168.1.60"
Recherche dans les logs
Tentatives SSH échouées :
grep "Failed password" /var/log/auth.log
Top des IP attaquantes :
grep "Failed password" /var/log/auth.log | awk '{print $11}' | sort | uniq -c | sort -nr
Tentatives Apache :
grep -i "authentication failure" /var/log/apache2/error.log
Tentatives FTP :
grep "FAIL LOGIN" /var/log/vsftpd.log
Commandes utiles fail2ban
Voir le statut global :
fail2ban-client status
Voir les IP bannies :
fail2ban-client status sshd
Débannir une IP :
fail2ban-client set sshd unbanip 192.168.1.60
Recharger la configuration :
fail2ban-client reload
Bonnes pratiques
- adapter
maxretrypour éviter les faux positifs - surveiller régulièrement les logs
- utiliser des mots de passe forts
- désactiver l’authentification root SSH
- limiter l’exposition des services FTP
- combiner avec un pare-feu
Récapitulatif des fichiers importants
| Fichier | Rôle |
|---|---|
| /etc/fail2ban/jail.conf | configuration par défaut |
| /etc/fail2ban/jail.local | configuration personnalisée |
| /etc/fail2ban/filter.d/sshd.conf | filtre SSH |
| /etc/fail2ban/filter.d/apache-auth.conf | filtre Apache |
| /etc/fail2ban/filter.d/vsftpd.conf | filtre FTP |
| /var/log/auth.log | logs SSH |
| /var/log/apache2/error.log | logs Apache |
| /var/log/vsftpd.log | logs FTP |
| /var/log/fail2ban.log | logs fail2ban |
Conclusion
Fail2ban permet de sécuriser efficacement un serveur en s’appuyant sur l’analyse des logs.
Avec la protection combinée de SSH, Apache et FTP, il constitue une première ligne de défense contre les attaques automatisées.
C’est un outil essentiel pour toute infrastructure exp
