📒  Confiance et sécurité

Comment installer et configurer Fail2ban sur les serveurs Linux ?

Comment installer fail2ban et le configurer dans les serveurs Linux (ubuntu / debian) en utilisant fail2ban conf et en le configurant sur ubuntu et en installant fail2ban dans votre serveur.
Fail2ban peut vraiment protéger et aider votre sécurité sur les serveurs Linux en surveillant les activités malveillantes et les activités suspectes, et en même temps il peut bannir et bloquer les adresses IP.
Il est important de savoir comment installer fail2ban ou configurer fail2ban correctement pour qu’il fonctionne sans problème sur votre serveur.

Configuration requise :
Debian / Ubuntu
Autres Linux (les commandes de configuration seront différentes)

NOTE : Vous ne pouvez pas utiliser fail2ban dans l’hébergement partagé, vous aurez besoin d’utiliser dans notre hébergement VPS ou les serveurs dédiés d’ Alexhost sont les meilleurs services pour l’utiliser.

Qu’est-ce que Fail2ban ?

configure fail2ban

Fail2Ban est une application d’analyse de journaux qui renforce la sécurité des serveurs Linux en surveillant les fichiers journaux à la recherche d’activités malveillantes et en prenant automatiquement des mesures pour bannir ou bloquer les adresses IP associées à un comportement suspect. Son objectif principal est de protéger les serveurs contre divers types d’attaques, en particulier celles qui impliquent des tentatives de force brute pour obtenir un accès non autorisé. Il est important de savoir comment installer correctement fail2ban sur votre serveur.

Voici comment Fail2Ban fonctionne en général :

  1. Surveillance des fichiers journaux : Fail2Ban surveille en permanence les fichiers journaux spécifiés à la recherche de modèles indiquant des menaces potentielles pour la sécurité. Ces fichiers journaux incluent ceux associés aux tentatives d’authentification, tels que /var/log/auth.log pour SSH ou /var/log/apache2/error.log pour Apache.
  2. Règles de filtrage : Fail2Ban utilise des règles de filtrage prédéfinies ou configurées par l’utilisateur pour identifier des modèles spécifiques dans les entrées du journal. Ces modèles indiquent généralement des tentatives de connexion échouées, des mots de passe devinés ou d’autres activités suspectes.
  3. Modèles de correspondance : Lorsqu’une entrée de journal correspond à un modèle prédéfini, Fail2Ban la considère comme un “échec” ou une “correspondance” Les filtres sont conçus pour reconnaître les schémas d’attaque courants, tels que les tentatives répétées de connexion infructueuse à partir de la même adresse IP.
  4. Actions d’interdiction : Après un certain nombre d’entrées correspondantes (configuré par le paramètre maxretry), Fail2Ban prend des mesures pour bloquer l’adresse IP incriminée. La durée de l’interdiction est déterminée par le paramètre bantime. Cette interdiction temporaire permet de contrecarrer les attaques automatisées en rendant l’accès plus difficile pour les attaquants.
  5. Les prisons : Fail2Ban organise ses configurations de surveillance et de bannissement en unités appelées “jails” Chaque prison correspond à un service ou à un ensemble de services spécifiques. Par exemple, il peut y avoir une prison pour SSH, une autre pour Apache, etc. La configuration de chaque prison, y compris les filtres et les paramètres d’interdiction, est définie dans les fichiers de configuration de Fail2Ban.
  6. État et interaction : Les administrateurs système peuvent vérifier l’état de Fail2Ban, afficher les adresses IP bannies et débanaliser manuellement les adresses si nécessaire. Fail2Ban enregistre également ses actions, fournissant aux administrateurs un historique des adresses IP bannies et des événements pertinents.

En bannissant automatiquement les adresses IP qui présentent un comportement malveillant, Fail2Ban contribue à protéger les serveurs contre les attaques par force brute, les devinettes de mots de passe et d’autres menaces pour la sécurité. Il s’agit d’un outil précieux pour améliorer la sécurité globale d’un serveur Linux. Toutefois, il est essentiel de configurer Fail2Ban de manière appropriée pour votre environnement spécifique et d’examiner régulièrement ses journaux afin de s’assurer de son bon fonctionnement.

### Étape 1 : Installation de Fail2Ban

Ouvrez un terminal sur votre serveur Ubuntu ou Debian et exécutez les commandes suivantes :

sudo apt update

sudo apt install fail2ban

### Étape 2 : Configurer Fail2Ban

  1. Créez une copie du fichier de configuration par défaut :

sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

  1. Ouvrez le fichier `jail.local` dans un éditeur de texte. Vous pouvez utiliser `nano` ou `vim` :

sudo nano /etc/fail2ban/jail.local

  1. Configurez les paramètres de base dans le fichier `jail.local`. Voici quelques options courantes :

bantime: Durée (en secondes) pendant laquelle une IP sera bannie. La valeur par défaut est de 10 minutes (600 secondes).

findtime: Fenêtre temporelle (en secondes) dans laquelle un nombre défini d’échecs doit se produire pour que l’IP soit bannie.

maxretry: Le nombre d’échecs autorisés avant l’interdiction.

Exemple :

[DEFAULT]

bantime = 600

temps de recherche = 600

maxretry = 3

4. Configurez les filtres pour les services spécifiques que vous voulez que Fail2Ban surveille. Les filtres sont définis dans le fichier `jail.local` dans la section `[]`. Les services courants incluent SSH (`sshd`), Apache (`apache`), et Nginx (`nginx`).

Exemple pour SSH :

[sshd]

enabled = true

port = ssh

filter = sshd

logpath = /var/log/auth.log

maxretry = 5

Note : Assurez-vous que le `port` et le `logpath` correspondent à votre configuration spécifique.

  1. Sauvegardez le fichier `jail.local` et quittez l’éditeur de texte.

### Étape 3 : Redémarrer Fail2Ban

Après avoir apporté des modifications à la configuration, redémarrez Fail2Ban pour appliquer les nouveaux paramètres :

sudo systemctl restart fail2ban

### Étape 4 : Vérifier l’état de Fail2Ban

Vous pouvez vérifier l’état de Fail2Ban avec :

sudo fail2ban-client status

Cela devrait afficher des informations sur les prisons et leur état.

### Étape 5 : Tester Fail2Ban

Pour tester le fonctionnement de Fail2Ban, générez intentionnellement quelques tentatives de connexion échouées sur le service surveillé (par exemple, SSH). Après avoir atteint la valeur `maxretry` spécifiée, Fail2Ban devrait bannir l’adresse IP correspondante.

N’oubliez pas d’adapter ces instructions en fonction de votre système Ubuntu ou Debian et de la configuration des services. Prenez toujours en compte les implications de vos paramètres en termes de sécurité, et examinez régulièrement les journaux pour détecter tout comportement inattendu.

Note : Lorsque vous configurez fail2ban sur votre serveur, ne bloquez pas le port 22 à moins d’être sûr de ce que vous faites, dans ce cas vous bloquerez le port SSH par défaut.

Avertissement : Fail2ban est un excellent outil pour protéger vos serveurs linux, mais il doit être configuré avec soin. Pour éviter d’être banni, mettez votre IP et d’autres IP que vous jugez importantes sur une liste blanche. Utiliser fail2ban et le configurer sans le faire correctement peut vous faire perdre la connexion à votre serveur, il est important de savoir comment installer fail2ban sur votre serveur (Ubuntu, Debian, CentOS etc).