5

Swisscom CloudFoundry 솔루션을 Spring Boot 응용 프로그램과 함께 사용하면 두 개의 Strict-Transport-Security 헤더가 HTTPS 응답에 추가됩니다. 이 문제를 조사한 결과 CloudFoundry 솔루션이 여러 헤더를 추가한다는 사실을 알았습니다. 스프링 부트는 기본적으로 Strict-Transport-Security 헤더를 보안 사이트에 추가하여 두 개의 서로 다른 HSTS 헤더를 연결합니다.Swisscom CloudFoundry 응용 프로그램에 대한 응답으로 "Strict-Transport-Security"헤더가 두 번

내 응용 프로그램 내 응용 프로그램의 헤더를 구성하고 싶습니다. Swisscom CloudFoundry 솔루션의 자동 헤더 추가를 비활성화하는 방법이 있습니까?

그렇지 않은 경우 Swisscom Cloud에 헤더 목록에 추가하지 않고 기존 Strict-Transport-Security 헤더를 덮어 쓰라고 지시 할 수 있습니까? 보고서

Strict-Transport-Security:max-age=31536000 ; includeSubDomains 
Strict-Transport-Security:max-age=15768000; includeSubDomains 

답변

4

감사 :

봄 부팅 응용 프로그램에서 HTTP 응답, 스위스 콤 클라우드를 배포 한 후 다음과 같은 두 가지 헤더가 포함되어 있습니다. 우리는 현재 일부 프레임 워크가 기본적으로 추가한다는 사실을 모르기 때문에 HSTS 헤더를 삽입 (대체하지 않음)합니다. 중복 된 헤더는 아마도 이해할 수 없기 때문에 우리는 항상 헤더를 덮어 씁니다. 우리가 설정 한 기본값은 대부분의 유스 케이스에 적합합니다.

잠시 동안 : 스프링 부트에서 HSTS 설정을 비활성화 할 수 있습니까?

@EnableWebSecurity 
public class WebSecurityConfig extends 
     WebSecurityConfigurerAdapter { 

    @Override 
    protected void configure(HttpSecurity http) throws Exception { 
     http 
      // ... 
      .headers() 
       .frameOptions().sameOrigin() 
       .httpStrictTransportSecurity().disable(); 
    } 
} 

업데이트 : 다음 Spring boot docs에 따르면,이 조각으로 비활성화 할 수 있어야한다 것은 곧이 동작을 변경합니다 : 응용 프로그램이 이미 설정하지 않는 경우 Appcloud는 헤더를 설정합니다 . 따라서 개발자가 HSTS를 구현하려는 경우 개발자에게 선택의 여지를 남겨 두지 만 기본값을 제공합니다.

업데이트 2 : 새로운 동작이 적용됩니다.

+0

답변 해 주셔서 감사합니다. 이 작업은 가능하지만 응용 프로그램 내에서 보안 구성을 관리하고 싶습니다. 분할 보안 구성 (즉, 내 애플리케이션에서 HSTS 헤더를 활발히 사용 중지하면)을 잊어 버릴 확률이 높아집니다. 당신의 일에 감사드립니다! –