Scanverra

Cómo solucionar las cabeceras de seguridad faltantes

Las cabeceras de seguridad son cabeceras de respuesta HTTP que indican al navegador que aplique una política en su nombre: negarse a cargar su sitio en un iframe, negarse a usar HTTP simple después de la primera visita por HTTPS, negarse a ejecutar scripts que no sean de su propio dominio. Las que faltan o son débiles dejan expuesto código de aplicación por lo demás seguro a categorías enteras de ataques a nivel de navegador.

Por qué las cabeceras faltan o siguen siendo débiles

  • Las configuraciones de hosting predeterminadas no incluyen ninguna de ellas. La mayoría de los servidores web y plataformas no añaden cabeceras de seguridad a menos que las configure explícitamente.
  • Se añade una CSP una vez y nunca se revisa de nuevo. A medida que una aplicación añade nuevos scripts de terceros, contenido incrustado o fuentes, una CSP estática escrita hace un año los bloquea silenciosamente, o peor, alguien la amplía con un comodín para que dejen de aparecer los errores, anulando la política.
  • Se añade HSTS sin las directivas que lo hacen realmente efectivo. Una cabecera Strict-Transport-Security desnuda con un max-age corto y sin includeSubDomains ni preload ofrece una protección mucho más débil de lo que aparenta.
  • Persisten cabeceras obsoletas copiadas de un tutorial antiguo, como X-XSS-Protection, que los navegadores modernos ignoran o que puede en sí misma introducir riesgo.

Cómo identificar el problema

Esta es la capacidad de seguridad más profunda de Scanverra. El escáner de seguridad realiza un análisis real de las directivas de CSP, verificando específicamente base-uri, form-action, object-src y frame-ancestors, además de detectar orígenes comodín demasiado amplios, y una verificación completa de profundidad de HSTS que cubre max-age, includeSubDomains y preload. Para la directiva preload en particular, hace una llamada en vivo a la API de hstspreload.org para confirmar que su dominio realmente está en la lista de precarga de Chrome, no solo que lo afirma. También señala cabeceras obsoletas como X-XSS-Protection, y asocia cada hallazgo a una referencia CWE y OWASP Top 10; por ejemplo, una cabecera HSTS faltante se asocia a CWE-319 y OWASP A05:2021, de modo que los hallazgos se traducen directamente en documentación de cumplimiento.

Cómo solucionarlo

1. Añada HSTS con el conjunto completo de directivas

Aplique HTTPS durante un año completo, en todos los subdominios, y regístrese para preloadtypescript
1Strict-Transport-Security: max-age=31536000; includeSubDomains; preload

Después de añadir preload, envíe su dominio en hstspreload.org: la directiva por sí sola no lo inscribe, y la verificación en vivo de Scanverra seguirá señalando el vacío hasta que el envío realmente sea aceptado.

2. Escriba una Content-Security-Policy delimitada a lo que su sitio realmente carga

Una CSP inicial con las directivas que Scanverra verifica explícitamentetypescript
1Content-Security-Policy: default-src 'self'; script-src 'self'; style-src 'self'; base-uri 'self'; form-action 'self'; object-src 'none'; frame-ancestors 'self'

Añada orígenes de confianza específicos a script-src/style-src solo según sea necesario; nunca recurra a un comodín (*) o a un origen solo de esquema (https:) simplemente para silenciar errores de consola, ya que eso anula por completo el propósito de la política.

3. Añada las cabeceras estándar restantes

Protección contra clickjacking, MIME-sniffing y filtrado de referrertypescript
1X-Content-Type-Options: nosniff
2X-Frame-Options: DENY
3Referrer-Policy: strict-origin-when-cross-origin

frame-ancestors en su CSP es el reemplazo moderno de X-Frame-Options y es más flexible: envíe ambas, ya que los navegadores más antiguos solo respetan la cabecera heredada.

4. Elimine las cabeceras obsoletas en lugar de dejarlas en su sitio

X-XSS-Protection está obsoleta y OWASP recomienda explícitamente eliminarla por completo en lugar de fijarla a cualquier valor: una CSP real es el reemplazo moderno, no un complemento a ella.

Cómo detecta Scanverra este problema

El escáner de seguridad de Scanverra lee sus cabeceras de respuesta en vivo y realiza un análisis genuino a nivel de directiva, no una simple verificación de presencia: cobertura de directivas de CSP y detección de comodines, profundidad del valor de HSTS incluyendo una consulta en vivo a hstspreload.org, y detección de cabeceras obsoletas, con cada hallazgo asociado a referencias CWE, OWASP y PCI cuando corresponde.

FAQ

Frequently asked questions

¿Cuál es la cabecera individual más impactante para añadir primero?

Strict-Transport-Security (HSTS), si le falta: es la diferencia entre "HTTPS está disponible" y "HTTPS está impuesto", y se asocia a CWE-319 y OWASP A05:2021, ambos comúnmente requeridos para el cumplimiento de PCI. Una Content-Security-Policy es la siguiente adición de mayor impacto, pero requiere más ajuste para hacerlo bien.

¿Cómo sabe Scanverra si mi dominio realmente tiene HSTS precargado, y no solo lo afirma?

Hace una llamada en vivo a la API de hstspreload.org para su nombre de host, en lugar de confiar solo en su cabecera, así que si su cabecera HSTS incluye la directiva preload pero su dominio nunca fue realmente enviado y aceptado en la lista de precarga de Chrome, Scanverra señala ese vacío específicamente.

¿Por qué señala Scanverra X-XSS-Protection como un problema en lugar de una buena señal?

Está obsoleta, y en algunos navegadores más antiguos podía introducir activamente vulnerabilidades XSS en lugar de prevenirlas: OWASP recomienda explícitamente eliminarla en favor de una Content-Security-Policy real. Verla presente no es un punto a su favor; se señala como un hallazgo a eliminar.

¿Qué significan realmente las referencias CWE y OWASP en mi informe?

CWE (Common Weakness Enumeration) y las referencias OWASP Top 10 asocian cada hallazgo a una clasificación de vulnerabilidad estándar de la industria: útil para pegar directamente en un ticket de cumplimiento, una revisión de seguridad, o como evidencia para una auditoría SOC 2 / PCI, en lugar de ser solo una recomendación informal.

¿Es una CSP algo que puedo copiar de un tutorial y usar tal cual?

No: una CSP genérica o bien rompe los scripts/estilos reales de su sitio, o es tan permisiva que no hace nada. La verificación de Scanverra examina sus directivas específicas (base-uri, form-action, object-src, frame-ancestors y orígenes comodín) para que pueda ajustar exactamente lo que falta en lugar de adivinar.

Free - no sign-up required

Verifique sus cabeceras de seguridad gratis

Obtenga un análisis real de CSP y HSTS, asociado a referencias CWE y OWASP, en un solo escaneo.

Run free audit