Gérer les 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 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.
Dans Plesk, il existe des jails préconfigurées pour tous les services d’hébergement (serveur Web, serveur de messagerie, serveur FTP, etc.). 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. La liste de ces jails est visible sur l’onglet Jails dans Outils & Paramètres > Bannissement d’adresses IP (Fail2Ban).
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 :
- Allez sous Outils & Paramètres > Bannissement d’adresses IP (Fail2Ban) > Jails.
- 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 :
-
Allez sous Outils & Paramètres > Bannissement d’adresses IP (Fail2Ban) > Jails.
-
Sélectionnez une jail et cliquez sur Désactiver.
Configuration des paramètres de jail
Pour configurer une nouvelle jail :
-
Allez sous Outils & Paramètres > Bannissement d’adresses IP (Fail2Ban) > Jails > Ajouter une jail.
-
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.
-
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.
-
Dans le champ Chemin d’accès du log, indiquez les fichiers de log Fail2ban dont il faut surveiller les potentielles attaques.
-
Définissez la durée de blocage des adresses IP en secondes.
-
Définissez le nombre d’échecs de connexion.
-
Cliquez sur OK.
Pour modifier les paramètres d’une jail existante :
- Allez sous Outils & Paramètres > Bannissement d’adresses IP (Fail2Ban) > Jails, cliquez sur le nom du certificat, puis sur Changer les paramètres.
- Modifiez les paramètres du compte puis cliquez sur OK.
Pour supprimer une jail :
- Allez sous Outils & Paramètres > Bannissement d’adresses IP (Fail2Ban) > Jails.
- Sélectionnez la jail et cliquez sur Supprimer.
Note: les jails fournies avec Plesk ne peuvent être supprimées. Vous pouvez uniquement les désactiver. Toutefois, vous pouvez supprimer les jails que vous avez créées.
Gestion de filtres
Pour ajouter un filtre utilisable par une jail :
- Allez sous Outils & Paramètres > Bannissement d’adresses IP (Fail2Ban) > Jails > Gérer les filtres > Ajouter un filtre.
- 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.