Linux Server Deployment & SSH Mastery · Leçon

Détection et prévention des intrusions

Installez et configurez des systèmes de détection des intrusions (IDS) comme Fail2Ban et comprenez les principes des systèmes de prévention des intrusions (IPS) pour défendre activement votre serveur.

Leçon 3 sur 411 étapes

Détection et prévention des intrusions est une leçon Linux Server Deployment & SSH Mastery gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Linux Server Deployment & SSH Mastery, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Linux Server Deployment & SSH Mastery comprend 4 leçons au total.

Au-delà des pare-feu : la défense active

Bienvenue dans la dernière leçon consacrée à la sécurité des serveurs ! Nous avons étudié les pare-feu et les audits, qui sont essentiels à la prévention. Mais que se passe-t-il lorsqu’un attaquant déterminé tente de contourner ces défenses ?

Cette leçon présente les systèmes de détection d’intrusion (IDS) et les systèmes de prévention d’intrusion (IPS). Ces outils ajoutent une couche de défense active et vous aident à repérer et à bloquer les activités malveillantes sur votre serveur.

Qu’est-ce qu’un IDS ?

Un système de détection d’intrusion (IDS) ressemble à un agent de sécurité qui surveille en permanence les activités suspectes. Il analyse le trafic réseau de votre serveur ou ses journaux système à la recherche de schémas révélateurs d’une attaque.

  • Surveillance passive : un IDS détecte les menaces et vous en informe.
  • Aucun blocage : il ne bloque ni n’empêche activement l’intrusion. Son rôle consiste uniquement à vous avertir.
  • Exemples : des outils comme Snort ou Suricata peuvent servir d’IDS réseau et analyser les données entrantes et sortantes.

Qu’est-ce qu’un IPS ?

Un système de prévention d’intrusion (IPS) va plus loin que le concept d’IDS. Au lieu de se contenter d’émettre une alerte, un IPS intervient activement pour arrêter les menaces détectées.

  • Protection active : il peut bloquer automatiquement les adresses IP malveillantes, mettre fin aux connexions suspectes ou supprimer les paquets dangereux.
  • Objectif de prévention : empêcher l’intrusion d’aboutir en temps réel.
  • Fail2Ban : un exemple populaire d’IPS basé sur l’hôte, sur lequel nous nous concentrerons aujourd’hui.

Présentation de Fail2Ban

Fail2Ban est un IPS puissant et libre, basé sur l’hôte. Il analyse les fichiers journaux (par exemple ceux de SSH, des serveurs web ou des serveurs de messagerie) à la recherche de tentatives de connexion échouées répétées ou d’autres schémas suspects.

Lorsqu’il détecte trop de tentatives échouées depuis une même adresse IP pendant une période donnée, Fail2Ban met automatiquement à jour les règles du pare-feu de votre serveur afin d’interdire temporairement ou définitivement cette adresse IP.

Fonctionnement de Fail2Ban

Fail2Ban repose sur trois concepts essentiels :

  • Filtres : ce sont des expressions régulières qui définissent les schémas à rechercher dans les fichiers journaux (par exemple, « failed password for root »).
  • Prisons : une prison associe un filtre à une action. Elle précise quel fichier journal surveiller, quel filtre utiliser et quelle action entreprendre lorsque les conditions du filtre sont remplies.
  • Actions : ce sont les commandes exécutées lorsqu’une adresse IP est interdite. Elles modifient généralement les règles du pare-feu (comme iptables ou ufw) pour bloquer l’adresse IP source.

Installer Fail2Ban

Fail2Ban est disponible dans les dépôts par défaut de la plupart des distributions Linux. Installons-le sur un système basé sur Debian (comme Ubuntu).

Commencez par mettre à jour la liste des paquets, puis installez le paquet fail2ban :

sudo apt update
sudo apt install fail2ban

Configuration de base : jail.local

Le fichier de configuration principal de Fail2Ban est /etc/fail2ban/jail.conf. Cependant, vous ne devez jamais modifier ce fichier directement, car il pourrait être écrasé lors des mises à jour.

Créez plutôt une copie nommée /etc/fail2ban/jail.local et effectuez vos modifications dans celle-ci. Ce fichier remplace les paramètres de jail.conf.

