Máxima Seguridad en tu WordPress Login Personalizado

Marcos Séculi

La semana pasada, en una charla muy entretenida sobre la seguridad de WordPress con uno de mis clientes, Marc me preguntaba por qué tenía ataques constantes en su web. No entendía por qué alguien quería acceder al WordPress login de su web.

Marc es autónomo y vive de la venta de sus servicios a través de su web en WordPress, por lo que no se puede permitir que un hacker entre a su página web.

Así fue como decidí redactar este artículo en el que os quiero contar todo lo que tenéis que saber sobre el WordPress login, plugins para mejorar la pantalla de acceso, la seguridad, y otros temas relacionados.

Vamos a ello.

¿Qué es el WordPress login?

Es la pantalla a través de la cual accedemos al entorno de edición del contenido de WordPress, también conocido como admin de WordPress.

WordPress Login

Cambiar la URL de login

Puedes cambiar la URL del login a través de un plugin o hacerlo manualmente. ¿Qué ventajas tiene cada opción? Ahora mismo te lo explico:

La principal diferencia entre uno y otro es que, si más adelante cambias la plantilla, no tendrás que hacer ninguna modificación si has instalado un plugin. Si has cambiado la URL sin plugins, tendrás que volver a aplicar los cambios a la nueva plantilla.

Otro tema a considerar es que el uso masivo de plugins puede ralentizar la carga de tu web y ofrecer una mala experiencia de usuario (algo que a Google y a tus usuarios no les gustará nada).

Por eso, personalmente, prefiero siempre trabajar sin plugins.

De hecho, tengo una lista de todos los códigos que uso en mis plantillas, y como son todas 100% personalizadas y hechas por mi, simplemente copio y pego esta lista cuando creo una nueva plantilla de WordPress y elimino los códigos que no necesito.

Cambiar URL de login sin plugins

Existen 2 formas de hacerlo. A través del archivo .htaccess o mediante la creación de un nuevo archivo en PHP.

A partir de aquí, el contenido es para usuarios avanzados y expertos. Si consideras que no tienes conocimientos suficientes, por favor, no apliques los cambios a tu web ya que podría quedar inutilizable.

Nuevo archivo PHP

Para cambiar la URL del WordPress login creando un archivo nuevo sigue estos pasos:

  1. Abre el archivo wp-login.php con tu editor de código. Yo uso Sublime Text.
  2. Copia y pega todo el código en una nueva página y guárdala como más te guste. Te recomiendo usar un nombre fácil de recordar y que atienda a la lógica, por ejemplo, acceso-web.php.
  3. Usa el buscador de strings (cadenas de texto) para reemplazar “wp-login.php” por el nombre del archivo nuevo. En mi caso “acceso-web.php”.
  4. Guarda el archivo “wp-login.php” en un disco local (puedes guardarlo en tu ordenador), y elimínalo del servidor.
  5. A partir de ahora ya puedes probar el acceso a www.tuweb.com/nombre-del-archivo.php. Cualquier intento de acceso a través del /wp-login o de /wp-admin dará un error 404.

Para evitar ese error 404 añade este código en el functions.php de tu plantilla.

add_action('init','custom_login');
function custom_login(){
   global $pagenow;
   if( 'wp-login.php' == $pagenow ) {
   wp_redirect('http://tudominio.com/');
   exit();
   }
}

Ten en cuenta que deberás hacer este cambio cada vez que actualices WordPress, por lo que es algo que tendrás que apuntar para no olvidarte.

WordPress Login wp-login

.htaccess

Existe una forma menos segura que creando un nuevo archivo pero más sencilla; es a través del .htaccess.

Abre el archivo .htaccess y escribe lo siguiente:

RewriteRule ^nuevoacceso$ http://www.yoursite.com/wp-login.php [NC,L]

Ahora ya puedes acceder al WordPress login a través de www.tuweb.com/nuevoacceso

Cambiar URL de login con plugins

En la base de datos de WordPress existen muchos plugins que puedes usar para cambiar la URL de login. Aquí tienes una lista:

  • Custom Login URL
  • Rename wp-admin
  • Rename wp-login.php
  • WPS Hide Login

Te recomiendo que sigas las instrucciones que indica cada desarrollador y si tienes cualquier duda contactes conmigo.

Extra Seguridad al WordPress Login

No está de más complicar la vida a los hackers con estos consejos para tener un extra de seguridad en tu login de WordPress, ¿verdad?. Estos son mis sugerencias:

  • Usa contraseñas complicadas. Sí, son difíciles de recordar, pero te aseguro que poner una contraseña complicada hará que tengas una web WordPress más segura. Pero ojo, complicada no quiere decir que sea difícil de escribir, sino de que la escriba un algoritmo. No uses cadenas de textos como nombres, ciudades, animales, números… Añade guiones, guiones bajos, caracteres extraños… $%_·”+ o cualquier cosa que se te ocurra.
  • Autentificación en 2 pasos. También conocido como el 2-step autentification. Con Apache puedes indicar qué usuarios pueden acceder a determinadas páginas. Aquí tienes más información.
  • Limita el acceso. Delimita el acceso al login de WordPress para evitar ataques masivos.

¿Qué plugins WordPress podemos usar en el login?

Gracias a los plugins podemos personalizar por completo la pantalla de login de WordPress.

Por ejemplo, podemos permitir a los usuarios el registro a través de Facebook u otras redes sociales usando el WordPress Social Login plugin.

También podemos hacer todo esto:

  1. Añadir un fondo personalizado.
  2. Reemplazar el logo de WordPress por nuestro logo.
  3. Personalizar el diseño o look&feel del formulario.
  4. Cambiar el enlace del logo.
  5. Eliminar el link de “¿Has olvidado tu contraseña?”.
  6. Eliminar el link de “Volver”.
  7. Esconder el mensaje de error.
  8. Eliminar las animaciones cuando fallas la contraseña.
  9. Cambiar la redirección de la URL (la página a la que llegas después de hacer login).
  10. Establecer el botón de “Recuérdame” como marcado.

Puedes buscar “customize wordpress admin page plugin” en Google para ver todos los plugins disponibles.

Deja un comentario o contacta conmigo si quieres que personalice tu login de WordPress.

Personalizar el WordPress Login con CSS

Si sabes maquetar con CSS o simplemente quieres aprender, sigue estos pasos.

  1. Crea una nueva carpeta llamada “login” dentro de la carpeta de tu plantilla.
  2. Dentro de esta nueva carpeta crea un archivo css que se llame custom-login.css.
  3. Añade el siguiente código al archivo functions.php de tu plantilla y añade el código css que desees.
function ms_login() {
    echo '<link rel="stylesheet" type="text/css" href="' . get_bloginfo('stylesheet_directory') . '/login/custom-login.css" />';
    }
add_action('login_head', 'ms_login');

Conclusiones

Hoy hemos visto:

  • El login de WordPress ha de tener una contraseña fuerte y segura.
  • Se puede cambiar la URL del WordPress login con o sin plugins.
  • Gracias a un pequeño fragmento de código podemos personalizar por completo la pantalla de login de nuestra web en WordPress.