Saltar a contenido

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:

  1. 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;
  1. 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;
  1. 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
  1. 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;
  1. 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
  1. 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
  1. 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>
  1. 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
  1. 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
  1. 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