blog webempresa

Cómo proteger el acceso WP-Admin de WordPress

por | Oct 16, 2022 | Plugins WordPress, Seguridad WordPress

Cómo proteger el acceso WP-Admin de WordPress

Hablar de la importancia de proteger el acceso WP-Admin de WordPress es hablar de seguridad y de la importancia que tiene reducir los niveles de exposición de un sitio web a posibles ataques, ya sean manuales (realizados por personas) o automáticos (realizados por scripts -pueden ser lanzados manualmente a discreción-) que acaban afectando la estabilidad de un sitio web.

Cuando se utiliza reCAPTCHA (dos veces CAPTCHA WordPress) lo que se hace es limitar los ataques a bots y scripts automáticos que no son capaces de pasar el test de Turing que implica un formulario de reCAPTCHA two (re) Completely Automated Public Turing test to tell Computers and Humans Apart (prueba de Turing completamente automática y pública para diferenciar computadoras (ordenadores) de humanos) dificultando el éxito de obtención de credenciales mediante ataques automatizados usando diccionarios.

Si bien no es la solución al 100% de los problemas de seguridad en WordPress (o mejor dicho de inseguridad) que afectan habitualmente al formulario de acceso de WordPress del dashboard, la implementación de reCAPTCHA en formularios de acceso dificulta el éxito de ataques de esta naturaleza mitigándolos por la imposibilidad de que un script o bot pueda resolverlos.

  Proteger el acceso a wp-admin cambiando la ruta de acceso

 

En otro artículo del blog explicaba cómo modificar wp-login-php o wp-admin sustituyéndolo por otra palabra que no sea común o habitual para reducir con ello las peticiones a admin-ajax.php y en consecuencia evitar los intentos automatizados de ataques de diccionario o automáticos al formulario de acceso de WordPress.

Esto se hace habitualmente con plugins, aunque hay otras formas de ofuscar el login para que no sea blanco de intentos de ataques aleatorios buscando credenciales vulnerables, fáciles de deducir, en sitios WordPress.

Para este caso voy a mostrarte otro plugin, llamado Protect WP Admin y que se limita a realizar el cambio de wp-login-php o de wp-admin por la palabra de ruta que tu quieras de manera que no sea intuitiva ni deducible, y además redirecciona con una redirección 301 a quienes invoquen https://tu-dominio/wp-login-php o https://tu-dominio/wp-admin hacia https://tu-dominio/, lo que sería la página principal de tu web (home) sin posibilidad de que vean el formulario de acceso al dashboard de WordPress.

Plugin Protect WP Admin

Haz clic en la imagen para acceder al plugin en WordPress.org

El plugin no tiene mucho misterio y las configuraciones se militan a pedirte el nombre que tendrá el fragmento de URL que sustituirá a “wp-admin”. Adicionalmente permite cambiar el logo de WordPress del formulario de login por uno tuyo, pero no es relevante para lo que nos ocupa.

  • Permite definir la URL de inicio de sesión, el tramo relativo a wp-admin.
  • Escoger la imagen del formulario de inicio de sesión.
  • Permite el acceso al dashboard utilizando ID (identificadores) múltiples, separados por comas.
  • Restringe el acceso al dashboard a “invitados”.
  • Establecer colores de fondo y de texto para el inicio de sesión.

La versión “de pago” de este plugin cuenta con algunas funcionalidades adicionales como activar un rastreador de inicio de sesión, personalizar la URL a la que serán redireccionados los accesos a wp-admin, o marcar un número limitado de intentos de acceso, entre otras opciones.

La configuración la puedes ver en la siguiente imagen, doinde indicas la palabra que va a sustituir a las nativas de acceso de WordPress, así como el cambio del logo nativo de WordPress.

Configuración Plugin Protect WP Admin
     La palabra de sustitución no puede contener números, ni símbolos o caracteres especiales. Tampoco letras mayúsculas.

Con este sencillo procedimiento, mediante el uso de un plugin, puedes conseguir que tu formulario de acceso al panel de administración de WordPress reduzca el impacto de peticiones y de esta manera relajar también un poco el tráfico no deseado automatizado hacia tu web.

