OffshoreVps
Seguridad19 oct 20268 min de lecturaPor el equipo de OffshoreVps

Oculta la IP de tu servidor de origen: proxies, CDN y fugas

Una CDN oculta tu servidor solo si nada más lo delata. Aprende cómo se filtran las IP de origen a través del historial de DNS, el correo y los certificados, y cómo blindar el origen.

Poner una CDN o un proxy inverso delante de un sitio absorbe tráfico y oculta la dirección del servidor, pero solo mientras la IP real siga siendo desconocida. Los atacantes rara vez rompen la CDN. Buscan el origen directamente. Esta guía enumera dónde se filtran los orígenes y cómo hacer que el origen rechace todo excepto tu proxy.

Ilustración de un escudo y un candado con las etiquetas Proxy por delante, Lista de permitidos del origen, Sin fugas, que representa mantener en secreto la IP de tu servidor de origen
Ideas clave tratadas en este artículo.

Cómo se encuentran los orígenes

  • Historial de DNS: hay servicios que conservan registros antiguos, así que una IP que usaste antes de añadir la CDN sigue apareciendo.
  • Subdominios: registros como mail., ftp. o dev. que apuntan directamente al servidor.
  • Cabeceras de correo: el correo saliente del mismo host revela su IP en las cabeceras.
  • Transparencia de certificados y escaneos de internet: los escáneres relacionan un certificado con cada IP que lo sirve.
  • Comportamiento de la aplicación: los webhooks, los descargadores de imágenes y las funciones de "comprobar esta URL" se conectan hacia fuera desde el origen.

Paso 1: empieza desde cero

Si el servidor ya ha quedado expuesto, la solución más segura es una IP nueva, o un servidor nuevo y una migración. Ocultar una dirección que ya es pública no funciona. Planifica el traslado con la guía de migración sin tiempo de inactividad.

Los pasos de esta guía en orden: 1. Cómo se encuentran los orígenes; 2. empieza desde cero; 3. acepta tráfico solo del proxy; 4. separa todo lo que pueda filtrarse; 5. prueba como un atacante
Los pasos de esta guía, en orden.

Paso 2: acepta tráfico solo del proxy

Permite los puertos web desde los rangos publicados del proxy y nada más. Con UFW queda así, usando los rangos que publica tu proveedor.

sudo ufw default deny incoming
sudo ufw allow OpenSSH
for ip in $(cat proxy-ranges.txt); do sudo ufw allow from "$ip" to any port 443 proto tcp; done
sudo ufw enable

Actualiza la lista periódicamente, ya que los rangos cambian. Para mayor garantía usa authenticated origin pulls (TLS mutuo) para que Nginx rechace cualquier cliente sin el certificado del proxy.

Paso 3: separa todo lo que pueda filtrarse

  • Envía el correo a través de otro host o relay, nunca desde el origen.
  • Mantén los subdominios que no son web fuera de la IP del origen.
  • Haz que las descargas salientes de la aplicación pasen por un proxy o por un worker aparte.
  • Sirve un bloque de servidor Nginx por defecto que devuelva una respuesta vacía ante un Host desconocido, de modo que un escaneo de la IP sin más no muestre nada.
server {
    listen 443 ssl default_server;
    ssl_reject_handshake on;
}

Paso 4: prueba como un atacante

Busca tu dominio en herramientas de historial de DNS, escanea tu propio rango de IP en busca del certificado y revisa las cabeceras de correo de un mensaje de prueba. Si alguna de ellas muestra el origen, cambia la IP y repite.

Recuerda lo que esto hace y lo que no: protege la disponibilidad y la privacidad de la dirección. No oculta quién es el titular de la cuenta. Para eso, lee qué tan anónimo es realmente el hosting anónimo, y para los ataques que superan la capa de red consulta las defensas de capa 7.