¡Socorro, no puedo hacer login en WordPress!

Wordpress

Entre sorpresa y asombro, esta mañana me encontré con que no podía hacer login en el panel de administración de WordPress. Llegaba hasta la página de login, introducía los datos de usuario y todo lo que obtenía a cambio era una hermosa página en blanco.

¿Problemas de memoria? ¿Archivos corruptos? ¿He tocado donde no debía?

La respuesta ha resultado ser más simple: el servidor está bloqueando el acceso al archivo wp-login.php

En la web de soporte de WordPress advierten que debido aun incremento en los intentos de acceso por fuerza bruta a webs basadas en WordPress muchos proveedores de hosting están bloqueando el acceso al archivo wp-login.php.

A pesar de abrir un ticket de soporte con mi proveedor todavía no estoy 100% seguro de que ese sea mi caso (al menos de forma intencionada) pero el caso es que renombrando el archivo wp-login.php a cualquier otro nombre el acceso sí funciona… aunque con los consiguientes problemas de que el archivo original no se encuentre al estar referenciado desde otros archivos.

Para dejar todo un poco más fino tuve que hacer lo siguiente:

  • Editar el archivo wp-includes/general-template.php y cambiar todas las ocurrencias de wp-login.php por el nuevo nombre del archivo.
  • Editar el archivo wp-login.php (con el nuevo nombre) y cambiar todas las ocurrencias de dicho nombre por el nombre nuevo.

Suponiendo que fuese debido a los intentos de fuerza bruta en wp-admin/ lo que provocase el bloqueo, he instalado el plugin Better WP Security para cambiar el permalink del wp-admin/ a otra ruta diferente.

No es que la “seguridad por oscuridad” sea ninguna solución, pero como complemento sí permite al menos librarse de parte del bombardeo de bots automáticos.

Y ya de paso, aunque no tenga mucha relación, he aprovechado para implementar una autenticación en dos pasos usando el Google Authenticator (con el correspondiente plugin para WordPress).