WordPress Hosting

ataque fuerza bruta wordpress

Enumeración de usuarios WordPress – Qué es y cómo impedirla

Las aplicaciones web, como WordPress, suelen utilizar algún mecanismo de identificación para evitar que usuarios no autorizados o anónimos accedan a los recursos y funcionalidades protegidos de la misma. Los atacantes siempre intentan encontrar debilidades en el mecanismo de autenticación para acceder a los recursos y funcionalidades protegidos.

La enumeración de nombres de usuario es uno de los ataques más populares que se realizan en el mecanismo de autenticación para identificar los nombres de usuario válidos en el sistema.

Las consecuencias pueden ser graves, incluidas modificaciones no autorizadas del contenido del sitio, violaciones de datos e incluso apropiaciones totales del sitio.

Por supuesto, las contraseñas seguras son esenciales para mitigar el riesgo. Son tu primera línea de defensa contra ataques de fuerza bruta .

Una contraseña segura hace que sea mucho más difícil para los atacantes ingresar, lo que protege tu sitio web de posibles violaciones de seguridad. Pero en muchos casos, las contraseñas seguras por sí solas no son suficientes. Necesitas una estrategia de seguridad integral para abordar la enumeración de usuarios y mantener su sitio seguro.

Pero empecemos por el principio…

¿Qué es la enumeración de usuarios de WordPress?

portatil archivos enumeracion usuarios vulnerabilidad seguridad

La enumeración de usuarios de WordPress es el proceso mediante el cual alguien puede identificar los nombres de usuario válidos de un sitio web de WordPress. Esto se logra a menudo mediante bots automatizados que aprovechan funciones como las páginas de archivo de autor, las variables de la API REST o los mensajes de error de la página de inicio de sesión.

Los atacantes utilizan esta táctica para recopilar una lista de nombres de usuario que luego pueden usarse para intentar saltarse los controles del inicio de sesión, como la fuerza bruta de contraseñas , para obtener acceso no autorizado al panel de administración de WordPress o a las cuentas de usuario.

Tipos de ataques que utilizan enumeración de usuarios

Comprender las diferentes facetas de la enumeración de usuarios es fundamental para los administradores y propietarios de sitios web que desean proteger tu presencia online. Aquí tienes un resumen de la anatomía de los distintos ataques de enumeración de usuarios.

  • Ataque de fuerza bruta: los atacantes lanzan un ataque de fuerza bruta después de enumerar con éxito los nombres de usuario. Utilizan estos nombres de usuario y prueban varias veces distintas contraseñas hasta que se adivina la correcta. Este método se basa en la persistencia y en la esperanza de que los usuarios hayan utilizado contraseñas débiles o comunes que sean relativamente fáciles de descifrar mediante una suposición automática constante.
  • Robo de credenciales: el robo de credenciales es una variante sofisticada de los ataques de fuerza bruta en los que los atacantes aprovechan combinaciones de nombres de usuario y contraseñas que ya se conocen (normalmente, a partir de filtraciones de datos en otros sitios) y las prueban. Este ataque se aprovecha del comportamiento habitual de los usuarios de reutilizar contraseñas en varios servicios online.
  • Ataques de diccionario: una vez que la enumeración de usuarios ha proporcionado una lista de nombres de usuario válidos, suelen producirse ataques de diccionario. A diferencia de los ataques de fuerza bruta estándar que utilizan combinaciones de contraseñas aleatorias, los ataques de diccionario aprovechan una lista seleccionada de contraseñas de uso común o probables. La combinación de los nombres de usuario enumerados con estas listas aumenta significativamente las posibilidades de que un atacante obtenga acceso no autorizado.
  • Phishing y spear phishing: aprovechando el poder de la ingeniería social, los ataques de phishing implican el envío de mensajes engañosos para engañar a los usuarios y conseguir que revelen sus contraseñas. En el caso del spear phishing, el ataque es más específico. Con acceso a la lista de nombres de usuario, los atacantes personalizan sus comunicaciones engañosas para añadir credibilidad y mejorar drásticamente sus posibilidades de engañar a los usuarios para que comprometan sus cuentas.

