Gestion des jails Fail2Ban

En tant qu'utilisateur avancé, vous souhaitez peut-être configurer l'utilisation de jails Fail2Ban pour bloquer les adresses IP. De quoi s'agit-il ? Une jail Fail2Ban combine un filtre et une ou plusieurs actions. Autrement dit, un filtre définit une expression régulière qui correspond à un modèle de tentative de connexion qui a échoué ou à une autre activité suspecte. Les actions définissent les commandes exécutées lorsque le filtre détecte une adresse IP suspecte.

Dans Plesk, il y a des jails préconfigurées pour tous les services d'hébergement (serveur Web, serveur de messagerie, serveur FTP). La plupart fonctionnent de la même manière : elles détectent les tentatives de connexion qui ont échoué et bloquent l'accès au service pour dix minutes. Ces jails requièrent une explication spéciale :

  • plesk-apache-badbot : recherche les récupérateurs de mails et les analyses de sécurité dans les fichiers de logs d'accès d'Apache. Les bannissements durent 2 jours.
  • plesk-horde et plesk-roundcube : détectent les échecs de connexion à la messagerie Web et bloquent l'accès au service Web pendant 10 minutes.
  • recidive : recherche les bannissements effectués par d'autres jails dans le propre log de Fail2Ban. Les hôtes qui ont été bannis cinq fois par d'autres jails au cours des dix dernières minutes sont bloqués. Le bannissement dure une semaine et s'applique à tous les services sur le serveur.
  • plesk-modsecurity : bannit les adresses IP détectées comme dangereuses par le pare-feu applicatif ModSecurity. Cette jail peut être activée uniquement si ModSecurity est en cours d'exécution. Les attaquants sont bannis même si ModSecurity fonctionne en mode "Détection uniquement". Le bannissement dure 10 minutes.

Les jails préconfigurées pour des composants Plesk non installés ne sont pas affichés dans la liste. Par exemple : si la messagerie Web Roundcube n'est pas installée, alors la jail plesk-roundcube ne s'affiche pas dans la liste des jails disponibles.

Afin de protéger vos services contre des menaces spécifiques, ainsi que les services tiers non livrés avec Plesk, vous envisagez peut-être de configurer vos propres jails. Vous pourrez les activer/désactiver, mettre à jour leurs paramètres et ajouter d'autres filtres utilisables par les jails.

Remarque : les jails fournies avec Plesk ne peuvent pas être supprimées. Vous pouvez uniquement les désactiver. Toutefois, vous êtes libre de supprimer les jails que vous avez créées.

Seules les jails pour les composants de Plesk installés s'affichent dans Plesk. Par exemple, si le serveur de messagerie Qmail n'est pas installé, alors la jail Qmail est masquée.

Si vous essayez d'activer simultanément plusieurs jails à l'aide de l'opération de groupe Activer et si l'une des jails ne parvient pas à démarrer, alors aucune jail n'est démarrée. Dans ce cas, activez les jails une par une.

Pour configurer une nouvelle jail :

  1. Allez dans Outils & Paramètres  > Bannissement d'adresses IP (Fail2Ban) > Jails > Ajouter une jail.
  2. Précisez les paramètres de la jail.

    Vous pouvez utiliser les filtres suivants déjà configurés dans Plesk :

    • apache-auth : pour les échecs d'authentification Apache
    • apache-badbots : pour les spambots et robots d'indexation malveillants
    • courierlogin : pour les échecs d'authentification Courier-IMAP et POP3
    • dovecot : pour les échecs d'authentification Dovecot IMAP, POP3 et Sieve
    • plesk-horde : pour les échecs d'authentification de la messagerie Web Horde
    • plesk-panel : pour les échecs d'authentification de Plesk
    • plesk-qmail : pour les échecs d'authentification SMTP QMail
    • plesk-roundcube : pour les échecs d'authentification de la messagerie Web Roundcube
    • postfix-sasl : pour les échecs d'authentification SMTP et SASL Postfix
    • proftpd : pour les échecs de connexion ProFTPD
    • recidive : pour les hôtes bannis régulièrement par Fail2Ban
    • sshd : pour les échecs de connexion SSH

    Vous pouvez utiliser les actions suivantes déjà configurées dans Plesk :

    • iptables : pour bannir les adresses IP via le pare-feu Iptables, sur un port unique
    • iptables-allports : pour bannir les adresses IP via le pare-feu Iptables, sur tous les ports
    • iptables-multiport : pour bannir les adresses IP via le pare-feu Iptables, sur plusieurs ports
    • sendmail : pour envoyer les notifications par mail via Sendmail

Pour ajouter un filtre utilisable par une jail :

  1. Allez sous  Outils & Paramètres  >  Bannissement d'adresses IP (Fail2Ban) > Jails > Gérer les filtres > Ajouter un filtre.
  2. Indiquez le nom du filtre ainsi que l'expression régulière utilisée pour rechercher les lignes des fichiers de log. Pour en savoir plus sur les filtres Fail2Ban, consultez la documentation Fail2Ban sous http://www.fail2ban.org/wiki/index.php/MANUAL_0_8#Filters. Comme Fail2Ban est une application Python, vous pouvez consulter la documentation Python sous https://docs.python.org/2/library/re.html afin d'en savoir plus sur les expressions régulières Python.