Capítulo 38 — Seguridad Web Avanzada¶
Introducción¶
En el Capítulo 26 vimos los fundamentos de la seguridad web. Aquí vamos a profundizar en las técnicas más avanzadas que usan los profesionales para proteger aplicaciones críticas.
Cabeceras de Seguridad Avanzadas¶
Content Security Policy (CSP)¶
CSP es una capa adicional de seguridad que ayuda a detectar y mitigar ataques como XSS e inyección de datos.
Content-Security-Policy: default-src 'self'; script-src 'self' https://trusted.cdn.com; style-src 'self' 'unsafe-inline'
Strict-Transport-Security (HSTS)¶
Fuerza a que todas las conexiones se hagan por HTTPS.
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
Autenticación con WebAuthn¶
WebAuthn permite a los usuarios autenticarse con huella digital, Face ID o llaves de seguridad físicas (YubiKey), eliminando las contraseñas.
const credencial = await navigator.credentials.create({
publicKey: {
challenge: new Uint8Array(32),
rp: { name: 'Mi App' },
user: { id: new Uint8Array(16), name: 'usuario@ejemplo.com', displayName: 'Usuario' },
pubKeyCredParams: [{ alg: -7, type: 'public-key' }]
}
});
Rate Limiting y Protección contra DDoS¶
Usa middlewares como express-rate-limit en el backend y soluciones como Cloudflare en el frontend.
import rateLimit from 'express-rate-limit';
app.use('/api/', rateLimit({
windowMs: 15 * 60 * 1000, // 15 minutos
max: 100, // 100 peticiones por IP
message: 'Demasiadas peticiones. Inténtalo más tarde.'
}));
Ejercicios¶
- Configura CSP en tu proyecto y verifica con securityheaders.com.
- Implementa rate limiting en una API Express.
- Investiga cómo funciona WebAuthn con una llave de seguridad.
⬅️ Capítulo 37 — IA Generativa | ➡️ Apéndices