¿Qué son los encabezados de seguridad HTTP?
Los encabezados de seguridad HTTP son encabezados especiales de respuesta HTTP enviados por un servidor web al navegador. Instruyen al navegador sobre cómo proteger a los usuarios de ataques web comunes como cross-site scripting (XSS), clickjacking y ataques de intermediario.
Configurar correctamente los encabezados de seguridad es una medida rentable que puede mejorar significativamente la seguridad de un sitio web con relativamente poco esfuerzo. La función de puntuación de seguridad de IP Check-san te permite verificar la configuración de los encabezados de seguridad de cualquier sitio al que te conectes.
1. Content-Security-Policy (CSP)
CSP es uno de los encabezados más importantes en la seguridad web moderna. Limita estrictamente las fuentes desde las cuales una página web puede cargar recursos como scripts, hojas de estilo e imágenes.
Ataques contra los que CSP defiende
- Cross-site scripting (XSS): Previene la ejecución de scripts maliciosos
- Ataques de inyección de datos: Bloquea la carga de recursos no autorizados
- Clickjacking: Proporciona defensa mediante el control de frames e iframes
Operación de CSP
CSP te permite especificar fuentes permitidas por tipo de recurso. Por ejemplo, puedes permitir scripts solo de tu propio sitio mientras permites hojas de estilo tanto de tu sitio como de Google Fonts.
Usando un nonce (token de un solo uso) o hash, también puedes permitir de forma segura scripts en línea. IP Check-san aplica CSP con atributos nonce en cada página.
2. Strict-Transport-Security (HSTS)
HSTS instruye al navegador para que siempre acceda a un sitio a través de HTTPS.
Ataques contra los que HSTS defiende
- Ataques de SSL stripping: Ataques de intermediario que explotan la redirección de HTTP a HTTPS
- Ataques de degradación de protocolo: Intentos de forzar una conexión HTTP sin cifrar
Cómo funciona HSTS
Una vez que un navegador recibe un encabezado HSTS, convierte automáticamente todos los accesos a ese dominio a HTTPS durante la duración especificada (max-age). Añadir la directiva includeSubDomains extiende esto a los subdominios, y registrarse en la lista de precarga HSTS mediante la directiva preload aplica HTTPS desde la primera visita. Para una comprensión más profunda de la seguridad en la capa de transporte, libros sobre seguridad de aplicaciones web son un recurso valioso.
3. X-Frame-Options
Este encabezado controla si una página web puede ser incrustada dentro de un <iframe> o <frame>. Su propósito principal es defender contra el clickjacking - un ataque que superpone un iframe transparente para engañar a los usuarios y hacer que realicen acciones no deseadas.
DENY: Prohíbe todo enmarcadoSAMEORIGIN: Permite el enmarcado solo desde el mismo origen
Aunque la directiva frame-ancestors de CSP se recomienda ahora como una alternativa más flexible, es aconsejable también configurar X-Frame-Options para compatibilidad con navegadores antiguos. Para una comprensión profunda de estos encabezados, un libro de referencia sobre encabezados de seguridad HTTP puede ser útil.
4. X-Content-Type-Options
Este encabezado evita que el navegador realice MIME type sniffing - el comportamiento de ignorar el encabezado Content-Type y adivinar el tipo de contenido.
- Ataques de confusión de tipo MIME: Previene ataques que engañan al navegador para ejecutar un archivo de texto como un script
- Descargas drive-by: Previene ataques que disfrazan archivos maliciosos como seguros
El único valor válido es nosniff. Esto obliga al navegador a respetar estrictamente el tipo MIME declarado en el encabezado Content-Type.
5. Referrer-Policy
Este encabezado controla cuánta información se incluye en el encabezado Referer durante la navegación entre páginas. Previene que datos sensibles como IDs de sesión y consultas de búsqueda incrustados en las URL se filtren a sitios externos.
no-referrer: No envía ningún encabezado Refererstrict-origin-when-cross-origin: Envía la URL completa para solicitudes del mismo origen y solo el origen para solicitudes de origen cruzado (recomendado)same-origin: Envía el Referer solo para solicitudes del mismo origen
Cómo verificar los encabezados de seguridad
- Usa la puntuación de seguridad de IP Check-san para ver el estado de los encabezados de seguridad clave de un vistazo
- Inspecciona los encabezados de respuesta directamente en las herramientas de desarrollo del navegador (F12) en la pestaña Red
- Ejecuta
curl -I https://example.comdesde la línea de comandos
Resumen
Los encabezados de seguridad HTTP son una medida fundamental pero poderosa para fortalecer la seguridad de los sitios web. CSP y HSTS, en particular, son indispensables en la seguridad web moderna. Los operadores de sitios deben configurar estos encabezados correctamente, y los usuarios deben verificar regularmente la seguridad de los sitios que visitan usando IP Check-san. Para una comprensión más profunda de las conexiones cifradas, consulta nuestra guía sobre HTTPS y TLS. Para conocer las protecciones de privacidad a nivel de navegador, consulta nuestros artículos sobre huella digital del navegador y rastreo por cookies.
Para consultar las definiciones de los términos técnicos utilizados en este artículo, visita nuestro glosario.