Voici quelques paramètres globaux importants que vous pouvez configurer dans jail.local :

  • bantime : durée pendant laquelle une adresse IP est interdite (par exemple, 10m pour 10 minutes).
  • findtime : période pendant laquelle les tentatives échouées sont comptabilisées (par exemple, 10m).
  • maxretry : nombre de tentatives échouées avant l’interdiction d’une adresse IP (par exemple, 5).

Activer la protection SSH

L’une des utilisations les plus courantes de Fail2Ban consiste à protéger SSH contre les attaques par force brute. Dans votre fichier /etc/fail2ban/jail.local, vous trouverez des sections pour différents services, appelées « prisons ».

Pour activer la prison SSH, il suffit généralement de définir enabled = true dans la section [sshd]. Vous pouvez également personnaliser ses valeurs bantime, findtime et maxretry.

Après la modification, redémarrez Fail2Ban pour que les changements prennent effet :

[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
bantime = 1h

sudo systemctl restart fail2ban

Surveiller Fail2Ban

Après avoir configuré et démarré Fail2Ban, vous voudrez vérifier son état et déterminer s’il interdit activement des adresses IP. Vous pouvez utiliser la commande fail2ban-client pour cela.

Pour vérifier l’état général de Fail2Ban :

sudo systemctl status fail2ban

Vérification rapide : configuration de Fail2Ban

Vous avez configuré Fail2Ban pour protéger votre service SSH. Vous avez défini maxretry = 3 et bantime = 1h.

Un attaquant tente de se connecter via SSH :

  1. Échec de connexion à 10:00:00
  2. Échec de connexion à 10:00:30
  3. Échec de connexion à 10:01:00
  4. Échec de connexion à 10:01:30

En supposant que findtime est défini sur 10 minutes, que devient l’adresse IP de l’attaquant ?

Récapitulatif : IDS, IPS et Fail2Ban

Excellent travail ! Vous avez appris à ajouter une couche de défense active à votre serveur :

  • IDS (système de détection d’intrusion) détecte les activités suspectes et vous en avertit.
  • IPS (système de prévention d’intrusion) détecte les menaces, vous en avertit et les bloque activement.
  • Fail2Ban est un IPS basé sur l’hôte qui analyse les journaux à la recherche de schémas malveillants et interdit les adresses IP fautives en mettant à jour les règles du pare-feu.
  • Vous avez appris à installer Fail2Ban, à configurer les paramètres globaux dans jail.local, à activer des prisons spécifiques (comme SSH) et à surveiller son état.

La mise en œuvre de Fail2Ban renforce considérablement la résistance de votre serveur aux attaques par force brute et à d’autres menaces automatisées. Continuez à pratiquer ces compétences pour créer des systèmes véritablement robustes et sécurisés !

Gratuit pour commencer

Apprends Linux Server Deployment & SSH Mastery avec un tuteur IA — gratuit

Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.

Cours
12
Leçons
48

Questions Fréquemment Posées

La leçon « Détection et prévention des intrusions » est-elle gratuite ?

Oui — le texte complet de « Détection et prévention des intrusions » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Linux Server Deployment & SSH Mastery, passe à CoddyKit PRO. Le cours Linux Server Deployment & SSH Mastery comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Détection et prévention des intrusions » ?

Installez et configurez des systèmes de détection des intrusions (IDS) comme Fail2Ban et comprenez les principes des systèmes de prévention des intrusions (IPS) pour défendre activement votre serveur. Tu pratiques Linux Server Deployment & SSH Mastery avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Linux Server Deployment & SSH Mastery ?

Aucune expérience préalable n'est requise. Linux Server Deployment & SSH Mastery sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.

Combien de temps prend la leçon « Détection et prévention des intrusions » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Linux Server Deployment & SSH Mastery ?

Oui. Chaque leçon Linux Server Deployment & SSH Mastery inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Audit de sécurité du serveur
  2. Règles de pare-feu avancées (IPTables)
  3. Détection et prévention des intrusions
  4. Journalisation centralisée et intégration SIEM
← Retour à Linux Server Deployment & SSH Mastery