Métodos comunes de enumeración de usuarios

Hay algunos métodos que los atacantes utilizan para enumerar usuarios en WordPress.

Archivos de autor

WordPress genera automáticamente archivos de autor para cada usuario, en los que se muestran sus entradas y otra información. Los atacantes pueden acceder a estos archivos para recopilar nombres de usuario, lo que básicamente permite que cualquiera pueda convencer a WordPress de que elimine los usuarios administradores de una web.

Esto se debe principalmente a la existencia de enlaces permanentes . La forma en que funciona es bastante simple. WordPress te permite navegar a las entradas de un autor en particular de la siguiente manera:

https://midominio.com/author/nombre

Sin embargo, WordPress también nos permite hacer lo mismo especificando su número de identificación de usuario . Para acceder a esto, todo lo que tienes que hacer es navegar hasta el número de identificación asociado con un usuario en particular (es decir, el administrador de destino).

Por ejemplo:

https://midominio.com/?author=1

Al navegar a esta URL se mostrará una página con todas las entradas del usuario en cuestión, pero también se indica el nombre de usuario utilizado para iniciar sesión en WordPress.

Mensajes de error de inicio de sesión

Al intentar iniciar sesión, WordPress puede mostrar distintos mensajes de error para nombres de usuario no válidos y contraseñas incorrectas. Los atacantes pueden observar estos mensajes para determinar qué nombres de usuario son válidos.

Así, como puedes ver en las capturas anteriores, WordPress da quizás demasiada información, lo que podría dar pistas, ayudar a un atacante, al identificar, junto a los errores, también los aciertos.

Para evitar dar tanta información gratis puedes personalizar la respuesta con algo a tu gusto, que no regale tanta información:

/* Mensaje de error en login personalizado */
function custom_login_error_message() {
return 'Has introducido datos incorrectos. Prueba de nuevo';
}
add_filter('login_errors', 'custom_login_error_message');

Añade este código usando tu método favorito de copiar y pegar códigos útiles en tu WordPress.

Posibles consecuencias de la enumeración de usuarios

Las consecuencias de la enumeración de usuarios de WordPress pueden ser graves y suponer riesgos significativos para la seguridad e integridad de tu web.

Mayor riesgo de ataques de fuerza bruta

Una vez que los atacantes tienen una lista de nombres de usuario válidos, pueden lanzar ataques de fuerza bruta. Este método implica probar sistemáticamente distintas combinaciones de contraseñas hasta encontrar la correcta.

Con nombres de usuario válidos, los atacantes pueden centrar sus esfuerzos en adivinar contraseñas, lo que aumenta significativamente sus posibilidades de éxito. Si tienen éxito, estos ataques pueden dar lugar a un acceso no autorizado, lo que permite a los atacantes:

  • Tomar el control de las cuentas de usuario
  • Modificar o eliminar contenido del sitio web
  • Robar datos confidenciales
  • Interrumpir la funcionalidad del sitio web

Exposición de información de usuarios

La enumeración de usuarios puede exponer información confidencial sobre los usuarios registrados, como los nombres de usuario o sus correos electrónicos. Esta información se puede utilizar con diversos fines maliciosos, incluidos los ataques de phishing; los atacantes pueden enviar correos electrónicos de phishing dirigidos a los usuarios, engañándolos para que revelen más información personal o credenciales de inicio de sesión.

Web comprometida

La enumeración exitosa de usuarios compromete la seguridad general de una web WordPress. Sirve como puerta de entrada para ataques y vulnerabilidades más graves. Los atacantes que obtienen acceso a las cuentas de usuario pueden:

  • Instalar software malicioso (malware) en el sitio
  • Desfigurar el sitio web con contenido inapropiado o dañino.
  • Utilizar el sitio como plataforma para lanzar más ataques contra otros sitios o usuarios.

