Seguridad de Cookies: Guia Completa
Las cookies son el mecanismo principal de gestion de sesiones en la web. Almacenan tokens de autenticacion, preferencias del usuario y datos de seguimiento. Sin los flags de seguridad adecuados, las cookies se convierten en un vector de ataque critico que permite el robo de sesiones, ataques CSRF y exposicion de datos sensibles.
Estadisticas en tiempo real
58%
Tasa de aprobacion
229
Sitios analizados
69/100
Puntuacion media
Datos basados en escaneos reales de EscanearVulnerabilidades
Que es
Las cookies HTTP son pequenos fragmentos de datos que el servidor envia al navegador del usuario, que los almacena y reenvian con cada peticion posterior al mismo dominio. Las cookies de sesion contienen un identificador unico que vincula al usuario con su sesion en el servidor. Los flags de seguridad de cookies son atributos que controlan como el navegador maneja estas cookies: HttpOnly impide el acceso desde JavaScript, Secure restringe el envio a conexiones HTTPS, SameSite controla el envio en peticiones cross-origin, Domain limita a que dominios se envian, Path restringe a que rutas aplican, y Max-Age/Expires define su vigencia.
Por que importa
Sin el flag HttpOnly, un ataque XSS puede robar la cookie de sesion del usuario mediante document.cookie en JavaScript, permitiendo al atacante suplantar su identidad (session hijacking). Sin el flag Secure, la cookie se envia en conexiones HTTP no cifradas, donde puede ser interceptada por cualquier atacante en la red. Sin SameSite, la cookie se incluye en peticiones desde sitios de terceros, habilitando ataques CSRF (Cross-Site Request Forgery) donde un sitio malicioso ejecuta acciones en nombre del usuario autenticado. El robo de sesion es uno de los ataques mas comunes y peligrosos, y la correcta configuracion de cookies es la defensa principal.
Problemas comunes
-
Flag HttpOnly ausente: permite que scripts JavaScript accedan a las cookies de sesion, facilitando el robo de sesiones mediante ataques XSS.
-
Flag Secure ausente: la cookie se transmite en conexiones HTTP sin cifrar, vulnerable a intercepcion en redes WiFi publicas.
-
SameSite no configurado o en modo "None": permite el envio de cookies en peticiones cross-site, habilitando ataques CSRF.
-
Cookies de sesion sin fecha de expiracion: las cookies persistentes indefinidas aumentan la ventana de oportunidad para ataques.
-
Domain demasiado amplio: configurar la cookie para .tudominio.com permite que subdominios comprometidos accedan a la sesion principal.
-
Datos sensibles almacenados directamente en cookies: almacenar informacion personal o tokens en la cookie en lugar de en el servidor.
Como solucionarlo
Configura todas las cookies de sesion con los flags HttpOnly, Secure y SameSite=Lax (o Strict donde sea posible). Establece una fecha de expiracion razonable para las cookies de sesion. Utiliza nombres de cookies con el prefijo __Host- para mayor seguridad. Implementa renovacion de tokens de sesion tras la autenticacion para prevenir session fixation. Revisa las cookies que establecen tus dependencias y frameworks para asegurar que tambien cumplen estas practicas.
# Node.js / Express
app.use(session({
name: '__Host-session',
secret: process.env.SESSION_SECRET,
cookie: {
httpOnly: true,
secure: true,
sameSite: 'lax',
maxAge: 24 * 60 * 60 * 1000, // 24 horas
path: '/',
},
resave: false,
saveUninitialized: false,
}));
# PHP - php.ini o .htaccess
session.cookie_httponly = On
session.cookie_secure = On
session.cookie_samesite = Lax
session.cookie_lifetime = 86400
session.use_strict_mode = On
# Nginx - Modificar cookies del upstream
proxy_cookie_flags ~ httponly secure samesite=lax; Comprueba la seguridad de tu sitio web
Nuestro escaner analiza automaticamente la configuracion de seguridad de cookies junto con otros 9 checks de seguridad. Recibe un informe completo con recomendaciones en minutos.
Escanea tu sitio web gratisGuias relacionadas
Cabeceras de Seguridad HTTP: Guia Completa
Guia completa sobre cabeceras de seguridad HTTP: CSP, HSTS, X-Frame-Options, X-Content-Type-Options,...
Redireccion HTTPS: Guia Completa
Aprende por que la redireccion HTTP a HTTPS es esencial, como configurarla en Apache y Nginx, que es...
Certificado SSL/TLS: Guia Completa
Aprende que es un certificado SSL/TLS, por que es fundamental para la seguridad web, como detectar p...