SECURITY GUÍA

Security Headers: Protege Tu Sitio con los Headers HTTP de Seguridad

Como configurar CSP, HSTS, X-Frame-Options y otros headers para proteger a los visitantes de XSS, clickjacking y otros ataques.

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

Headers de seguridad recomendados
# Content-Security-Policy — Prevenzione XSS
Content-Security-Policy: default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; font-src 'self'

# Strict-Transport-Security — Forza HTTPS
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload

# X-Content-Type-Options — Previene MIME sniffing
X-Content-Type-Options: nosniff

# X-Frame-Options — Previene clickjacking
X-Frame-Options: DENY

# Referrer-Policy — Controlla il referrer
Referrer-Policy: strict-origin-when-cross-origin

# Permissions-Policy — Limita API del browser
Permissions-Policy: camera=(), microphone=(), geolocation=()

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.

Prueba Security Headers gratis
Analiza los encabezados de seguridad HTTP: CSP, HSTS, X-Frame, etc.
Usar Security Headers >

Explore the Network