Résumé: If Fail2Ban is enabled on your Plesk server, you may want to configure one or more Fail2Ban jails that are used to block IP addresses.

In this topic, you will learn how to create, configure, remove, activate, and deactivate Fail2Ban jails. You will also learn how to add filters used by Fail2Ban jails.

Vue d’ensemble

De quoi s’agit-il ? Une jail Fail2Ban combine un filtre et au moins une action. Un filtre définit une expression régulière qui correspond à un modèle de tentative de connexion échouée ou à une autre activité suspecte. Les actions définissent les commandes exécutées lorsque le filtre détecte une adresse IP suspecte.

Une jail peut être active ou inactive. Lorsque le service Fail2Ban est en cours d’exécution, seules les jails actives sont utilisées pour surveiller les fichiers de log et bannir les adresses IP suspectes.

In Plesk, there are preconfigured jails for all hosting services (web server, mail server, FTP server, and so on). Most of them work in the same way: they detect failed login attempts and block access to the service for ten minutes. These jails are listed at the « Jails » tab at Tools & Settings > IP Address Banning (Fail2Ban) (under « Security »).

image list of jails

Les jails préconfigurées suivantes sont disponibles :

  • plesk-apache : surveille les échecs d’autorisation Apache et bloque les attaquants pendant 10 minutes.
  • plesk-apache-badbot : recherche les récupérateurs de mails et les analyses de sécurité dans les fichiers de log d’accès d’Apache. Les bannissements durent deux jours.
  • plesk-dovecot : surveille les échecs d’authentification Dovecot IMAP, POP3 et Sieve et bloque les attaquants pendant 10 minutes.
  • 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.
  • plesk-modsecurity : bannit les adresses IP identifié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.
  • plesk-panel : détecte les échecs de connexion à Plesk et bloque les attaquants pendant 10 minutes.
  • plesk-postfix : surveille les échecs d’authentification Postfix SMTP et SASL et bloque les attaquants pendant 10 minutes.
  • plesk-proftpd : surveille les échecs de connexion ProFTPD et bloque les attaquants pendant 10 minutes.
  • plesk-wordpress : surveille les échecs d’authentification WordPress et bloque les attaquants pendant 10 minutes.
  • recidive : surveille 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.
  • ssh : surveille les échecs de connexion SSH et bloque les attaquants pendant 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 pouvez envisager 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.

Activation ou désactivation d’une jail :

Pour activer une jail :

  1. Connectez-vous à Plesk.
  2. Go to  Tools & Settings > IP Address Banning (Fail2Ban) (under « Security »), and then go to the « Jails » tab.
  3. Sélectionnez une jail et cliquez sur Activer. Cette option n’est disponible que lorsque le service Fail2Ban est en cours d’exécution (case Activer la détection d’intrusion cochée sur l’onglet Paramètres).

Note: Si vous essayez d’activer simultanément plusieurs jails via 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 désactiver une jail :

  1. Connectez-vous à Plesk.
  2. Go to  Tools & Settings > IP Address Banning (Fail2Ban) (under « Security »), and then go to the « Jails » tab.
  3. Sélectionnez une jail et cliquez sur Désactiver.

Configuration des paramètres de jail

Pour configurer une nouvelle jail :

  1. Connectez-vous à Plesk.

  2. Go to  Tools & Settings > IP Address Banning (Fail2Ban) (under « Security »), and then go to the « Jails » tab.

  3. Cliquez sur Ajouter une jail.

  4. Sélectionnez le filtre.

    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.
    • plesk-courierlogin, pour les échecs d’authentification Courier-IMAP et POP3.
    • plesk-dovecot, pour les échecs d’authentification Dovecot IMAP, POP3 et Sieve.
    • plesk-horde, pour les échecs d’authentification de la messagerie Web Horde.
    • plesk-modsecurity, pour les attaques contre des applications Web, détectées par le pare-feu d’application Web ModSecurity.
    • 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.
    • plesk-wordpress, pour les échecs d’authentification de WordPress.
    • postfix-sasl, pour les échecs d’authentification SMTP et SASL Postfix.
    • proftpd, pour les échecs de connexion ProFTPD.
    • recidive, pour les hôtes bannis plusieurs fois par Fail2Ban.
    • sshd, pour les échecs de connexion SSH.

    Vous pouvez également ajouter votre propre filtre. Pour plus d’informations, consultez la section Gérer les filtres ci-dessous.

  5. Indiquez l’action de la jail.

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

    • iptables, pour bloquer un attaquant sur un seul port.
    • iptables-allports, pour bloquer un attaquant sur tous les ports.
    • iptables-multiport, pour bloquer un attaquant sur plusieurs ports.
    • sendmail, pour envoyer un mail de notification à une certaine adresse mail.

    Sélectionnez une action dans le menu Actions et cliquez sur Ajouter pour l’ajouter à la jail. Vous pouvez ajouter autant d’actions que vous le souhaitez à une jail. Les actions peuvent être personnalisées selon vos besoins. Par exemple, vous pouvez indiquer une adresse mail pour l’envoi de notifications ou préciser les ports à fermer.

  6. Dans le champ Chemin d’accès du log, indiquez les fichiers de log Fail2Ban dont il faut surveiller les potentielles attaques.

  7. Définissez la durée de blocage des adresses IP en secondes.

  8. Définissez le nombre d’échecs de connexion.

  9. Cliquez sur OK.

    image edit jail settings

Pour modifier les paramètres d’une jail existante :

  1. Connectez-vous à Plesk.
  2. Go to  Tools & Settings > IP Address Banning (Fail2Ban) (under « Security »), and then go to the « Jails » tab.
  3. Click the jail’s name, and then click Change Settings.
  4. Modifiez les paramètres du compte puis cliquez sur OK.

Pour supprimer une jail :

  1. Connectez-vous à Plesk.
  2. Go to  Tools & Settings > IP Address Banning (Fail2Ban) (under « Security »), and then go to the « Jails » tab.
  3. Sélectionnez la jail et cliquez sur Supprimer.

Note: You can only remove custom jails. Jails shipped with Plesk cannot be removed, but can be deactivated.

Gestion de filtres

Pour ajouter un filtre utilisable par une jail :

  1. Connectez-vous à Plesk.
  2. Go to  Tools & Settings > IP Address Banning (Fail2Ban) (under « Security »), and then go to the « Jails » tab.
  3. Click Manage Filters, and then click Add Filter.
  4. 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. Fail2Ban étant 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.