El archivo /author/username en WordPress es un archivo de autor (author archive) totalmente legítimo y funcional del núcleo de WordPress.
No es una vulnerabilidad en sí mismo, pero sí es una fuente de información pública que los atacantes utilizan para enumerar usuarios, lo cual es el primer paso para un ataque de fuerza bruta.

¿Qué es y para qué sirve?

Es una página que WordPress genera de forma automática para mostrar una lista de todas las publicaciones escritas por un autor en particular. Es la página a la que llegas, por ejemplo, cuando haces clic en el nombre de un autor en una entrada.

2. Reglas de protección en .htaccess

Para bloquear el acceso directo mediante el servidor web Apache, puedes añadir el siguiente bloque de código en tu archivo .htaccess:

Su propósito es puramente funcional: permite a los visitantes del sitio ver todo el contenido creado por un mismo usuario. La URL sigue la estructura https://tudominio.com/author/nombredeusuario.

¿Cuál es el problema de seguridad?

El problema no es el endpoint en sí, sino la información que revela. Al acceder a él, cualquier persona, incluidos los atacantes, puede ver el nombre de usuario de ese autor. Esto es lo que se conoce como enumeración de usuarios.

Cómo funciona el ataque:

Un atacante usa herramientas como wpscan para recorrer sistemáticamente los IDs de usuario (por ejemplo, /?author=1, /?author=2, etc.) y obtener sus nombres de usuario. Luego, con esa lista de nombres, puede lanzar un ataque de fuerza bruta para adivinar las contraseñas.

Importante:

La propia comunidad de WordPress y su equipo de seguridad consideran que la exposición del nombre de usuario no es una vulnerabilidad de seguridad, ya que la seguridad se basa en la fortaleza de la contraseña y otras medidas como la autenticación de dos factores.

¿Cómo puedes proteger tu sitio?

Usar un plugin de seguridad: La opción más sencilla y recomendada es usar un plugin como Wordfence, que incluye opciones para bloquear la enumeración de usuarios.

Modificar el archivo functions.php de tu tema: Puedes desactivar los archivos de autor añadiendo este código a tu tema hijo:

add_action('template_redirect', 'disable_author_archives'); function disable_author_archives() { if (is_author()) { global $wp_query; $wp_query->set_404(); status_header(404); // Opcional: redirigir a la página de inicio // wp_redirect(home_url()); exit; } }

Proteger también la API REST:

La API REST de WordPress también puede exponer los usuarios a través del endpoint /wp-json/wp/v2/users/. Asegúrate de que tu plugin de seguridad o una solución personalizada también lo gestione.