Comment Installer Fail2ban sur votre Raspberry Pi ?


Lorsque vous utilisez un Raspberry Pi dans une entreprise ou que vous avez des accès ouverts, il est conseillé de réfléchir un peu à la sécurité.
Vous n’êtes peut-être pas inquiet qu’un Raspberry Pi soit compromis, mais il peut devenir une porte d’accès facile à l’ensemble de votre réseau.
Fail2ban est un logiciel qui détecte les tentatives d’accès malveillant à un ordinateur et les bloque.

L’installation de Fail2ban peut se faire comme pour n’importe quel paquet, en utilisation la commande apt depuis Raspberry Pi OS.
Il faut ensuite configurer les fichiers dans /etc/fail2ban pour activer les options souhaitées.

Je vais vous montrer exactement comment faire dans ce post, de la théorie sur Fail2ban à la configuration des principaux services que vous pouvez surveiller.

Introduction à Fail2ban

Fail2ban est principalement un outil de prévention des intrusions, mais pas seulement.
Il fonctionne sur le fichier journal des services et utilise un modèle pour détecter les activités malveillantes.

Par exemple, vous pouvez vérifier le fichier journal SSH pour détecter les erreurs de mots de passe trop fréquentes, puis bloquer l’adresse IP dans votre pare-feu.

Tout est fait automatiquement, avec une liste de choses à surveiller et des actions à prendre en fonction du nombre de lignes de connexion dans le fichier.
Mais vous pouvez détecter une intrusion sur n’importe quel service, comme Apache, Postfix ou Asterisk.
S’il existe un fichier journal où vous pouvez repérer les tentatives d’attaques, vous pouvez le gérer avec Fail2ban.

Sur mon lieu de travail, je l’installe à chaque fois que je prépare un nouveau serveur Linux, car même avec la configuration par défaut, Fail2ban peut faire un bon travail.
Mais il devient un outil incontournable quand on sait exactement ce qu’il faut y configurer 🙂

Je vais vous le présenter dans cet article, mais n’oubliez pas qu’il n’y a pas de limite.

Installer le paquet Fail2ban

Commençons par l’installation de Fail2ban sur Raspberry Pi.
Comme je l’ai dit en introduction, c’est facile, mais je prendrai le temps dans cette partie de vous montrer également le chemin de configuration et les commandes que vous devez connaître.

Installez Raspberry Pi OS sur votre Pi

Comme souvent, la première étape pour tester Fail2ban sur votre Raspberry Pi est d’y installer Raspberry Pi OS.
J’utilise Raspberry Pi OS Buster Lite, et vous pouvez l’installer en suivant ce tutoriel si nécessaire

Mais je ne pense pas que la version Raspberry Pi OS changera quoi que ce soit à cet article.
Vous pouvez également utiliser une autre distribution si vous préférez, car elle est disponible dans la plupart des systèmes Linux.

Après le premier démarrage (ou si vous avez déjà installé Raspberry Pi OS), assurez-vous de suivre les étapes suivantes avant d’aller plus loin :

  • Changer le mot de passe par défaut: vous ne pouvez pas vous préoccuper de la sécurité et laisser le mot de passe par défaut 🙂
    passwd
  • Mettez votre système à jour : même raison, assurez-vous d’être à jour
    sudo apt update && sudo apt upgrade
  • Activer SSH : vous pouvez créer le fichier /boot/ssh ou simplement démarrer le service
    sudo service ssh start

Ok, vous pouvez maintenant passer à l’installation Fail2ban.

Installer Fail2ban

Fail2ban est disponible dans les dépôts apt.
Pour l’installer, utilisez cette commande:
sudo apt install fail2ban

C’est tout. 🙂
Fail2ban démarre automatiquement avec la configuration par défaut.

Maîtrisez Raspberry Pi en 30 jours
Téléchargez le livre numérique.
Découvrez les secrets du Raspberry Pi à travers un challenge de 30 jours.

Fichiers de configuration principaux

Pour compléter cette partie, l’emplacement des fichiers de configuration est: /etc/failban

Vous trouverez ici tous les fichiers de configuration par défaut:

Nous entrerons dans les détails plus tard, mais pour l’instant voici ce que vous devez savoir:

  • fail2ban.conf : C’est le fichier de configuration principal avec les options par défaut pour le service fail2ban. Vous ne le changerez probablement jamais
  • jail.conf : Dans ce fichier, vous trouverez les choses que vous voulez surveiller (fail2ban appelle cela “jails »). En gros, vous définissez ici la configuration principale pour un futur test, comme le port de service et le fichier log concerné
  • Dossier jail.d : Vous allez créer ici un nouveau fichier pour chaque fichier log à surveiller, avec des options spécifiques comme la liste blanche des IP et la durée du bannissement
  • Dossier filter.d : Enfin, dans ce dossier, vous pouvez créer ou modifier un filtre pour chaque service à surveiller. Un filtre est la définition de ce que vous recherchez dans le fichier journal correspondant

Il est difficile de vous donner une vue d’ensemble sans donner plus de détails, mais c’est une étape importante avant la partie configuration où nous allons examiner cela en détail 🙂

