fail2ban et Plesk : Différence entre versions

De Vulgum Techus
Aller à : Navigation, rechercher
(Page créée avec « = 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 ten... »)
 
 
(18 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, '''[[fail2ban]]''' veille sur les '''logs''' et bloque les '''[[IP]]''' de ceux dont le nombre de tentatives de connexions ratées dépasse un certain nombre et ce, pour un certain délai. '''[[fail2ban]]''' se configure pour chaque type de programme susceptible d'être hacké par la '''force brute''' (succession de tentatives de '''login''') parmi lesquel '''[[Plesk]]''' figure en bonne position. Depuis peu, '''[[Plesk]]''' intègre une option d'installation et de paramétrage de '''[[fail2ban]]''' comme expliqué ici.
+
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 [[fail2ban]] pour [[Plesk]] =
+
== Installation de fail2ban pour Plesk ==
* Sous '''[[Plesk]]''' cliquer sur '''Outils & Paramètres''' dans la colonne de gauche
+
* Se connecter à Plesk en mode administrateur
* Choisir '''Mises à jour et à niveau''' dans la colonne '''[[Plesk]]''' de la liste d''''Outils & Paramètres'''
+
* 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]]''' ('''root''' + '''[[mot de passe]]''')
+
* 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 '''[[Fail2Ban]] authentication failure monitor'''
+
* 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]]'''
+
* 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 [[fail2ban]] pour [[Plesk]] ==
+
== 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 :
+
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
+
* 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 [[IP]]''' qui donne accès à plusieurs options dont le paramétrage :
+
* 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 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'''
+
** '''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ètres''' sont :
+
** '''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''' ce qui équivaut à '''1 heure''')
+
*** '''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''' ce qui équivaut à '''10 minutes''')
+
*** '''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'''
+
*** '''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 '''force brute''' sur tous les logins qu'ils trouvent sur leur route ('''[[SSH]], [[roundcube]], [[CMS]], [[Plesk]], [[ProFTPD]], etc.)
+
** 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 '''[[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 :
+
* 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 '''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]]''' -> '''enabled = true''' dans '''jail.local'''
+
  actif dans Plesk '''enabled = true''' dans jail.local
  inactif dans '''[[Plesk]]''' -> '''enabled = false''' dans '''jail.local'''
+
  inactif dans Plesk '''enabled = false''' dans jail.local
* Voir l'article '''[[fail2ban]]''' pour un complément d'information (interaction avec '''[[iptables]]''' par exemple)
+
* 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)<br/>
 +
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)
 +
 
 +
= Articles [[Vulgum Techus]] =
 +
* [[fail2ban]]
 +
* [[iptables]]
 +
* [[IP]]
 +
* [[Plesk]]
 +
 
 +
= Commentaires =
 +
{{#widget:DISQUS
 +
|id=vulgumtechus
 +
}}

Version actuelle en date du 3 juin 2019 à 13:01

Lien court vers cette page : https://vt.cx/feP
QR code vers cette page : https://vt.cx/feP.qr

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)

Articles Vulgum Techus

Commentaires

blog comments powered by Disqus