Glosario
Qué es la SSRF (Server-Side Request Forgery, falsificación de solicitudes del lado del servidor)
La SSRF hace que un servidor envíe solicitudes a destinos internos que no debería alcanzar (IPs internas, metadatos de la nube): el punto de entrada de la brecha de Capital One. Cómo funciona, dónde se esconde, los descuidos de validación que la gente pasa por alto y cómo defenderse.
«Pega una URL y recuperaremos su contenido»: una comodidad cotidiana que, en el peor de los casos, se convierte en la puerta a tus credenciales de la nube. Eso es la SSRF. Aquí tienes cómo funciona y cómo defenderse, desde cero.
Qué ocurre realmente
El acceso normal es «usuario → sitio externo». La SSRF convierte el servidor en un proxy que golpea el interior. Los servidores pueden alcanzar redes internas y endpoints de credenciales de la nube que son invisibles desde fuera, así que un atacante los espía de forma indirecta.
169.254.169.254 (credenciales de la nube)En la nube, ese endpoint interno (el servicio de metadatos) puede entregar credenciales temporales. Si la SSRF lo alcanza, las claves se roban y el ataque se encadena a la exfiltración masiva del almacenamiento, que es exactamente lo que ocurrió en la brecha de Capital One (2019): SSRF → metadatos → credenciales IAM → S3.
Dónde se esconde
Cualquier función donde «un servidor recupera una URL proporcionada por el usuario» es candidata.
| Función | Implementación típica |
|---|---|
| Vista previa OG / de enlace | el servidor recupera una URL pegada para construir una miniatura |
| Entrega de webhook | el servidor hace POST a un destino especificado por el usuario |
| Importación de imagen / archivo | «recuperar una imagen desde una URL» |
| Diagnósticos del sitio | el servidor accede al sitio introducido para inspeccionarlo |
Descuidos de validación que la gente pasa por alto
«Bloquear las IPs internas» no basta. También debes cerrar estas brechas.
El bloqueo ingenuo filtra
- Seguimiento de redirecciones: un dominio permitido hace un
302a una dirección interna. - Reenlace de DNS (DNS rebinding): IP externa en el momento de la validación, IP interna en el momento de la recuperación.
- Trucos de codificación de IP: formas decimales/octales/cortas disfrazan una dirección interna.
- Esquemas raros:
file://,gopher://y otros esquemas inesperados.
Cómo defenderte si construyes la función
La SSRF se previene en «cómo construyes la función». Estas son las reglas que este sitio se impone en sus propias funciones de diagnóstico.
Usa una lista de permitidos para los destinos
Restringe el esquema (http/https) y el host a un conjunto permitido únicamente. «Permitir solo estos» es más robusto que «bloquear los internos».
Bloquea los objetivos internos
Deniega la accesibilidad a 127.0.0.1 / 10.x / 192.168.x / 169.254.169.254 (metadatos).
Solo dominios que el usuario posea (para diagnósticos)
Restringe a dominios cuya propiedad haya demostrado el usuario. No dejes que apunten a sitios de terceros.
Cierra las brechas y protege los metadatos
Valida el destino final de la redirección, ten en cuenta el reenlace de DNS y exige metadatos basados en token (por ejemplo, IMDSv2) en la nube.
Este sitio se construye sobre «no guardar secretos», «diagnosticar solo lo que se ha demostrado poseer» y «minimizar el radio de impacto» (→ Acerca de este sitio).
Sigue leyendo
- Glosario: Qué es RCE · Qué es una CVE
- Fundamentos: Fundamentos de seguridad
- Defensa: Falsificación de X-Forwarded-For y proxies de confianza
FAQ
Q¿Qué tipo de funciones tienden a tener SSRF?
Funciones donde 'un servidor recupera una URL proporcionada por el usuario': generación de vistas previas OG/de enlaces, entrega de webhooks, importación de imágenes, diagnósticos del sitio. Cuanto más cómoda es la función, más cuidado necesita.
Q¿Por qué la SSRF es especialmente peligrosa en la nube?
Las máquinas virtuales en la nube tienen un 'endpoint de metadatos' solo interno que puede entregar credenciales temporales. Si la SSRF lo alcanza, esas claves se roban y el ataque se encadena a la exfiltración masiva del almacenamiento (la vía de la brecha de Capital One).
Q¿Cómo me defiendo contra la SSRF?
Valida los destinos estrictamente con una lista de permitidos y bloquea la accesibilidad a IPs internas (127.0.0.1, 10.x, metadatos 169.254.169.254). Para los diagnósticos, restringe a dominios cuya propiedad haya demostrado el usuario, y cierra las brechas de seguimiento de redirecciones y de reenlace de DNS.