HTTP Strict Transport Security (HSTS) ha senso nella comunicazione server-server?

8

Occasionalmente riceviamo risultati per non aver abilitato HSTS sulle nostre interfacce HTTPS, ma dal momento che queste interfacce sono solo server-server, consentirebbe all'HSTS di fare la differenza di sicurezza?

    
posta zaphod 19.04.2016 - 09:17
fonte

3 risposte

11

Perché HSTS?

Il punto debole di HSTS è progettato per proteggersi da client che si connettono per la prima volta a un server effettuando una richiesta su HTTP e dovrebbero essere reindirizzati alla versione HTTPS (o a 404). Un utente malintenzionato può richiedere a MitM e invece di inviare il reindirizzamento invia il sito (eventualmente modificato) su HTTP.

Le connessioni tramite HTTP possono essere aperte per vari motivi:

  • Attacca come SSL-strip.
  • Le persone che immettono l'indirizzo HTTP nella barra degli indirizzi
  • Collegamenti hardcoded a HTTP.

Qualcuno di questi ha effetto su un server? Il terzo potrebbe, ma dipende dal fatto che tu abbia il pieno controllo di tutto il software che si collega al tuo server o meno.

Se hai il controllo completo

Assicurati che tutti gli URL che sono mai stati utilizzati siano relativi a HTTPS. Se vengono letti da un file di configurazione, verificare esplicitamente che non siano HTTP. Questo elimina la necessità di HSTS. Mentre ci sei, devi assicurarti di accettare solo suite di crittografia sicure e magari pensare all'implementazione di certificato o blocco di chiave pubblica .

Se non hai il controllo completo

Diciamo che altre persone scrivono software che si collega al tuo server. Non sai se queste persone sanno cosa stanno facendo. Potrebbero accidentalmente fare una richiesta HTTP da qualche parte.

Se le librerie che utilizzano effettivamente interpretano e applicano le intestazioni HSTS (è il client che è responsabile dell'applicazione delle HSTS), queste persone sarebbero più sicure con l'HSTS attivata. Ma è ancora una sorta di caso limite: se si danno 404 risposte e non si reindirizzano su richieste HTTP, è difficile immaginare perché qualcuno dovrebbe scrivere software che le rende. Sospetto anche che la maggior parte delle biblioteche ignori le intestazioni HSTS. Ma chi lo sa!

    
risposta data 19.04.2016 - 09:34
fonte
8

L'HSTS probabilmente non farà la differenza nel tuo caso, se nessuno usa mai l'interfaccia usando un browser.

Se controlli il client (che è l'altro server nel tuo caso), puoi semplicemente richiedere gli URL HTTPS e non richiedere mai richieste HTTP. È anche discutibile se il client supporti anche l'HSTS. È implementato in molti browser, ma non in molte librerie HTTP.

Un modo in cui può fare la differenza è se il server reindirizza da HTTPS a HTTP. Con HSTS abilitato, i client di supporto non seguiranno il reindirizzamento.

Poiché sembra che tu voglia solo HTTPS, puoi disabilitare il servizio HTTP.

    
risposta data 19.04.2016 - 09:28
fonte
6

In uno scenario in cui le applicazioni server e client sono state sviluppate e controllate in modo personalizzato non esiste un modello di minaccia che l'HSTS mitigherebbe.

Entrambi i lati della trasmissione devono essere configurati con certificati appropriati e dovrebbero impedire il downgrade del protocollo senza fare affidamento su HSTS.

L'HSTS è stata introdotta come protezione contro l'aggiramento di SSL disabilitandola completamente o eseguendo il downgrade del protocollo a una versione inferiore (non sicura), in uno scenario in cui gli utenti accedono a server remoti di cui dispongono di informazioni o competenze tecniche per valutare il livello di protezione .

Infine, se un'applicazione client non supporta HSTS, l'attivazione non ha alcun effetto.

    
risposta data 19.04.2016 - 09:33
fonte

Leggi altre domande sui tag