Supprimer les tentatives d’accès à phpMyAdmin en utilisant fail2ban

Comme beaucoup de monde il m’arrive d’être « scanné » sur mon serveur Web pour accéder à phpMyAdmin ou en exploiter une faille.

On trouve ce genre d’info dans les mails quotidiens généré par logwatch par exemple.

--------------------- httpd Begin ------------------------ 

 Requests with error response codes
   […]
    404 Not Found
       /PMA/scripts/setup.php: 1 Time(s)
       /PMA2005/scripts/setup.php: 1 Time(s)
     […]
       /phpMyAdmin-2.3.0/scripts/setup.php: 1 Time(s)
       /phpMyAdmin-2.3.1/scripts/setup.php: 1 Time(s)
       /phpMyAdmin-2.3.2/scripts/setup.php: 1 Time(s)
       /phpMyAdmin-2.3.3/scripts/setup.php: 1 Time(s)
       /phpMyAdmin-2.3.4/scripts/setup.php: 1 Time(s)
       /phpMyAdmin-2.3.5/scripts/setup.php: 1 Time(s)
       /phpMyAdmin-2.3.6/scripts/setup.php: 1 Time(s)
       /phpMyAdmin-2.3.7/scripts/setup.php: 1 Time(s)
       /phpMyAdmin-2.3.8/scripts/setup.php: 1 Time(s)
       /phpMyAdmin-2.3.9/scripts/setup.php: 1 Time(s)
       /phpMyAdmin-2.4.0/scripts/setup.php: 1 Time(s)
       /phpMyAdmin-2.4.1/scripts/setup.php: 1 Time(s)
       /phpMyAdmin-2.4.2/scripts/setup.php: 1 Time(s)
       /phpMyAdmin-2.4.3/scripts/setup.php: 1 Time(s)
       /phpMyAdmin-2.4.4/scripts/setup.php: 1 Time(s)
     […]

 ---------------------- httpd End ------------------------- 

Pour y remédier :

  • Ne pas l’installer !
  • N’autoriser que certaines IPs à y accéder
  • Utiliser fail2ban pour limiter et contrer l’effet des scans

Utilisation de fail2ban

J,ai trouvé un script tout fait… alors pourquoi se compliquer la vie ! Il est disponible à l’adresse suivante : http://foosel.org/blog/2008/04/banning_phpmyadmin_bots_using_fail2ban.

Je le reprend ci-dessous avec quelques adaptations :

/etc/fail2ban/filter.d/apache-phpmyadmin.conf

# Fail2Ban configuration file
# Bans bots scanning for non-existing phpMyAdmin installations on your webhost.
#
 
[Definition]
 # Option:  failregex
# Notes.:  Regexp to match often probed and not available phpmyadmin paths.
# Values:  TEXT
#
failregex = [[]client []] File does not exist: .*(PMA|phpmyadmin|myadmin|mysql|mysqladmin|sqladmin|mypma|admin|xampp|mysqldb|mydb|db|pmadb|phpmyadmin1|myadmin2)

# Option:  ignoreregex
# Notes.:  regex to ignore. If this regex matches, the line is ignored.
# Values:  TEXT
#
ignoreregex =

Activer le filtre dans le fichier de configuration : /etc/fail2ban/jail.conf :

[apache-phpmyadmin]
enabled  = true
port     = http,https
filter   = apache-phpmyadmin
logpath  = /var/log/apache/error.log
maxretry = 3

0 Comments on “Supprimer les tentatives d’accès à phpMyAdmin en utilisant fail2ban

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.