es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Configuración de httpStrictTransportSecurity y contentSecurityPolicy

En mi aplicación Spring Boot, tengo una clase de configuración de seguridad en la que estoy tratando de establecer los encabezados de seguridad de respuesta, es decir, httpStrictTransportSecurity y contentSecurityPolicy, los cuales no se están obteniendo en la respuesta. Agradecería mucho cualquier ayuda.

@Override
protected void configure(HttpSecurity http) throws Exception {
    http
        .headers()
            .frameOptions().deny()
            .xssProtection()
                .and()
            .contentSecurityPolicy("default-src 'self'; script-src 'self' '=== key ==='")
                .and()
            .referrerPolicy(referrerPolicy -> referrerPolicy.policy(ReferrerPolicyHeaderWriter.ReferrerPolicy.STRICT_ORIGIN_WHEN_CROSS_ORIGIN))
            .httpStrictTransportSecurity()
                .includeSubDomains(true)
                .maxAgeInSeconds(31536000);

}

Después de establecer contentSecurityPolicy y maxAgeInSeconds en 31536000, todavía obtenemos strict-transport-security:max-age como 15724800 y no podemos ver contentSecurityPolicy en la respuesta.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Puede haber diferentes razones por las cuales los encabezados contentSecurityPolicy y httpStrictTransportSecurity no aparecen en la respuesta.

    En primer lugar, asegúrese de que los encabezados Content-Security-Policy y Strict-Transport-Security no estén establecidos en otro lugar de su código de aplicación, ya que podrían anular los que ha configurado en su clase de configuración de seguridad.

    En segundo lugar, verifique si alguna otra clase de configuración de seguridad está anulando o entrando en conflicto con su clase de configuración. En tal caso, es posible que deba reordenar los filtros o dar prioridad a los encabezados para garantizar que no se estén sobrescribiendo.

    En tercer lugar, asegúrese de que su aplicación Spring Boot se esté ejecutando en HTTPS y no en HTTP, ya que el encabezado httpStrictTransportSecurity solo funciona sobre HTTPS.

    Finalmente, puede depurar los encabezados utilizando una herramienta como las herramientas para desarrolladores del navegador o el comando curl para inspeccionar los encabezados de respuesta y verificar qué encabezados se están estableciendo y cuáles se están sobrescribiendo o ignorando.

    Siguiendo estos pasos, puede solucionar y resolver el problema de que los encabezados httpStrictTransportSecurity y contentSecurityPolicy no aparezcan en la respuesta.

Comments are closed.