El endpoint /server-status no es parte de WordPress, sino la ruta estándar para el estado del servidor Apache (mod_status). Si ves peticiones a esta URL en los logs de tu sitio, es una señal inequívoca de que tu web está siendo escaneada por bots o atacantes que buscan exponer información sensible del servidor.
¿Qué es /server-status?
Cuando el módulo mod_status está habilitado, Apache puede exponer una página con información en tiempo real sobre el servidor.
La URL suele ser: https://ejemplo.com/server-status
También puede encontrarse como: /server-status?auto
¿Qué información muestra?
Dependiendo de la configuración, puede revelar:
- Versión de Apache.
- Tiempo de actividad (uptime).
- Número de solicitudes procesadas.
- Número de conexiones activas.
- Direcciones IP de los clientes conectados.
- Peticiones HTTP en curso.
- Recursos solicitados.
- Consumo de CPU.
- Uso de memoria.
- Información sobre los procesos de Apache.
Ejemplo:
¿Es una vulnerabilidad?
Sí, si es accesible desde Internet.
Aunque no permite modificar el servidor, proporciona información muy útil para un atacante durante la fase de reconocimiento.
Riesgos asociados
Divulgación de la versión de Apache
Conocer la versión exacta permite buscar vulnerabilidades conocidas (CVE) que afecten a esa versión.
Reconocimiento de la aplicación
Puede mostrar qué URLs están siendo utilizadas en ese momento, por ejemplo:
Esto ayuda a identificar la tecnología utilizada y los puntos de entrada más interesantes.
Exposición de direcciones IP
Dependiendo de la configuración, pueden mostrarse las direcciones IP de los clientes conectados, lo que supone una exposición innecesaria de información.
Información sobre el rendimiento
Puede revelar:
Aunque no es crítica por sí sola, esta información puede ayudar a planificar ataques de denegación de servicio (DoS).
¿Cómo comprobar si está expuesto?
Accede a:
Resultados esperados:
¿Por qué puede estar ocurriendo?
Escaneo automatizado: Es el motivo más común. Los atacantes usan bots para buscar de forma masiva en internet rutas sensibles como /.git/config, /phpmyadmin/ o /server-status.
Configuración activa por error: Es posible que el administrador del servidor haya activado el mod_status de Apache para monitorización y haya olvidado restringir el acceso, dejándolo abierto al público.
Un plugin de monitorización: Aunque existen algunos plugins de WordPress que usan el nombre "Server Status", lo normal es que estén diseñados para monitorizar servidores de juegos o para mostrar estadísticas internas en el panel de administración, no como un endpoint público en la raíz.
¿Cómo protegerlo?
La solución es bloquear el acceso público a esta ruta desde la configuración del servidor.
Restringir el acceso por IP
En Apache (servidores más comunes para WordPress)
Verifica el archivo de configuración de Apache (normalmente httpd.conf o status.conf). Busca el bloque <Location /server-status> y asegúrate de que las reglas de acceso no estén abiertas (Allow from all).
Configura el archivo para que solo responda desde el servidor o desde tu IP, como en este ejemplo:
O permitir únicamente direcciones IP específicas:
Deshabilitar mod_status
Si no necesitas esta funcionalidad, desactiva el módulo:
Nginx:
En resumen, si ves /server-status en los logs, no es un ataque directo, sino un "toque a la puerta" para ver si hay algo valioso. La solución está en bloquear esa puerta desde el servidor.