Daños de reputación

Una violación de seguridad resultante de la enumeración de usuarios puede dañar significativamente la reputación del propietario de la web o de la organización.

Las consecuencias pueden incluir:

  • Pérdida de confianza : los visitantes, clientes y consumidores pueden perder la confianza en tu capacidad para proteger su información.
  • Impacto comercial : una pérdida de confianza puede provocar una disminución del tráfico, la participación y las ventas, lo que afecta negativamente las operaciones comerciales.
  • Publicidad negativa : las noticias sobre una violación de seguridad pueden atraer publicidad negativa, dañando aún más la reputación de tu marca.

Problemas legales

Dependiendo de la naturaleza de los datos comprometidos, la enumeración de usuarios puede dar lugar a graves problemas legales y regulatorios, entre ellos:

  • Violaciones de la protección de datos : comprometer datos personales puede violar leyes de protección de datos como el RGPD (Reglamento General de Protección de Datos).
  • Requisitos de avisos de brechas de seguridad : muchas jurisdicciones exigen que los usuarios afectados sean notificados de las violaciones de datos, lo que puede ser un proceso costoso y que requiere mucho tiempo.
  • Sanciones legales : El incumplimiento de la normativa de protección de datos puede dar lugar a importantes multas y sanciones legales.
  • Litigios : Las víctimas de violaciones de datos pueden presentar demandas, solicitando daños y perjuicios por la vulneración de su información personal.

Los impactos de la enumeración de usuarios de WordPress también se extienden más allá de las preocupaciones de seguridad inmediatas: también pueden provocar infecciones de malware a largo plazo que, en última instancia, te perjudican a ti y a los visitantes de tu web.

Cómo evitar la enumeración de usuarios en WordPress

seguridad wordpress candado viejo

Como la mayoría de las recomendaciones de seguridad, una postura proactiva que combine múltiples enfoques diferentes puede reducir significativamente el riesgo de que los nombres de usuario de tu web se conviertan en un tesoro para los piratas informáticos.

A continuación te muestro algunas estrategias efectivas para evitar en lo posible el riesgo de la enumeración de usuarios de WordPress, bloquear bots maliciosos y evitar ataques.

Firewall de aplicaciones web (WAF)

waf

Un firewall de aplicaciones web (WAF) es una herramienta útil que puede ayudar a mitigar una amplia variedad de amenazas. Los cortafuegos monitorean y filtran el tráfico entrante a tu web, bloqueando solicitudes maliciosas antes de que puedan dañar tu sitio.

Estas son algunas de las formas en que un WAF puede ayudar a mitigar la enumeración de usuarios:

Protección contra bots

Los WAF pueden detectar y bloquear bots automatizados que intentan enumerar usuarios. Estos bots pueden operar rápidamente y a gran escala, por lo que es esencial tener un firewall que pueda identificarlos y bloquearlos.

Páginas protegidas

Los WAF como el de la CDN de CloudFlare facilitan la protección de páginas de inicio de sesión y administración confidenciales, bloqueando la fuerza bruta y evitando el acceso no autorizado a tu web.

Reglas personalizadas

Muchos WAF le permiten crear reglas personalizadas adaptadas a las necesidades específicas de tu web. Esto te permite bloquear tipos específicos de tráfico o comportamientos, lo que mejora la protección de tu sitio.

Filtrado de tráfico

Los WAF filtran el tráfico entrante y bloquean las solicitudes que coinciden con patrones de ataque conocidos o que provienen de direcciones IP sospechosas. Esto puede ayudar a evitar que los atacantes lleguen a los endpoints vulnerables de tu sitio.

Monitoreo en tiempo real

Los WAF brindan monitoreo y alertas en tiempo real, lo que te permite responder con rapidez a posibles amenazas e indicadores de vulnerabilidad. El monitoreo continuo garantiza que se identifiquen y mitiguen nuevas amenazas rápidamente.

