Este dilema se puede abordar de variadas formas, por lo tanto te damos la que para nosotros es la respuesta más completa.
Solución:
Eso está bien, pero ¿por qué no usar la funcionalidad de apache para registrar inicios de sesión fallidos?
Agregue estas líneas a su configuración de Apache (es decir: /etc/apache2/conf.d/phpmyadmin.conf) en la sección correspondiente de VirtualHost:
LogFormat "%h %l %u %t "%r" %>s %b "%Refereri" "%User-Agenti" %userIDn %userStatusn" pma_combined
CustomLog /var/log/apache2/phpmyadmin_access.log pma_combined
Luego crea el filtro fail2ban:
/etc/fail2ban/filter.d/phpmyadmin.conf
[Definition]
denied = mysql-denied|allow-denied|root-denied|empty-denied
failregex = ^ -.*(?:%(denied)s)$
ignoreregex =
Ahora agregue la cárcel a /etc/fail2ban/jail.local
[phpmyadmin]
enabled = true
port = http,https
filter = phpmyadmin
logpath = /var/log/apache2/phpmyadmin_access.log
Reinicie apache y fail2ban:
service apache2 reload
service fail2ban reload
y ya está, no hay necesidad de scripts php, etc.
-
Debe cambiar su secuencia de comandos para incluir la marca de tiempo en los archivos de registro. Sin esto, fail2ban no funcionará
-
usar
fail2ban-regex /var/log/phpmyadmin_auth.log /etc/fail2ban/filter.d/phpmyadmin.conf
para verificar su expresión regular primero. -
Podría iniciar fail2ban con éxito usando su configuración original (antes de jail.local)
Oct 7 00:42:07 hostname yum: Installed: python-inotify-0.9.1-1.el5.noarch Oct 7 00:42:08 hostname yum: Installed: fail2ban-0.8.4-29.el5.noarch Oct 7 00:42:10 hostname yum: Installed: phpMyAdmin-2.11.11.3-2.el5.noarch Oct 7 01:01:03 hostname fail2ban.server : INFO Changed logging target to SYSLOG for Fail2ban v0.8.4 Oct 7 01:01:03 hostname fail2ban.jail : INFO Creating new jail 'phpmyadmin' Oct 7 01:01:03 hostname fail2ban.jail : INFO Jail 'phpmyadmin' uses Gamin Oct 7 01:01:03 hostname fail2ban.filter : INFO Set maxRetry = 2 Oct 7 01:01:03 hostname fail2ban.filter : INFO Set findtime = 600 Oct 7 01:01:03 hostname fail2ban.actions: INFO Set banTime = 600 Oct 7 01:01:03 hostname fail2ban.jail : INFO Creating new jail 'ssh-iptables' Oct 7 01:01:03 hostname fail2ban.jail : INFO Jail 'ssh-iptables' uses Gamin Oct 7 01:01:03 hostname fail2ban.filter : INFO Added logfile = /var/log/secure Oct 7 01:01:03 hostname fail2ban.filter : INFO Set maxRetry = 5 Oct 7 01:01:03 hostname fail2ban.filter : INFO Set findtime = 600 Oct 7 01:01:03 hostname fail2ban.actions: INFO Set banTime = 600 Oct 7 01:01:03 hostname fail2ban.jail : INFO Jail 'phpmyadmin' started Oct 7 01:01:03 hostname fail2ban.jail : INFO Jail 'ssh-iptables' started Oct 7 01:10:54 hostname fail2ban.jail : INFO Jail 'phpmyadmin' stopped Oct 7 01:10:55 hostname fail2ban.jail : INFO Jail 'ssh-iptables' stopped Oct 7 01:10:55 hostname fail2ban.server : INFO Exiting Fail2ban Oct 7 01:10:56 hostname fail2ban.server : INFO Changed logging target to SYSLOG for Fail2ban v0.8.4 Oct 7 01:10:56 hostname fail2ban.jail : INFO Creating new jail 'phpmyadmin' Oct 7 01:10:56 hostname fail2ban.jail : INFO Jail 'phpmyadmin' uses Gamin Oct 7 01:10:56 hostname fail2ban.filter : INFO Added logfile = /var/log/phpmyadmin_auth.log
-
Una vez que las expresiones regulares estén en su lugar, puede usar la auditoría para ver si fail2ban accede o no a su archivo.
solía auditctl -w /var/log/phpmyadmin_auth.log -p warx -k phpmyadmin_fail2ban
Te mostramos las reseñas y valoraciones de los usuarios
Al final de la web puedes encontrar las interpretaciones de otros gestores de proyectos, tú también tienes el poder mostrar el tuyo si te gusta.