1Qué hemos medido y cómo
Hosteate Solutions aloja y administra servidores para pymes españolas: restaurantes, tiendas, despachos, agencias. Hasta el 24 de octubre de 2026 leímos los registros locales de 50 de esos servidores (29 con nginx, 13 con Caddy y 8 con otros servicios), repartidos entre centros de datos de Países Bajos y Madrid. Ninguno es un señuelo: son máquinas de producción con webs reales.
Tres fuentes, todas del propio servidor: el registro del servidor web (qué rutas pide cada visitante y con qué respuesta), el diario de SSH (intentos de entrada fallidos) y el registro del cortafuegos (conexiones rechazadas a puertos cerrados). Cada una conserva lo que su rotación le deja: el diario de SSH cubre 30 días completos; el del cortafuegos, 26 días con todas las máquinas; y el del servidor web sólo 15 días (10/10 – 24/10 de 2026), que es lo que guarda la rotación por defecto de nginx. Las cifras diarias del web se calculan sobre esos 15 días, no sobre 30. No hemos tocado ningún sistema ajeno: todo lo que aquí se cuenta son cosas que otros hicieron contra nuestras máquinas.
Llamamos sonda a una petición web que termina en error (400, 403, 404 o 405) y pide una ruta típica de reconocimiento (ficheros de configuración, paneles, copias de seguridad, shells), o llega con un método que no es HTTP, o sale de un escáner conocido. Hemos descartado el tráfico de nuestras propias redes de monitorización y el de los rastreadores legítimos (Google, Bing, Apple…) aunque acaben en 404. Las IP de origen se han agrupado por país y red de origen con una base de geolocalización pública; no publicamos ninguna IP ni ningún nombre de cliente.
Los datos agregados están en un JSON descargable y la lógica del recolector se describe al final.
2Las cifras
Las sondas no llegan en oleadas: llegan todos los días, sin fines de semana. Así se repartieron en los 15 días con registro web completo:
Sondas web por día, sumadas en los 50 servidores.
3Qué buscan: secretos, no WordPress
La creencia popular es que los bots van a por WordPress. Los datos dicen otra cosa: el 88 % de las sondas busca ficheros de configuración y copias olvidadas. El objetivo número uno es el fichero .env, donde Laravel, Node, Django y media web moderna guardan las contraseñas de la base de datos, las claves de Stripe y las de AWS. Lo piden en 42 variantes distintas de ruta y de sufijo (.env.bak, .env.production, /api/.env…), que suman 84.978 peticiones.
Familias de sondas, en porcentaje de las 147.628 sondas con ruta clasificable.
Las quince rutas más pedidas:
Un detalle que importa: 9.897 peticiones ni siquiera eran HTTP. Son clientes que hablan TLS o RDP contra el puerto 80, el equivalente a probar todas las llaves del llavero en la primera cerradura que ven. Y 48.651 llegaron sin identificarse (User-Agent vacío), mientras 119.133 lo hicieron con el nombre de un escáner a la vista (l9explore, libredtail-http, WebSiphon, «Go Web Pentest Tool»). No se esconden porque no les hace falta.
4SSH: la diferencia entre cerrar y no cerrar
De los 50 servidores, 48 tienen el puerto SSH cerrado a Internet (sólo se entra por una red privada) y 2 lo tienen abierto. En 30 días, los 48 cerrados recibieron en total 4 intentos de entrada. Uno solo de los abiertos recibió 18.712, de 54 direcciones distintas, con un pico de 14.763 en un solo día (07/10).
No es que el cortafuegos no reciba golpes: registró 305.221 conexiones rechazadas al puerto 22 en el conjunto. Es que un puerto cerrado convierte cada una de ellas en una línea de registro en vez de en una oportunidad.
Los nombres de usuario que prueban son los de siempre. El 66 % de los intentos van contra root y ubuntu:
Y de dónde vienen, por país de la dirección de origen (lo que mide es dónde está la máquina que ataca, normalmente otra víctima o un servidor alquilado, no quién la maneja):
Por horas (hora peninsular), con el pico a las 21:00:
5Lo que el cortafuegos no deja pasar
6.256.557 conexiones rechazadas en 26 días en 49 servidores: 4.911 al día por máquina. Los puertos que más se tocan dibujan el mapa de lo que la gente deja abierto por descuido: SSH, Telnet (un protocolo de 1969 que sigue vivo en routers y cámaras), correo, escritorio remoto de Windows, telefonía SIP e impresoras.
Puertos de destino de las conexiones rechazadas.
6De dónde sale el tráfico web
Las sondas web salen casi todas de centros de datos, no de conexiones domésticas: Google Cloud, Oracle Cloud, Microsoft Azure, DigitalOcean y una larga cola de pequeños proveedores de alquiler de servidores. El país es el del centro de datos, así que el mapa dice más de dónde es barato alquilar una máquina que de quién la usa. Una parte del tráfico de «Estados Unidos» y «Países Bajos» entra además a través de Cloudflare, que es por donde servimos varias webs.
País de origen de las 378.056 sondas cuyas direcciones más activas pudimos geolocalizar (82 % del total).
7Qué hacer con esto si tienes una web
- Que no exista nada que leer. El
.env, el.gity las copias de seguridad no deben estar dentro de la carpeta pública. Si la web está hecha con un framework moderno, la raíz pública tiene que serpublic/, no el proyecto entero. Compruébalo pidiendo tú mismohttps://tu-web/.env: debe dar 404 o 403, nunca contenido. - Cierra SSH a Internet. Si administras el servidor desde dos o tres sitios, limita el puerto 22 a esas direcciones o a una red privada (Tailscale, WireGuard). Es la medida con mejor relación esfuerzo/resultado de toda la lista: pasa de miles de intentos a cero.
- Nada de contraseñas en SSH, sólo claves. Y
rootsin entrada directa. Los dos usuarios más probados sonrootyubuntu: que no existan como puerta. - Cortafuegos por defecto cerrado. Abre 80 y 443 y lo que uses de verdad. Telnet, RDP, SIP y el puerto de impresión no tienen nada que hacer en un servidor web.
- Que el servidor web no cuente nada. Oculta la versión en las cabeceras, deja sin listar los directorios y devuelve un 404 limpio a lo que no existe.
- Mira el registro una vez al mes. No hace falta un SIEM: contar cuántos 404 piden
.enves ungrep. Lo raro no es que te sondeen; lo raro sería ver un 200 en una de esas rutas.
8Límites de este estudio
Son 50 servidores de un mismo operador y dos centros de datos, así que la muestra está sesgada hacia nuestra manera de montar máquinas (SSH cerrado, cortafuegos por defecto, nginx o Caddy). Los registros web no cubren los 21 servidores sin servidor web ni más allá de los 15 días que conserva la rotación; el registro de SSH y el del cortafuegos cubren los 50. Las rutas y familias de sondas se cuentan sobre todo el registro web disponible, que en unas pocas máquinas llega algo más atrás. La clasificación de sondas es por lista de patrones y se queda corta con lo que no reconoce: la cifra real es mayor, no menor. La geolocalización es por dirección IP y la hicimos sólo sobre las 600 direcciones web más activas y todas las de SSH, con una base pública que tiene el error habitual de estas bases. Y en las webs que van detrás de Cloudflare, la dirección registrada es la del proxy cuando el servidor no está configurado para restaurar la original.
El recolector es un script de Python que corre en el propio servidor, sin red, lee /var/log/nginx o /var/log/caddy, el diario de sshd y ufw.log, y devuelve sólo contadores. Si quieres replicarlo sobre tus máquinas o comparar cifras, escríbenos.
Investigación de Hosteate Solutions S.L. (marca Hackéalo) · 24 de octubre de 2026 · Datos agregados: JSON · Contacto: hola@hackealo.es