Identificación de dos factores (2FA)

Como práctica recomendada, se debe exigir a los usuarios que se identifiquen mediante autenticación de dos factores, que añade una capa adicional de seguridad más allá de las contraseñas. Esto puede ayudar a reducir enormemente el riesgo de ataques de fuerza bruta incluso si se descubren nombres de usuario válidos, siendo una de las medidas más potentes para proteger intentos de acceso no autorizados.

Puedes activar el 2FA con la mayoría de los principales plugins de seguridad.

Limitar los intentos de inicio de sesión

ataque fuerza bruta

Otra medida de seguridad que puede ayudar a controlar o incluso evitar la enumeración de usuarios es implementar restricciones en la cantidad de intentos de inicio de sesión permitidos dentro de un período de tiempo determinado. Esto ayuda a frustrar los ataques de fuerza bruta al bloquear las direcciones IP o las cuentas de usuario que excedan el umbral de intentos de inicio de sesión especificado.

Hay varios plugins con los que limitar los intentos de inicio de sesión en WordPress, como Limit Login Attempts Reloaded , un plugin muy popular para limitar los intentos de inicio de sesión que se encuentra en el repositorio oficial de WordPress, o el también gratuito Security Optimizer, instalado por defecto en SiteGround, pero también disponible completo para cualquier web WordPress.

Proteger el acceso a las APIs

Las API (interfaces de programación de aplicaciones), como XML-RPC y REST API, pueden ser puntos vulnerables para la enumeración de usuarios y otros ataques si no se protegen adecuadamente.

Autenticar el acceso a la API REST

Exigir autenticación para cualquier solicitud de API REST para restringir el acceso solo a usuarios autorizados. Esto hace que sea mucho más difícil para los atacantes obtener información valiosa a través de la API.

Puedes hacerlo fácilmente con plugins como WordPress REST API Authentication.

Desactivar API no utilizadas

Si tu web no depende de determinadas API, desactívalas para eliminar posibles vectores de ataque.

Desactivar API REST

Por ejemplo, mantener la API REST activa para todos los usuarios no es particularmente útil; de hecho, es mucho mejor bloquearla para usuarios no deseados.

Aquí tienes una solución sencilla para desactivar la API REST para todos los usuarios excepto los administradores en WordPress. Puedes pegar el siguiente código dentro del archivo functions.php .

add_filter('json_enabled', '__return_false');
add_filter('json_jsonp_enabled', '__return_false');
add_filter('rest_jsonp_enabled', '__return_false ');
Desactivar XML-RPC

También puedes desactivar la API XML-RPC si no la necesitas. Si utiliza Apache, puede desactivar XML-RPC editando el archivo .htaccess para incluir el siguiente código:

<Files xmlrpc.php>
Order Deny,Allow
Deny from all
</Files>

También puedes añadir esta línea al archivo wp-config.php:

add_filter('xmlrpc_enabled', '__return_false');

Cambiar la URL por defecto de acceso a WordPress

Cambiar la URL de inicio de sesión por defecto de WordPress hace que sea más difícil para los atacantes localizar tu página de inicio de sesión, lo que reduce el riesgo de ataques de fuerza bruta.

Puedes usar un plugin para WordPress como WPS Hide Login o Security Optimizer para cambiar la URL de inicio de sesión a algo único y difícil de adivinar.

Añadir cabeceras de seguridad

Las cabeceras de seguridad son respuestas HTTP que ayudan a proteger tu sitio de diversos ataques al establecer políticas que los navegadores deben seguir.

Content-Security-Policy (CSP)

Ayuda a prevenir ataques de secuencias de comandos entre sitios (XSS) al especificar qué fuentes de contenido se pueden cargar.

Puedes probar con esta línea en .htaccess:

Header set Content-Security-Policy default-src 'none'; script-src 'self'; connect-src 'self'; img-src 'self'; style-src 'self';

X-Frame Options