Ahora, en este ejemplo, solo será posible acceder al formulario de login de WordPress escribiendo en la url del dominio la palabra correcta en sustitución de wp-login-php o wp-admin.

Formulario de acceso de WordPress

De lo contrario se aplicará la redirección 301 que llevará al bot, script o usuario a la portada del sitio web una y otra vez.

  Proteger el acceso a wp-admin utilizando reCAPTCHA

 

Otro método es proteger el formulario de acceso al dashboard de WordPress mediante CAPTCHA utilizando un plugin de captcha en WordPress para implementar No Captcha reCAPTCHA de manera que los bots o scripts automáticos que buscan formularios para “reventar el acceso” de forma automática, tengan obligatoriamente que pasar el “test de Turing” algo que solo un humano debería poder hacer.

En este ejemplo hago uso del plugin Login No Captcha reCAPTCHA que permite añadir de forma muy sencilla, en la caja del formulario de acceso al panel de administración de WordPress, debajo, otra caja con el tickbox que debe marcar quien trate de acceder, que sea humano naturalmente.

Claro que este método no está exento de que un usuario malintencionado marque dicha casilla para pasar el test y luego trate de lanzar ataques de diccionario contra el formulario para tratar de adivinar las credenciales de acceso, pero aquí ya entrarían en juego las medidas de mitigación que el proveedor de Hosting interponga para estos intentos de ataque.

Plugin Login No Captcha reCAPTCHA

Haz clic en la imagen para acceder al plugin en WordPress.org

Ten en cuenta que este plugin no evita los intentos de ataque de fuerza bruta, sino que simplemente se asegura de que estos no tengan éxito.

La configuración del plugin requiere que previamente generes tus claves “pública” y “privada” de CAPTCHA en la herramienta de Google para que luego le pases esos datos al plugin de manera que funcione.

Configuración del plugin Login No Captcha reCAPTCHA

Las llaves pública y privada las puedes crear desde Google reCAPTCHA.

obtener las claves pública y privada

En la imagen puedes ver como ejemplo un dominio para que el se activa reCAPTCHA v2 (recomendado v3) para posteriormente al envío de esta petición, obtener las claves pública y privada que han de añadirse a la configuración del plugin.

Claves reCAPTCHA

Con estos pasos deberías tener el plugin debidamente configurado para que cuando se muestre el formulario de login aparezca debajo el test de Turing con el reCAPTCHA de Google.

Resultado de aplicar reCAPTCHA en el formulario de login

Si ahora tratas de acceder con tus credenciales de administrador al dashboard de WordPress, tendrás que marchar el tickbox del reCAPTCHA, además de escribir tu usuario y contraseña de acceso.

Acceso al dashboard con recaptcha

>Con este sencillo paso estás aplicando una “capa extra” de seguridad para reducir el impacto no deseado sobre “admin-ajax.php” y que todo quede un poco más seguro.

  Conclusiones

 

Añadir protecciones adicionales para que nadie que no tenga los datos de acceso, es bastante sencillo si tienes claro exactamente qué es lo que quieres proteger y buscas el método de menor impacto para tu web, sobre todo que no se convierta en un malabar que acabe dejándote fuera de tu propio panel de administración por configuraciones incorrecta.

Ya sea reCAPTCHA, “palabras de paso”, sustitución de parte de la URL de acceso al formulario, o restringiendo por IPs en el archivo .htaccess, lo importante es que tomes medidas para evaluar hasta qué punto pequeñas acciones acaban dando resultados importantes.

Si quieres ver qué intentos de acceso se suceden contra tu formulario de login de WordPress, no tienes más que instalar el plugin WP Cerber Security y evaluar durante un tiempo el tráfico en tu sitio y principalmente aquel que el propio plugin frena porque lo detecta como tráfico malicioso contra wp-admin o wp-login.php y por defecto sencillamente lo bloquea.

La seguridad pasiva es parte importante de todo el conjunto de seguridad, tanto el que aplica tu proveedor de Hosting como el que tú deberías aplicar para tu propia tranquilidad, no con hacer “copias de seguridad de WordPress” está todo solucionado. 😉

También te puede interesar:
 

¿Te ha resultado útil este artículo?

Banner 70 descuento Marzo