Los últimos y masivos ataques a WordPress a nivel mundial han puesto una vez más de manifiesto que hay que poner coto a estos intentos automatizados de obtener acceso a la fuerza al formulario de acceso al dashboard de WordPress.
Es muy evidente que el acceso a este CMS se realiza por medio de /wp-admin o wp-login.php lo que pone en bandeja a scripts automáticos o usuarios con mucho tiempo libre este servicio y solo es cuestión de tiempo y de medidas bajas o inexistentes en los servidores donde se alojen las webs de WordPress para que estos ataques den su fruto.
El objetivo de este artículo, orientado a todos los públicos pero en particular a usuarios noveles o con pocos conocimientos en seguridad para WordPress y que no quieren complicarse en procesos complejos, es el de aprender a implementar mediante plugin la opción de desplazar mediante cambio de nombre el acceso de wp-admin de forma que se eviten que ataques de fuerza bruta contra el formulario de login tengan éxito, por oscuridad.
Haremos uso del plugin Move Login, con el cual cerraremos el acceso a /wp-login.php y crearemos nuevas url de acceso como por ejemplo /acceso o /salida. Adicionalmente necesitaremos instalar el framework Noop para el funcionamiento de este plugin.
Con ello podremos conseguir que bots que ejecutan ataques mediante fuerza bruta o diccionarios no puedan disponer de la más mínima oportunidad de emplearse contra tu acceso por defecto, de todos conocido.

Move Login
Hay otras formas, mediante .htaccess de impedir que wp-login.php pueda ser accesible si no gestionamos usuarios en WordPress y no se hace necesario disponer de formulario de acceso para los usuarios (muy recomendado) pues servicios como los comentarios se pueden externalizar para no depender del formulario nativo de comentarios de WordPress.
<Files wp-login.php>
ErrorDocument 401 default
AuthUserFile /home/<user>/.htpasswds/.htpasswd_user
AuthName "Acceso restringido"
AuthType Basic
Require valid-user</Files>
Si bien que implementar una protección por .htaccess al directorio /wp-admin, desde el Panel de Hosting, donde habitualmente se dispone de esta funcionalidad para proteger el acceso a determinados directorios (cPanel) sería la opción recomendada siempre:
ErrorDocument 401 default
AuthUserFile /home/<user>/.htpasswds/.htpasswd_user
AuthName "Acceso restringido"
AuthType Basic
Require valid-user<Files admin-ajax.php>
Order allow,deny
Allow from all
Satisfy any</Files>
Instalación de Move Login:
- Accedemos al dashboard de WordPress y realizamos una copia de seguridad.
- Verificamos que el archivo .htaccess tenga permisos de escritura 644.
- Vamos a Plugins, Añadir nuevo y buscamos "Move Login".
- Instalamos el plugin y lo activamos.
- Accedemos a Ajustes, Move Login y lo configuramos.
Podemos establecer los nombres sustitutivos para el formulario "login", "logout", "register", "lostpassword" y "resetpass". Deben ser nombres cortos, sin espacios, sin caracteres especiales o acentos que puedan luego dificultar su uso.

También es posible redireccionar a "Página no encontrada" (404) en caso de que se comentan errores de acceso (recomendado).

Si el plugin no puede escribir el archivo .htaccess de nuestra instalación, por problemas de permisos, deberemos editarlo desde el cPanel, Administrador de Archivos, Editor de Código o vía FTP para insertar manualmente el código propuesto por el plugin tras guardar los cambios en la configuración.

Lo normal es que dicho archivo tenga los permisos correctos (644) y que el plugin pueda añadir de forma automática el código, no obstante es bueno siempre verificarlo editando el archivo tras guardar los cambios en el plugin.

En el siguiente vídeo documentamos la instalación de Move Login y el framework Noop así como la realización de una prueba de concepto del mismo.
Con la implementación del plugin Move Login conseguimos evadir, por oscuridad, los intentos de ataques automáticos o manuales de fuerza bruta contra el formulario de acceso al dashboard de WordPress y mejorar la seguridad en este CMS.