5

Bei Verwendung der Swisscom CloudFoundry-Lösung mit einer Spring-Boot-Anwendung werden zwei Strict-Transport-Security Header zu einer HTTPS-Antwort hinzugefügt. Ich habe dieses Problem untersucht und festgestellt, dass die CloudFoundry-Lösung mehrere Header hinzufügt. Spring Boot fügt standardmäßig auch den Header Strict-Transport-Security hinzu (auf sicheren Sites), was zu zwei verschiedenen HSTS-Headern führt.Header "Strict-Transport-Security" zweimal als Antwort mit der Swisscom CloudFoundry-Applikation

Ich möchte die Header meiner Anwendung innerhalb meiner Anwendung konfigurieren. Gibt es eine Möglichkeit, diesen automatischen Header-Zusatz der Swisscom CloudFoundry-Lösung zu deaktivieren?

Wenn nicht, gibt es eine Möglichkeit, der Swisscom Cloud zu sagen, dass sie bestehende Strict-Transport-Security Header überschreiben soll, anstatt sie an die Headerliste anzuhängen?

Eine HTTP-Antwort aus dem Frühjahr Boot-Anwendung, die Swisscom Cloud bereitgestellt, dann enthält die folgenden zwei Header:

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

Antwort

4

Dank für den Bericht. Wir fügen nur die HSTS-Header ein (nicht ersetzen), da wir nicht wussten, dass einige Frameworks es standardmäßig hinzufügen. Wir werden in Erwägung ziehen, den Header immer zu überschreiben, da doppelte Header wahrscheinlich keinen Sinn ergeben und der von uns festgelegte Standard für die meisten Anwendungsfälle geeignet ist.

Für den Moment: Können Sie die Einstellung der HSTS im Spring Boot deaktivieren? Nach den Spring boot docs sollten Sie in der Lage sein, es mit diesem Code-Schnipsel zu deaktivieren:

@EnableWebSecurity 
public class WebSecurityConfig extends 
     WebSecurityConfigurerAdapter { 

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

aktualisieren: Wir werden dieses Verhalten bald ändern: Die AppCloud wird nur den Header gesetzt, wenn der App nicht bereits nicht gesetzt . Also überlassen wir dem Entwickler die Entscheidung, ob und wie er HSTS implementieren will, aber es wird ein Standard zur Verfügung gestellt.

Update 2: Das neue Verhalten ist vorhanden.

+0

Danke für Ihre Antwort. Das funktioniert, aber ich möchte meine Sicherheitskonfiguration in meiner Anwendung verwalten. Eine geteilte Sicherheitskonfiguration (d. H. Aktiv den HSTS-Header in meiner Anwendung zu deaktivieren) erhöht die Wahrscheinlichkeit, sie zu vergessen. Danke für deine Arbeit! –