Guía de Seguridad CORS en IIS

🔎 Flujo de CORS

El navegador envía el **header Origin** al API y el servidor responde con las reglas CORS. Browser API IIS Respuesta Origin header CORS headers

Flujo: 1️⃣ El navegador envía Origin: https://app.midominio.com 2️⃣ El API responde Access-Control-Allow-Origin: https://app.midominio.com 3️⃣ El navegador decide si permite el acceso.

🧪 Prueba rápida de vulnerabilidad

Ingrese una API para probar si expone CORS abierto.

📊 Configuración segura vs insegura

Configuración Ejemplo Estado
CORS abierto Access-Control-Allow-Origin: * INSEGURO
Reflejar origen dinámico Access-Control-Allow-Origin: {Origin} RIESGO
Lista blanca Access-Control-Allow-Origin: https://app.midominio.com SEGURO
Validación backend if(origin in whitelist) return header MUY SEGURO

🛡️ Checklist de auditoría CORS

Checklist de seguridad: ☐ No usar `Access-Control-Allow-Origin: *` ☐ No reflejar automáticamente el header `Origin` ☐ Usar lista blanca de dominios ☐ Validar origen en backend ☐ Revisar métodos `OPTIONS` (preflight) ☐ No permitir `Allow-Credentials` con `*` ☐ Revisar APIs internas ☐ Registrar intentos de acceso no autorizados Herramientas recomendadas: - ModHeader - Burp Suite - OWASP ZAP

⚙️ Configuración desde IIS Manager

### Paso 1 Abrir IIS Manager inetmgr ### Paso 2 Seleccionar el sitio o aplicación. ### Paso 3 Abrir HTTP Response Headers ### Paso 4 Revisar si existe Access-Control-Allow-Origin: * ### Paso 5 Eliminar si está presente. ### Paso 6 Configurar CORS en la aplicación (ASP.NET / .NET Core). ### Paso 7 Reiniciar el Application Pool.