fail2ban et Plesk : Différence entre versions
(→Présentation) |
|||
Ligne 1 : | Ligne 1 : | ||
− | <!-- Links checked 17/10/18 --> | + | → <!-- Links checked 17/10/18 --> |
[[Catégorie:Linux]] | [[Catégorie:Linux]] | ||
[[Catégorie:Sécurité]] | [[Catégorie:Sécurité]] | ||
Ligne 59 : | Ligne 59 : | ||
* Quand une règle de Jail est activée sous Plesk elle passe à true dans /etc/fail2ban/jail.local | * Quand une règle de Jail est activée sous Plesk elle passe à true dans /etc/fail2ban/jail.local | ||
Exemples | Exemples | ||
− | actif dans Plesk | + | actif dans Plesk → '''enabled = true''' dans jail.local |
− | inactif dans Plesk | + | inactif dans Plesk → '''enabled = false''' dans jail.local |
* Il peut être intéressant d'être averti des bannissements, au moins dans un premier temps histoire de sentir l'intensité des attaques, en ajoutant à chaque nouvelle règle active l'instruction suivant au niveau de directive '''action''' | * Il peut être intéressant d'être averti des bannissements, au moins dans un premier temps histoire de sentir l'intensité des attaques, en ajoutant à chaque nouvelle règle active l'instruction suivant au niveau de directive '''action''' | ||
sendmail-whois[name=NNNNNNNNN, dest=root, sendername="Fail2Ban"] | sendmail-whois[name=NNNNNNNNN, dest=root, sendername="Fail2Ban"] |
Version du 3 juin 2019 à 11:17
→ Lien court vers cette page : https://vt.cx/feP QR code vers cette page : https://vt.cx/feP.qr
Sommaire
Présentation
Allié indispensable de la sécurité d'un serveur, fail2ban veille sur les logs et bloque les IP de ceux dont le nombre de tentatives de connexions ratées dépasse une limite et ce, pour un certain délai. fail2ban se configure pour chaque type de programme susceptible d'être hacké par force brute (succession de tentatives de login) parmi lesquels Plesk figure en bonne position. Depuis peu, Plesk intègre une option d'installation et de paramétrage de fail2ban comme expliqué ici.
Attention ! Lorsque Plesk gère fail2ban il ne faut jamais arrêter, relancer ou lancer fail2ban via la console en SSH. Ceci provoque d'importantes perturbations et l'affichage sous Plesk de messages comme :
Erreur: Impossible de mettre à jour les paramètres : f2bmng failed: ERROR Server already running
Pour remédier à cela, il convient de tuer le service fail2ban et de retirer son support comme expliqué à https://support.plesk.com/hc/en-us/articles/213923405-Failed-to-start-fail2ban-service
Procédure
Installation de fail2ban pour Plesk
- Se connecter à Plesk en mode administrateur
- Sous Plesk cliquer sur Outils & Paramètres dans la colonne de gauche
- Choisir Mises à jour et à niveau dans la colonne Plesk de la liste d'Outils & Paramètres
- Dans le cas d'une première connexion indiquer les identifiants d'administration du serveur (root + mot de passe)
- Ceci fait, la page Installer et mettre à niveau les produits Parallels s'ouvre
- Cliquer sur Ajouter/supprimer des composants
- Cela ouvre une arborescence dans laquelle il faut choisir Fail2Ban authentication failure monitor
- Cliquer sur Continuer pour lancer l'installation du module fail2ban pour Plesk
- Ceci fait il ne reste qu'à le configurer comme expliqué ci-après
Configuration de fail2ban pour Plesk
L'installation décrite plus haut faite, une nouvelle option est dès lors disponible pour le paramétrage de fail2ban pour Plesk comme expliqué maintenant :
- Sous Plesk cliquer sur Outils & Paramètres dans la colonne de gauche
- Choisir Bannissement d'adresses IP (Fail2Ban) dans la colonne Sécurité de la liste d'Outils & Paramètres (il est normalement pointé par un signe nouveau lors de la première installation)
- S'affiche l'écran Bannissement d'adresses IP qui donne accès à plusieurs options dont le paramétrage :
- Adresses IP bannies : liste des éventuelles IP blacklistées par fail2ban
- Adresses IP de confiance : liste des IP qui ne peuvent être bannies quoi qu'il arrive. On les ajoute en cliquant sur Ajouter une IP de confiance
- Jail : liste de toutes les filtres de bannissement installés. Elles peuvent être actives ou non selon les besoins. Cela correspond aux règles placées dans /etc/fail2ban/filter.d
- Log : compte rendu des bannissements effectués
- Paramètre : c'est ici que se configurent les règles de bannissement pour toute tentative d'intrusion. Les paramètres sont :
- Période de bannissement de l'adresse IP (bantime) : durée du bannissement en secondes (par défaut 3600 qui équivaut à 1 heure)
- Intervalle de détection des attaques ultérieures (findtime) (en secondes) : intervalle pendant lequel la répétition d'une tentative de log infructueuse est comptabilisée (par défaut 600 qui équivaut à 10 minutes)
- Nombre d'échecs avant le bannissement de l'adresse IP (maxretry) : Nombre de tentatives infructueuses de logins générant le bannissement
- Une fois les paramètres modifiés (si nécessaire) cliquer sur OK pour les sauvegarder
- D'une manière générale les paramètres sont à déterminer en fonction de l'intensité des tentatives d'intrusion qui sont faites, dans la quasi totalité des cas, par des bots qui passe leur temps à tenter des intrusions par force brute sur tous les logins qu'ils trouvent sur leur route (SSH, roundcube, CMS, Plesk, Postfix, etc.)
Informations complémentaires
- Les données de paramétrages de fail2ban sont enregistrées dans /etc/fail2ban/jail.local et il est possible d'affiner le paramétrage de chaque règle sans risquer l'effacement des règles particulières par Plesk qui n'intervient que sur les paramètres généraux suivant :
- bantime
- findtime
- maxretry
- Quand une règle de Jail est activée sous Plesk elle passe à true dans /etc/fail2ban/jail.local
Exemples actif dans Plesk → enabled = true dans jail.local inactif dans Plesk → enabled = false dans jail.local
- Il peut être intéressant d'être averti des bannissements, au moins dans un premier temps histoire de sentir l'intensité des attaques, en ajoutant à chaque nouvelle règle active l'instruction suivant au niveau de directive action
sendmail-whois[name=NNNNNNNNN, dest=root, sendername="Fail2Ban"] où NNNNNNNNNN indique la règle qui envoie le message (ex. SSH, roundcube, Plesk ou autre selon le choix effectué au niveau des Jails)
Exemple action = iptables[name=SSH, port=ssh, protocol=tcp] sendmail-whois[name=SSH, dest=root, sendername="Fail2Ban"]
- Voir l'article fail2ban pour un complément d'informations (interaction avec iptables par exemple)