Différences

Cette page vous donne les différences entre la révision choisie et la version actuelle de la page.

Lien vers cette vue

linux:fail2ban [2012/01/09 22:20]
matthieu créée
linux:fail2ban [2012/01/09 22:35] (Version actuelle)
matthieu [Installation]
Ligne 1: Ligne 1:
 +{{tag>fr fr:linux fr:serveur fr:web fr:base_de_données}}
 ====== Fail2Ban ====== ====== Fail2Ban ======
 Fail2Ban est un petit utilitaire très pratique pour bloquer les attaques brute force inhérentes à toute machine directement accessible sur Internet. Fail2Ban est un petit utilitaire très pratique pour bloquer les attaques brute force inhérentes à toute machine directement accessible sur Internet.
Ligne 8: Ligne 9:
  
 ===== Installation ===== ===== Installation =====
-L'installation est réalisée sur Debian en ajoutant le paquet :+L'installation est réalisée sur [[Debian]] en ajoutant le paquet :
   * fail2ban   * fail2ban
  
Ligne 70: Ligne 71:
   * créer un filtre pour identifier les tentatives de connexion   * créer un filtre pour identifier les tentatives de connexion
   * ajouter une configuration de service dans fail2ban   * ajouter une configuration de service dans fail2ban
 +
 +Pour l'installation de phpmyadmin, voir [[phpmyadmin]].\\
 +Pour la configuration d'apache, voir [[serveur web]].
  
 ==== Loguer les actions phpmyadmin ==== ==== Loguer les actions phpmyadmin ====
 +phpmyadmin offre des variables personnalisées disponibles pour les logs, en particulier le nom et le status de l'utilisateur. Nous allons les utiliser pour détecter les tentatives de connexion.
  
 +Pour cela, modifier le format des logs ainsi :
 +<file apache>
 +LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %{userID}n %{userStatus}n"   pma_combined
 +CustomLog ${APACHE_LOG_DIR}/access.log pma_combined
 +</file>
  
 +En consultant les logs, vous devez voir apparaître les nouveaux champs à la fin des lignes. Une tentative d'accès erroné sera logué ainsi :
 +  192.168.1.1 - - [09/Jan/2012:22:24:48 +0100] "GET /phpmyadmin/index.php?token=d6ba5c4997bd3d7a07404e6123396ed3 HTTP/1.1" 200 2508 "https://192.168.1.2/phpmyadmin/" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:9.0.1) Gecko/20100101 Firefox/9.0.1" root mysql-denied
  
 +==== Créer un filtre fail2ban ====
 +Pour détecter les tentatives, il faut donc identifier "mysql-denied" à la fin des logs, sans oublier de mémoriser l'IP au début.
 +
 +Créer le fichier ///etc/fail2ban/filter.d/phpmyadmin.conf// avec le contenu suivant :
 +<file>
 +# Fail2Ban configuration file
 +#
 +# Author: Matthieu Bouthors <matthieu@bouthors.fr>
 +#
 +#
 +
 +[Definition]
 +
 +# Option: failregex
 +# Notes.: regex to match the password failures messages in the logfile. The
 +#          host must be matched by a group named "host". The tag "<HOST>" can
 +#          be used for standard IP/hostname matching and is only an alias for
 +#          (?:::f{4,6}:)?(?P<host>[\w\-.^_]+)
 +# Values: TEXT
 +#
 +failregex = <HOST> .* mysql-denied
 +
 +# Option:  ignoreregex
 +# Notes.:  regex to ignore. If this regex matches, the line is ignored.
 +# Values:  TEXT
 +#
 +ignoreregex =
 +</file>
 +
 +==== jail.conf ====
 +Enfin il faut ajouter la déclaration suivante dans jail.conf :
 +<file>
 +[phpmyadmin]
 +enabled = true
 +port = http,https
 +filter = phpmyadmin
 +logpath = /var/log/apache2/access.log
 +maxretry = 6
 +</file>
 +
 +Sans oublier de redémarrer fail2ban après la modification :
 +  /etc/init.d/fail2ban restart
 +  
 +===== Backup =====
 +  * /etc/fail2ban
 +  
 +===== Links =====
 +  * http://www.fail2ban.org
 +  * [[phpmyadmin]]
  
linux/fail2ban.1326144020.txt.gz · Dernière modification: 2012/01/09 22:20 par matthieu
Recent changes RSS feed Debian Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki