Index
Configuración de encabezado HTTP insegura
Descripción
Configuración insegura de encabezados (Insecure Header Setting):
- Content Security Policy: Mitiga los riesgos de cross-site scripting (XSS) al especificar orígenes de confianza para el contenido.
- Cookie: Mejora la seguridad estableciendo atributos como HttpOnly y Secure para proteger los datos de las cookies del acceso no autorizado.
- Cross-Origin Resource Sharing: Controla cómo se pueden compartir los recursos entre diferentes dominios para prevenir el acceso malicioso.
- HTTP Public Key Pinning: Protege contra ataques de tipo Man-in-the-Middle (MitM) al especificar qué claves públicas son válidas para un sitio en particular.
- Redirection: Asegura que las redirecciones sean seguras y solo conduzcan a destinos de confianza para prevenir vulnerabilidades de redirección abierta (Open Redirect).
- Referrer Policy: Define cuánta información de referencia (referrer) se pasa al navegar de un sitio a otro, mejorando la privacidad.
- Subresource Integrity: Verifica que los recursos cargados desde dominios de terceros no hayan sido alterados mediante la comprobación de su hash criptográfico.
- X-Content-Type-Options: Impide que los navegadores realicen el rastreo MIME (MIME-sniffing) del tipo de contenido, reduciendo el riesgo de ataques basados en el tipo de contenido.
- X-Frame-Options: Evita ataques de clickjacking al controlar si una página puede incrustarse en un marco.
- X-XSS-Protection: Activa el filtrado XSS integrado en el navegador para bloquear los ataques de cross-site scripting detectados.
- Permissions-Policy: Controla qué funciones y API se pueden usar en el navegador, mejorando la seguridad al limitar las capacidades para el contenido que no es de confianza.
- Clear-Site-Data: Permite a los sitios solicitar al navegador que borre los datos almacenados (cookies, almacenamiento local, cachés) de un origen especificado, lo que ayuda a mitigar el impacto de las fugas de datos o los problemas de privacidad.
Recomendación
Para garantizar que no existan configuraciones inseguras de encabezados, considere lo siguiente:
- Content Security Policy (CSP):
Aplique restricciones en las fuentes de contenido, mitigando los riesgos asociados con ataques de tipo cross-site scripting (XSS) y la carga de recursos no autorizados.
Content-Security-Policy: default-src 'self'; script-src 'self' https://cdnjs.cloudflare.com;
- Cookie Security Headers:
Implemente los indicadores (flags) Secure y HttpOnly para evitar el robo y la manipulación de cookies, mejorando la seguridad de la sesión del usuario.
Set-Cookie: sessionid=abc123; Secure; HttpOnly;
- Cross-Origin Resource Sharing (CORS):
Configure adecuadamente las políticas CORS para restringir el acceso a los recursos desde diferentes orígenes, mitigando las falsificaciones de solicitudes entre sitios (CSRF) y la fuga de datos de origen cruzado.
Access-Control-Allow-Origin: https://example.com
- HTTP Public Key Pinning (HPKP):
Utilice HPKP para vincular claves públicas a servidores web específicos, protegiéndose contra ataques de Man-in-the-Middle (MitM) que involucren certificados fraudulentos.
Public-Key-Pins: pin-sha256="base64=="; max-age=5184000; includeSubDomains;
- Redirection Headers:
Garantice redirecciones seguras mediante la implementación de controles estrictos para evitar vulnerabilidades de redirección abierta, salvaguardando así a los usuarios contra ataques de phishing.
Location: https://example.com/secure-page
- Referrer Policy:
Establezca políticas de referencia adecuadas para controlar cuánta información se pasa en el encabezado Referer, reduciendo el riesgo de exposición de datos confidenciales.
Referrer-Policy: strict-origin-when-cross-origin
- Subresource Integrity (SRI):
Implemente SRI para verificar la integridad de los recursos externos, como secuencias de comandos y hojas de estilo, protegiéndose contra modificaciones no autorizadas y ataques a la cadena de suministro (Supply Chain Attacks).
<script src="https://example.com/example.js" integrity="sha256-base64==" crossorigin="anonymous"></script>
- X-Content-Type-Options:
Habilite la directiva 'nosniff' para evitar que los navegadores realicen rastreo de MIME (MIME-sniffing) de una respuesta, mitigando los riesgos asociados a los ataques por confusión del tipo de contenido.
X-Content-Type-Options: nosniff
- X-Frame-Options:
Establezca X-Frame-Options para restringir la incrustación de contenido web en marcos, protegiendo contra los ataques de clickjacking y garantizando la integridad de nuestras páginas web.
X-Frame-Options: DENY
- X-XSS-Protection:
Habilite mecanismos de protección XSS para mitigar los ataques de tipo XSS, indicando a los navegadores que depuren (sanitize) o bloqueen los scripts que sean potencialmente maliciosos.
X-XSS-Protection: 1; mode=block
Enlaces
Estándares
- OWASP_ASVS_L1:
- V5_1_3
- V14_5_3
- OWASP_ASVS_L2:
- V5_1_3
- V14_5_3
- OWASP_ASVS_L3:
- V5_1_3
- V14_5_3
- HIPAA_CONTROLS:
- SECURITY212
- SECURITY213