La cabecera HTTP X-Frame-Options ayuda a evitar que tu web se utilice en iframes invisibles y protege tu sitio contra ataques de clickjacking.

Hay dos directivas posibles que puedes utilizar:

X-Frame-Options: DENY
X-Frame-Options: SAMEORIGIN

La opción DENY es la más segura. Si desea poder utilizar cualquiera de sus páginas actuales en un marco, puede restringir el uso de marcos a su dominio con la opción SAMEORIGIN .

Por ejemplo, puedes añadirlo así al archivo .htaccess:

Header always append X-Frame-Options SAMEORIGIN

Vale la pena señalar que, si bien los principales navegadores admiten el encabezado X-Frame-Options , algunos navegadores no lo hacen. Por lo tanto, asegúrese de usarlo junto con una Política de seguridad de contenido.

X-Content-Type-Options

Evita que los navegadores interpreten los archivos como un tipo MIME diferente, lo que reduce el riesgo de ciertos tipos de ataques.

Con esta línea en .htaccess lo tienes:

Header set X-Content-Type-Options nosniff

Desactivar o modificar los archivos de autor

La estructura de URL de los archivos de autor puede explotarse para descubrir nombres de usuario. Para aliviar el riesgo puedes redirigir las páginas de archivo de autor a un error 404, a la página de información o a la de inicio.

Por ejemplo, con la siguiente función desactivas completamente los archivos de autor en tu WordPress:

