fail2ban et Plesk : Différence entre versions
(→Informations complémentaires) |
|||
(13 révisions intermédiaires par un utilisateur sont masquées) | |||
Ligne 1 : | Ligne 1 : | ||
+ | <!-- Links checked 17/10/18 --> | ||
+ | [[Catégorie:Linux]] | ||
+ | [[Catégorie:Plesk]] | ||
+ | [[Catégorie:Sécurité]] | ||
+ | '''[[Lien court]]''' vers cette page : https://vt.cx/feP | ||
+ | '''[[QR code]]''' vers cette page : https://vt.cx/feP.qr | ||
+ | <html> | ||
+ | <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> | ||
+ | <!-- VT2 --> | ||
+ | <ins class="adsbygoogle" | ||
+ | style="display:inline-block;width:468px;height:60px" | ||
+ | data-ad-client="ca-pub-3341840374417340" | ||
+ | data-ad-slot="6349432125"></ins> | ||
+ | <script> | ||
+ | (adsbygoogle = window.adsbygoogle || []).push({}); | ||
+ | </script> | ||
+ | </html> | ||
+ | |||
= Présentation = | = Présentation = | ||
− | Allié indispensable de la sécurité d'un serveur, | + | 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. |
+ | <br/><br/> | ||
+ | |||
+ | <span style="color: #FF0000;">'''Attention !'''</span> 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 = | = Procédure = | ||
− | == Installation de | + | == Installation de fail2ban pour Plesk == |
− | * Sous | + | * Se connecter à Plesk en mode administrateur |
− | * Choisir '''Mises à jour et à niveau''' dans la colonne | + | * Sous Plesk cliquer sur '''Outils & Paramètres''' dans la colonne de gauche |
− | * Dans le cas d'une première connexion indiquer les identifiants d'administration du '''[[serveur]]''' ( | + | * 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 | * Ceci fait, la page '''Installer et mettre à niveau les produits Parallels''' s'ouvre | ||
* Cliquer sur '''Ajouter/supprimer des composants''' | * Cliquer sur '''Ajouter/supprimer des composants''' | ||
− | * Cela ouvre une arborescence dans laquelle il faut choisir ''' | + | * Cela ouvre une arborescence dans laquelle il faut choisir '''Fail2Ban authentication failure monitor''' |
− | * Cliquer sur '''Continuer''' pour lancer l'installation du module | + | * 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 | * Ceci fait il ne reste qu'à le configurer comme expliqué ci-après | ||
− | == Configuration de | + | == 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 | + | 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 | + | * 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) | * 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 | + | * S'affiche l'écran '''Bannissement d'adresses IP''' qui donne accès à plusieurs options dont le paramétrage : |
− | ** '''Adresses | + | ** '''Adresses IP bannies''' : liste des éventuelles IP '''[[blacklistées]]''' par fail2ban |
− | ** '''Adresses | + | ** '''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 | ** '''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 | ** '''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è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 | + | *** '''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 | + | *** '''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 | + | *** '''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 | ** 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 | + | ** 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 = | = Informations complémentaires = | ||
− | * Les données de paramétrages de | + | * 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''' | ** '''bantime''' | ||
** '''findtime''' | ** '''findtime''' | ||
** '''maxretry''' | ** '''maxretry''' | ||
− | * Quand une règle de | + | * Quand une règle de Jail est activée sous Plesk elle passe à true dans /etc/fail2ban/jail.local |
Exemples | Exemples | ||
− | actif dans | + | actif dans Plesk → '''enabled = true''' dans jail.local |
− | inactif dans | + | inactif dans Plesk → '''enabled = false''' dans jail.local |
− | * Il peut être intéressant d'être averti des | + | * 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"] | ||
− | où NNNNNNNNNN indique la règle qui envoie le message (ex. | + | où NNNNNNNNNN indique la règle qui envoie le message (ex. SSH, roundcube, Plesk ou autre selon le choix effectué au niveau des Jails)<br/> |
Exemple | Exemple | ||
action = iptables[name=SSH, port=ssh, protocol=tcp] | action = iptables[name=SSH, port=ssh, protocol=tcp] | ||
sendmail-whois[name=SSH, dest=root, sendername="Fail2Ban"] | sendmail-whois[name=SSH, dest=root, sendername="Fail2Ban"] | ||
− | * Voir l'article | + | * Voir l'article fail2ban pour un complément d'informations (interaction avec iptables par exemple) |
= Articles [[Vulgum Techus]] = | = Articles [[Vulgum Techus]] = | ||
* [[fail2ban]] | * [[fail2ban]] | ||
+ | * [[iptables]] | ||
* [[IP]] | * [[IP]] | ||
* [[Plesk]] | * [[Plesk]] | ||
+ | |||
+ | = Commentaires = | ||
+ | {{#widget:DISQUS | ||
+ | |id=vulgumtechus | ||
+ | }} |
Version actuelle en date du 3 juin 2019 à 12:01
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)