Blog Lo que encuentra la auditoría gratuita Parte 7 de 9

Los nombres de usuario son la mitad de un inicio de sesión

Por defecto, WordPress muestra a cualquiera el nombre de usuario de cada autor, y a los atacantes solo les queda adivinar la contraseña. Cuatro cambios lo evitan sin bloquear a nadie.

De dónde sale la lista

WordPress tiene una interfaz de programación que otro software usa para leer el sitio: la aplicación móvil, el editor de bloques y las integraciones. Una parte de ella lista usuarios. Por defecto cualquiera puede leer esa lista, con sesión o sin ella, en la dirección de su sitio seguida de /wp-json/wp/v2/users. Muestra el nombre público de cada cuenta y su slug de usuario, que en la mayoría de los sitios es el propio nombre de usuario.

Hay una forma más antigua de obtener lo mismo. Añada /?author=1 a la dirección de su sitio y WordPress redirige a la página de archivo de la primera cuenta, cuya dirección contiene el nombre de usuario. Pruebe con 2, 3 y así sucesivamente, y obtendrá el resto de su personal.

Por qué importa un nombre de usuario

Un inicio de sesión tiene dos mitades. Adivinar ambas es lento. Si una de ellas ya está a la vista, solo queda probar contraseñas, y las listas de contraseñas de otras filtraciones son baratas. Cuando sus nombres de usuario son públicos, cada cuenta queda protegida solo por su contraseña.

La interfaz remota heredada, xmlrpc.php, acelera todavía más los intentos. Una sola petición puede llevar cientos de intentos de contraseña. Viene activada por defecto, y la mayoría de los sitios no la usan desde que la aplicación móvil de WordPress dejó de necesitarla.

Cuatro cambios

Primero, restrinja la lista de usuarios a visitantes con sesión iniciada. Los plugins de seguridad ofrecen el ajuste, y para un desarrollador es un filtro corto. El editor de bloques y la aplicación siguen funcionando, porque tienen sesión.

Segundo, apague xmlrpc.php a menos que una integración concreta lo necesite. Jetpack y algunas herramientas móviles antiguas lo necesitan. Si su sitio usa una de ellas, déjelo encendido y ponga delante un límite de intentos.

Tercero, dé un segundo factor a cada cuenta que pueda publicar. Este es el cambio que más importa, porque vuelve inútil una contraseña adivinada. Una aplicación de autenticación en un teléfono basta. Primero los administradores, luego los editores, luego todos.

Cuarto, renombre o elimine la cuenta llamada admin, y haga que el nombre visible de cada cuenta sea distinto de su nombre de usuario. Ninguno de los dos es una defensa por sí solo. Ambos quitan la conjetura más fácil.

En qué no molestarse

Mover la página de inicio de sesión a una dirección secreta es popular y sirve de poco. La lista de usuarios está en otra dirección, así que mover la página de inicio de sesión no la oculta. Un plugin que oculta el número de versión de WordPress tampoco ayuda aquí. Dedique el tiempo al segundo factor.

Qué reporta la auditoría gratuita

La auditoría gratuita pide la lista de usuarios de la misma forma que lo haría un atacante. Informa cuántos nombres de usuario devolvió y muestra los primeros para que pueda reconocerlos. También informa si xmlrpc.php responde. Cada hallazgo es moderado por separado y grave en combinación, y suelen aparecer juntos.

Ejecute la auditoría gratuita en su sitio

Esta comprobación forma parte de la auditoría gratuita. Introduzca su dominio para ver lo que encuentra en su sitio.

Solo información pública. Resultados en aproximadamente un minuto, en inglés.