/* Desactivar archivos de autor */
add_action('template_redirect', 'disable_author_archives');
function disable_author_archives() {
if (is_author()) {
global $wp_query;
$wp_query->set_404();
status_header(404);
// Opcionalmente puedes redirigir a la portada quitando el comentario en la siguiente línea
// wp_redirect(home_url());
exit;
}

Otro modo de hacerlo es en los ajustes del plugin gratuito SEOPress.

desactivar archivos autor wordpress seopress

Si quieres conservar los archivos de autor pero cambiar su estructura o la información mostrada, edita los archivos de tema relevantes ( author.php , archive.php o index.php ).

Es importante, por ejemplo, desactivar con comentarios en el código (//) cualquier información sobre el autor, así:

// Check if the author description exists
// if(get_the_author_meta('description')) {
// echo '<h2>El autor</h2>';
// echo '<p>' . get_the_author_meta('description') . '</p>';
// }

Bloqueo total de intentos de enumeración de usuarios

Si tienes claro que quieres evitar cualquier intento de enumeración de usuarios en tu WordPress puedes bloquear cualquier intento mediante dos posibles métodos.

Bloqueo de enumeración de usuarios con una función

Añade esta función usando tu método favorito y lo tienes, enumeración de usuarios bloqueada por defecto:

if (!is_admin()) {
// formato de URL por defecto
if (preg_match('/author=([0-9]*)/i', $_SERVER['QUERY_STRING'])) die();
add_filter('redirect_canonical', 'shapeSpace_check_enum', 10, 2);
}
function shapeSpace_check_enum($redirect, $request) {
// formato de URL del enlace permanente
if (preg_match('/\?author=([0-9]*)(\/*)/i', $request)) die();
else return $redirect;
}

Bloqueo de enumeración de usuarios desde .htaccess

Si prefieres usar el archivo .htaccess el código a añadir es el siguiente:

# Bloquear peticiones de ID de usuario
<IfModule mod_rewrite.c>
RewriteCond %{QUERY_STRING} ^author=([0-9]*)
RewriteRule .* https://midominio.com/? [L,R=302]
</IfModule>

En este código debes cambiar la línea del dominio para poner el tuyo.

Política de contraseñas seguras

La implementación de políticas de contraseñas seguras reduce la probabilidad de que se produzcan ataques de fuerza bruta exitosos incluso si se descubren los nombres de usuario.

  • Longitud de la contraseña : establece una longitud mínima de 12 caracteres.
  • Contraseñas perfectas : educa en usar contraseñas que, al tiempo, sean fáciles de recordar y difíciles de adivinar.

Actualiza WordPress

Los temas, plugins y núcleo de WordPress obsoletos pueden contener vulnerabilidades de seguridad que faciliten la enumeración de usuarios y otros ataques. Las actualizaciones periódicas solucionan estas vulnerabilidades y mejoran la seguridad general de tu sitio.

Comprueba periódicamente si hay actualizaciones en el escritorio de WordPress, en la sección Actualizaciones . Automatiza las actualizaciones siempre que sea posible para garantizar que tu sitio siga estando a la vanguardia de la seguridad.

Vigila tu web

Los registros son extremadamente valiosos a la hora de supervisar un sitio web. Mantenerlos actualizados es fundamental para la rendición de cuentas y la seguridad de tu WordPress.

Los registros pueden ayudarte a:

  • Monitorear los cambios importantes en tu web
  • Avisarte de cualquier indicador de debilidad
  • Revelar puntos de intrusión y vulnerabilidades
  • Proporcionar información sobre si algo salió mal o no.

Activar los registros de actividad en tu web te ofrecerá una visión rápida y sencilla de las acciones que se realizan en tu sitio y te ayudará a asociar estas acciones con usuarios específicos.

Hay varios plugins que añaden un control de registro de actividad, como Security Optimizer.

¿Es que nadie piensa en el SEO?

Existe la idea de que para el E-A-T, no conviene deshacerse o no indexar los archivos de autor, así que todas estas técnicas irían en contra del posicionamiento de la web, peroooo, Google dice que no pasa nada con no indexar los archivos de autor, sobre lo que no se ha pronunciado a este respecto es sobre sí afecta al SEO desactivarlos del todo, pero ya te digo yo que mi intuición me dice que sí, que afectaría negativamente al E-A-T, pues dejaría de haber una URL en la que encontrar los contenidos de cada autor, con lo que sería imposible atender a esta dinámica del E-A-T.

¿Entonces qué hago?, ¿aseguro mi web y me cargo el SEO?, ¿o mantengo el SEO y vivo peligrosamente?

Andaaaa, repasa el artículo, pues hay medidas más que suficientemente seguras con las que evitar las consecuencias de la enumeración de usuarios, pero manteniendo una seguridad efectiva.

¿Lo qué?

Me explico, y resumo…

¿Impido la enumeración de usuarios o no?

Si nos atenemos únicamente a la seguridad, no es necesario desactivar o impedir la enumeración de usuarios, y mucho menos cargarte los archivos de autor.

Es más que suficiente impedir las posibles consecuencias de una estrategia de ataque a partir de la enumeración de usuarios, por ejemplo activando la doble identificación, el 2FA, que impedirá cualquier intento de aprovechamiento de una enumeración de usuarios. Si además cambias la URL de acceso a WordPress te quitas montones de intentos de acceso fallidos de bot

Por otra parte, en lo referente a tu responsabilidad sobre los datos de tus usuarios, por temas legales, atendiendo a esta necesidad, entonces sí debes aplicar medidas que limiten en lo posible la enumeración de usuarios, o en su defecto de datos sensibles, y también hemos visto como hacerlo en este tutorial.

De todos modos, es posible que tengas dudas, y para eso tienes abajo los comentarios. Mientras tanto, espero que esta guía te haya ayudado a comprender qué es la enumeración de usuarios, sus implicaciones de seguridad y legales, y sobre todo como afrontar esta amenaza a tu WordPress.

Resume el artículo con tu IA favorita o compártelo en redes

¿De cuánta utilidad te ha parecido este contenido?

¡Haz clic en las estrellas para valorarlo!

Promedio de puntuación 5 / 5. Total de votos: 12

¡Todavía no hay votos! Sé el primero en valorar este contenido.

Ya que has encontrado útil este contenido...

¡Sígueme en las redes sociales!

¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!



Sobre el autor

Scroll al inicio