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”