Commandes utiles Fail2ban

Pour finir, voici quelques commandes à connaître sur Fail2ban:

  • sudo service fail2ban start | stop | restart | status | reload : Gestion du service Fail2ban
  • sudo fail2ban-server start | stop | restart | status | reload : Même chose, mais la commande status vous donne des informations supplémentaires comme les jails actuellement activées
  • sudo fail2ban-client <COMMAND> : Je ne peux pas vous donner toutes les commandes disponibles ici, mais vous pouvez l’utiliser pour obtenir ou définir la configuration en ligne de commande (liste des commandes ici)

C’est tout pour les informations de base.
Fail2ban est facile à installer, mais il y a beaucoup de choses que vous pouvez faire avec lui que je ne peux pas vous donner dans un court message comme celui-ci.

Modifier les fichiers de configuration de Fail2ban

Maintenant que vous connaissez les fichiers à vérifier et les commandes à utiliser, je vais vous apprendre comment faire.
Je vais vous montrer un échantillon de base, et vous donner des idées sur d’autres choses que vous pouvez sécuriser avec Fail2ban.

Configuration SSH avec Fail2ban

La première chose que j’utilise toujours sur mes serveurs est la protection SSH.
Si votre Raspberry Pi est accessible depuis Internet ou même sur un grand réseau, les conseils de sécurité de base sur SSH ne suffisent pas toujours à prévenir les attaques.

Fail2ban peut vous aider en détectant les tentatives de connexion excessives et en bloquant les adresses IP correspondantes.
Par défaut, il est activé dès que vous installez Fail2ban.

Mais c’est un bon exercice pour vérifier ce qu’ils ont fait dans la configuration :

  • Dans jail.conf
    • Il existe des valeurs par défaut pour bantime, findtime et maxretry
    • Vous pouvez trouver une explication de chacun d’entre eux dans la capture d’écran ci-dessous :

      Vous pouvez le modifier au début du fichier pour les appliquer à toutes les prisons, ou les spécifier pour chaque jail si nécessaire
    • Le nom de la configuration SSH est « sshd ».
      Il tient en 3 lignes:

      Pour une configuration de base avec tous les paramètres, il suffit de spécifier le port à vérifier, le chemin d’accès et le backend
  • Pour une nouvelle jail personnalisée, vous pouvez définir le chemin d’accès et la variable de backend dans le fichier path-common.conf, ou simplement utiliser le chemin complet ici
  • Pour l’activer, créez un nouveau fichier dans jail.d, ou ajoutez-le à celui par défaut (/etc/fail2ban/jail.d/defaults-debian.conf)
    Après l’installation, vous avez juste la jail sshd ici:
  • Je ne l’inclurai pas ici, car il est trop long, mais les expressions régulières à rechercher sont disponibles dans le fichier filter.d/sshd.conf
  • Pour une vérification personnalisée, vous devez donc utiliser un fichier de filter.d/ ou en ajouter un nouveau

C’est tout ce que vous devez savoir sur une configuration de base.

Autres services que vous pouvez configurer sur Fail2ban

Une fois que vous avez compris le fonctionnement de Fail2ban, vous pouvez essayer de l’activer ou de le mettre en œuvre pour d’autres services.

Je recommande de vérifier directement dans les dossiers jail.d et filter.d, car il y a déjà de nombreux fichiers existants que vous pouvez utiliser facilement :

Sauf si vous avez un service très spécifique à ajouter, vous trouverez la plupart du temps ce dont vous avez besoin ici (Nginx, Asterisk, serveur FTP, …).

Vous pouvez également consulter le web pour trouver des idées spécifiques que d’autres personnes ont peut-être déjà faites et partagées. Par exemple, vous pouvez trouver des guides HOWTO sur le wiki Fail2ban pour de nombreux services supplémentaires.

Vous pouvez également trouver plus d’aide sur Fail2ban sur ce wiki.

Conclusion

C’est la fin de mon introduction sur Fail2ban. Comme beaucoup de services sur Linux et Raspberry Pi, vous devrez l’essayer pour savoir exactement comment il fonctionne et ajouter vos premiers services pour acquérir de l’expérience.

Si la sécurité est un sujet important pour vous (sur Raspberry Pi ou Linux), je vous recommande également de lire mes 17 conseils de sécurité à suivre après l’installation d’un Raspberry Pi.


Ce tutoriel ne marche plus à 100%? Prévenez-moi pour que je le mette à jour!

Restez connectés!

Tenez vous informés des dernières nouveautés en vous inscrivant ici. Pas de panique, il s'agit seulement d'un mail par mois histoire de rester à jour :)

Patrick Fromaget

Je suis l'auteur principal et le créateur de RaspberryTips. Mon but est de vous aider sur tous vos problèmes qui concernent Raspberry Pi en publiant des guides détaillés et des tutoriels rapides. Dans la vraie vie, je suis administrateur système (Linux principalement) avec une solide expérience dans le développement web.

Recent Posts

Maîtrisez Raspberry PiTéléchargez le livre numérique

Découvrez les secrets du Raspberry Pi dans un défi de 30 jours