Headers de seguridad: la primera linea de defensa del navegador
Los headers de seguridad HTTP son instrucciones que el servidor web envia al navegador junto con la respuesta, indicando como comportarse para proteger al usuario. Sin estos headers, el navegador aplica solo sus politicas por defecto, que frecuentemente no son suficientes para prevenir ataques como XSS (Cross-Site Scripting), clickjacking, sniffing del content-type y downgrade HTTPS. Configurar los headers correctos es una de las medidas de seguridad mas efectivas y menos invasivas que puedes implementar.
Nuestro analizador de Security Headers verifica la presencia y la correcta configuracion de cada header de seguridad, asignando un puntaje y proporcionando recomendaciones especificas. Pero a diferencia de un simple check de presente/ausente, tambien analiza los valores: un CSP demasiado permisivo (unsafe-inline, unsafe-eval) es casi peor que no tenerlo, porque crea una falsa sensacion de seguridad.
Los headers esenciales
CSP (Content-Security-Policy) es el mas potente: define cuales recursos el navegador puede cargar y desde donde. Previene eficazmente los ataques XSS impidiendo la ejecucion de scripts no autorizados. HSTS (Strict-Transport-Security) fuerza al navegador a usar siempre HTTPS, incluso si el usuario escribe http://. El parametro preload permite insertar el dominio en la lista HSTS preloaded de los navegadores, garantizando HTTPS desde la primera visita.
Implementacion practica
La implementacion se realiza a nivel de servidor web. En Nginx agrega add_header en las directivas server o location. En Apache usa Header set en el archivo .htaccess o en la configuracion del virtualhost. Si usas un CDN (Cloudflare, AWS CloudFront), puedes configurar los headers directamente en el CDN. Verifica siempre el resultado con nuestro Security Headers check despues de cada cambio, y prueba el sitio para asegurarte de que CSP no bloquee recursos legitimos.
Combina el control de los headers con SSL Check para verificar el certificado SSL y HTTP Headers para un analisis completo de todos los headers de la respuesta (no solo los de seguridad). Un sitio con HTTPS perfecto pero sin headers de seguridad es vulnerable a ataques que HTTPS no previene (XSS, clickjacking). Viceversa, headers de seguridad sin HTTPS tienen efectividad limitada. La seguridad web requiere ambos.
El enfoque recomendado es incremental: comienza con los headers mas simples (X-Content-Type-Options, X-Frame-Options), luego agrega HSTS y Referrer-Policy, y finalmente implementa CSP partiendo de una politica permisiva y restringiendola gradualmente monitoreando las violaciones con el parametro report-uri. Un CSP demasiado restrictivo lanzado sin pruebas puede romper funcionalidades del sitio, asi que siempre prueba en modo report-only antes de aplicar.