Sécurité système

Sécurisation SSH Fail2Ban

Protection contre les attaques brute force sur un serveur Linux exposé.

01

Contexte du projet

Le serveur SSH étant accessible depuis l'extérieur, il était nécessaire de limiter les tentatives de connexion malveillantes. Fail2Ban a été déployé pour détecter les échecs d'authentification et bannir automatiquement les adresses IP suspectes.

Cadre : Linux (Debian/Ubuntu/Rocky), OpenSSH, pare-feu système.

Outils et technologies

Fail2Ban OpenSSH systemd nftables Linux

Livrables

Jail SSH Politique ban Logs sécurité Procédure tests
02

Objectifs du projet

Détecter les tentatives de connexion répétées.
Bannir automatiquement les IP malveillantes.
Adapter les délais de bannissement au contexte.
Documenter les règles de sécurité SSH.
03

Architecture et schémas

Fail2Ban analyse les logs SSH (journald ou fichiers) et applique des règles de pare-feu pour bloquer les IP en cas de tentatives répétées. Les actions sont enregistrées pour audit.

Monitoring des logs SSH + bannissement automatique
Règles nftables/iptables dynamiques
04

Étapes d'implémentation

Installation de Fail2Ban et création du fichier jail.local.
Activation du jail SSH avec paramètres bantime/findtime/maxretry.
Configuration du backend systemd ou log file.
Tests avec tentatives de connexion et vérification des bans.
Documentation des exceptions et des IP autorisées.
05

Difficultés rencontrées

Logs SSH non détectés avec journald.
Bans non appliqués sur le pare-feu par défaut.
06

Solutions appliquées

Activation du backend systemd et validation des filtres.
Choix du banaction adapté (nftables/iptables) puis redémarrage du service.
07

Résultats et captures

Exemples de bannissements et d'état du service.