Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
SI APPLICA A:2016
2019
Subscription Edition
Panoramica
HTTP Strict Transport Security (HSTS) è uno standard ampiamente supportato che consente di proteggere i visitatori dei siti Web garantendo che il browser si connetta sempre tramite una connessione HTTPS. HSTS funziona inviando un'intestazione di risposta HTTP speciale dal server al browser denominato Strict-Transport-Security
(STS). Questa intestazione include una max-age
direttiva che specifica la durata (in secondi) in modo che il browser ricordi che è possibile accedere al sito solo tramite HTTPS. Quando un browser riceve questa intestazione, modifica automaticamente tutte le richieste HTTP per accedere al sito alle richieste HTTPS.
HSTS non aggiunge solo la protezione da scenari di attacco comuni, ma consente anche di rimuovere la necessità della pratica comune (e ora non sicura) di reindirizzare gli utenti da un URL HTTP a un URL HTTPS. HSTS può essere usato anche per risolvere gli attacchi di rete attivi e passivi. Tuttavia, HSTS non risolve le vulnerabilità di malware, phishing o browser.
Funzionamento di HSTS
Al browser viene richiesto di applicare HSTS quando riceve l'intestazione Strict-Transport-Security
tramite una connessione HTTPS. Tuttavia, esistono alcuni requisiti che devono essere soddisfatti prima che il browser applichi HSTS. In particolare, il certificato usato per crittografare la sessione:
- Deve essere valido e attendibile dal client;
- Non deve essere scaduto; e
- Deve contenere il dominio o il sottodominio chiamato nel browser.
Per consigli più generali, vedere Esplorare in modo sicuro il Web con Microsoft Edge .
Dopo aver rilevato che un dominio ha abilitato HSTS, il browser:
- Usare sempre una
https://
connessione, anche quando si fa clic su unhttp://
collegamento o dopo aver digitato un URL nella barra degli indirizzi senza specificare un protocollo. - Rimuove la possibilità per gli utenti di fare clic sugli avvisi (ad esempio, certificati scaduti o non validi, mancata corrispondenza dei nomi e così via).
Esistono alcuni scenari (ad esempio, l'utente ha un nuovo computer, un nuovo profilo, un nuovo browser o ha cancellato i dati e le impostazioni del browser) in cui un utente è vulnerabile per un breve periodo di tempo perché visita il sito per la prima volta senza applicare HSTS. Per risolvere questi scenari, il progetto Chromium mantiene un oggetto HSTS Preload List
(usato anche da altri browser come Microsoft Edge e Mozilla Firefox). Applica Preload List
HSTS anche quando si visita un sito per la prima volta.
È possibile inviare il dominio all'elenco HSTS. Il server Web (o, nel nostro caso, il server Exchange) deve anche inviare la preload
direttiva come parte dell'intestazione Strict-Transport-Security
per segnalare che il precaricamento HSTS deve essere eseguito dal browser.
Come Exchange Server gestisce le connessioni HTTP
Per impostazione predefinita, Exchange Server non reindirizza il traffico HTTP a HTTPS, perché il sito Web predefinito richiede SSL. Per altre informazioni, vedere Impostazioni predefinite per le directory virtuali di Exchange .
Tuttavia, è possibile configurare un reindirizzamento automatico da HTTP a HTTPS seguendo i passaggi descritti in Configurare il reindirizzamento da HTTP a HTTPS per Outlook sul web in Exchange Server e, di conseguenza, Exchange Server accetta connessioni stabilite tramite HTTP e risponde con un HTTP 302 redirect
.
HSTS può contribuire a ridurre notevolmente il numero di reindirizzamenti da HTTP a HTTPS non sicuri perché la riscrittura in HTTPS viene eseguita dal browser stesso e non più dal server come parte di una HTTP 302 redirect
risposta. L'uso di HSTS può anche portare a miglioramenti delle prestazioni, anche se questo non è il suo scopo principale.
Indipendentemente dalla configurazione predefinita (che non consente connessioni non crittografate), è consigliabile fornire l'intestazione Strict-Transport-Security
come parte dell'intestazione della risposta.
Abilitare HSTS in Exchange Server
L'intestazione del servizio token di sicurezza può essere configurata in Exchange Server 2019 e Exchange Server 2016, anche se il modo in cui si configura ogni versione è diverso.
Importante
HSTS deve essere configurato solo in Default Web Site
perché si tratta dell'endpoint a cui si connettono i client. HSTS non deve essere configurato in Exchange Back End
. È anche consigliabile configurare HSTS tramite l'intestazione di risposta nei dispositivi che operano davanti a un server Exchange su Layer 7 (ad esempio, servizi di bilanciamento del carico o proxy inversi).
È consigliabile iniziare con una max-age
configurazione di 300 (secondi) che è di 5 minuti. Dopo aver apportato la modifica, è necessario monitorare attentamente la connettività client al server Exchange ed eseguire il rollback della modifica in caso di problemi.
Eseguire l'aggiornamento a un max-age
valore di una settimana (604800
) o un mese (2592000
) e attendere l'intera max-age
fase prima di procedere. Un max-age
valore di un anno (31536000
) deve essere impostato come minimo dal punto di vista della sicurezza ed è almeno obbligatorio, se si prevede di aggiungere il dominio a HSTS Preload List
. È consigliabile impostare il max-age
valore su un valore di due anni (63072000
).
Nota
Negli esempi seguenti il max-age
valore viene impostato su 300 secondi, ovvero una configurazione che deve essere usata solo per la convalida delle funzionalità. Assicurarsi di modificare il valore dell'attributo su un valore superiore quando si è pronti per portare la configurazione in produzione.
Exchange Server 2019
Per configurare Exchange Server 2019 per l'invio dell'intestazioneStrict-Transport-Security
, è possibile usare il Windows PowerShell o l'interfaccia utente di Gestione IIS. Nella sezione seguente vengono descritti entrambi i metodi. La configurazione HSTS è una configurazione per server e deve quindi essere eseguita in ogni server Exchange.
Configurazione HSTS tramite PowerShell
Eseguire i comandi seguenti da una finestra di PowerShell con privilegi elevati per configurare e abilitare HSTS:
Nota
Per configurare un valore superiore max-age
per Exchange Server 2019, è possibile eseguire nuovamente i comandi usando un valore superiore. Non è necessario rimuovere in anticipo la configurazione esistente.
Import-Module IISAdministration
Reset-IISServerManager -Confirm:$false
Start-IISCommitDelay
$sitesCollection = Get-IISConfigSection -SectionPath "system.applicationHost/sites" | Get-IISConfigCollection
$siteElement = Get-IISConfigCollectionElement -ConfigCollection $sitesCollection -ConfigAttribute @{"name"="Default Web Site"}
$hstsElement = Get-IISConfigElement -ConfigElement $siteElement -ChildElementName "hsts"
Set-IISConfigAttributeValue -ConfigElement $hstsElement -AttributeName "enabled" -AttributeValue $true
Set-IISConfigAttributeValue -ConfigElement $hstsElement -AttributeName "max-age" -AttributeValue 300
Set-IISConfigAttributeValue -ConfigElement $hstsElement -AttributeName "includeSubDomains" -AttributeValue $true
Se si prevede di aggiungere il dominio a HSTS Preload List
, è necessario assicurarsi che la preload
direttiva venga inviata anche come parte dell'intestazione Strict-Transport-Security
. Non è necessario inviare la preload
direttiva se non si prevede di inviare il dominio a HSTS Preload List
.
Set-IISConfigAttributeValue -ConfigElement $hstsElement -AttributeName "preload" -AttributeValue $true
Infine, è necessario eseguire i comandi seguenti per completare la configurazione HSTS:
Stop-IISCommitDelay
Remove-Module IISAdministration
Configurazione di HSTS tramite Gestione IIS
Seguire questa procedura in Gestione Internet Information Services per configurare e abilitare HSTS:
Avviare Gestione IIS (
InetMgr.exe
)Passare a
Sites
e fare clic suDefault Web Site
Actions
Nel menu selezionareHSTS...
Selezionare la
Enable
casella di controllo, definire ilmax-age
valore e selezionare le direttive in base alla descrizione in questo articoloImportante
Non è possibile reindirizzare HTTP a HTTPS usando la configurazione HSTS, perché questa operazione interrompe la connettività per alcuni scenari, tra cui Exchange Management Shell (EMS). Se si vuole abilitare il reindirizzamento da HTTP a HTTPS, è necessario seguire i passaggi descritti in Configurare il reindirizzamento da HTTP a HTTPS per Outlook sul web in Exchange Server.
Fare clic
OK
per completare e attivare la configurazione
Exchange Server 2016
Nota
Anche se la configurazione HSTS è possibile tramite l'interfaccia utente nei sistemi operativi supportati da Exchange Server 2019, questo controllo non è disponibile in modo nativo nei sistemi operativi supportati da Exchange Server 2016. Vengono quindi descritti solo i passaggi da eseguire tramite PowerShell.
Per configurare Exchange Server 2016 per l'invio dell'intestazioneStrict-Transport-Security
, eseguire i comandi seguenti da una finestra di PowerShell con privilegi elevati. La configurazione HSTS è una configurazione per server e pertanto deve essere eseguita in ogni server Exchange:
Nota
Per configurare un valore superiore max-age
per Exchange Server 2016, è prima necessario rimuovere l'intestazione Http Response prima di eseguire di nuovo i comandi seguenti.
Windows Server 2012 & 2012 R2
Se non si prevede di aggiungere il dominio a HSTS Preload List
, è necessario assicurarsi che la preload
direttiva non venga inviata come parte dell'intestazione Strict-Transport-Security
. Eseguire il comando seguente per configurare HSTS senza inviare la preload
direttiva:
Import-Module WebAdministration
Add-WebConfigurationProperty -Filter "system.webServer/httpProtocol/customHeaders" -PSPath "IIS:\Sites\Default Web Site" -Name . -AtElement @{name="Strict-Transport-Security"} -Value @{name="Strict-Transport-Security";value="max-age=300; includeSubDomains"}
or
Se si prevede di aggiungere il dominio a HSTS Preload List
, è necessario assicurarsi che la preload
direttiva venga inviata come parte dell'intestazione Strict-Transport-Security
. Eseguire il comando seguente per configurare Exchange Server per inviare la preload
direttiva come parte della configurazione HSTS:
Import-Module WebAdministration
Add-WebConfigurationProperty -Filter "system.webServer/httpProtocol/customHeaders" -PSPath "IIS:\Sites\Default Web Site" -Name . -AtElement @{name="Strict-Transport-Security"} -Value @{name="Strict-Transport-Security";value="max-age=300; includeSubDomains; preload"}
Windows Server 2016
Import-Module IISAdministration
Reset-IISServerManager -Confirm:$false
Start-IISCommitDelay
$iisConfig = Get-IISConfigSection -SectionPath "system.webServer/httpProtocol" -CommitPath "Default Web Site" | Get-IISConfigCollection -CollectionName "customHeaders"
Se non si prevede di aggiungere il dominio a HSTS Preload List
, è necessario assicurarsi che la preload
direttiva non venga inviata come parte dell'intestazione Strict-Transport-Security
. Eseguire il comando seguente per configurare HSTS senza inviare la preload
direttiva:
New-IISConfigCollectionElement -ConfigCollection $iisConfig -ConfigAttribute @{"name"="Strict-Transport-Security"; "value"="max-age=300; includeSubDomains";}
or
Se si prevede di aggiungere il dominio a HSTS Preload List
, è necessario assicurarsi che la preload
direttiva venga inviata come parte dell'intestazione Strict-Transport-Security
. Eseguire il comando seguente per configurare Exchange Server per inviare la preload
direttiva come parte della configurazione HSTS:
New-IISConfigCollectionElement -ConfigCollection $iisConfig -ConfigAttribute @{"name"="Strict-Transport-Security"; "value"="max-age=300; includeSubDomains; preload";}
Infine, è necessario eseguire i comandi seguenti per completare la configurazione HSTS:
Stop-IISCommitDelay
Remove-Module IISAdministration
Disabilitare HSTS in Exchange Server
Se si vuole arrestare Exchange Server dall'invio dell'intestazioneStrict-Transport-Security
, è possibile eseguire il rollback della configurazione in una base per server. I passaggi per disabilitare HSTS sono diversi in Exchange Server 2016 e Exchange Server 2019.
Nota
La specifica HSTS consente di inviare la max-age
direttiva con un valore di 0
. Questa configurazione può essere usata per sovrascrivere le informazioni sui criteri HSTS memorizzate nella cache dei browser. Se si prevede di rimuovere la configurazione Exchange Server HSTS, potrebbe essere utile impostare prima un max-age
valore di prima di rimuovere la configurazione dell'intestazione Strict-Transport-Security
0
.
Exchange Server 2019
Per fare in modo che Exchange Server 2019 interrompa l'invio dell'intestazioneStrict-Transport-Security
, è possibile usare il Windows PowerShell o l'interfaccia utente di Gestione IIS. Nella sezione seguente vengono descritti entrambi i metodi.
Configurazione HSTS tramite PowerShell
Eseguire i comandi seguenti da una finestra di PowerShell con privilegi elevati per disabilitare HSTS:
Import-Module IISAdministration
Reset-IISServerManager -Confirm:$false
Start-IISCommitDelay
$sitesCollection = Get-IISConfigSection -SectionPath "system.applicationHost/sites" | Get-IISConfigCollection
$siteElement = Get-IISConfigCollectionElement -ConfigCollection $sitesCollection -ConfigAttribute @{"name"="Default Web Site"}
$hstsElement = Get-IISConfigElement -ConfigElement $siteElement -ChildElementName "hsts"
Set-IISConfigAttributeValue -ConfigElement $hstsElement -AttributeName "enabled" -AttributeValue $false
Set-IISConfigAttributeValue -ConfigElement $hstsElement -AttributeName "max-age" -AttributeValue 0
Set-IISConfigAttributeValue -ConfigElement $hstsElement -AttributeName "includeSubDomains" -AttributeValue $false
Se la configurazione HSTS precedente doveva inviare la preload
direttiva, assicurarsi di disabilitare anche questo:
Importante
Ricordarsi di richiedere anche la rimozione dall'elenco di precaricamenti HSTS . Se si dimentica di rimuovere il dominio dall'elenco di precaricamento, i browser continueranno a provare a applicare HSTS.
Set-IISConfigAttributeValue -ConfigElement $hstsElement -AttributeName "preload" -AttributeValue $false
Infine, è necessario eseguire i comandi seguenti per completare la configurazione HSTS:
Stop-IISCommitDelay
Remove-Module IISAdministration
Configurazione di HSTS tramite Gestione IIS
Seguire questa procedura in Gestione Internet Information Services per disabilitare HSTS:
Avviare Gestione IIS (
InetMgr.exe
)Passare a
Sites
e fare clic suDefault Web Site
Actions
Nel menu selezionareHSTS...
Deselezionare tutte le direttive, impostare la
max-age
direttiva su0
e infine deselezionare laEnable
casella di controlloFare clic
OK
per completare la configurazione
Exchange Server 2016
Nota
Anche se la configurazione HSTS è possibile tramite l'interfaccia utente nei sistemi operativi supportati da Exchange Server 2019, questo controllo non è disponibile in modo nativo nei sistemi operativi supportati da Exchange Server 2016. Vengono quindi descritti solo i passaggi da eseguire tramite PowerShell.
Per fare in modo che Exchange Server 2016 interrompa l'invio dell'intestazioneStrict-Transport-Security
, eseguire i comandi seguenti da una finestra di PowerShell con privilegi elevati in ognuno dei server Exchange:
Windows Server 2012 & 2012 R2
Import-Module WebAdministration
Remove-WebConfigurationProperty -PSPath "IIS:\Sites\Default Web Site" -Filter "system.webServer/httpProtocol/customHeaders" -Name . -AtElement @{name="Strict-Transport-Security"}
Windows Server 2016
Import-Module IISAdministration
Reset-IISServerManager -Confirm:$false
Start-IISCommitDelay
$iisConfig = Get-IISConfigSection -SectionPath "system.webServer/httpProtocol" -CommitPath "Default Web Site" | Get-IISConfigCollection -CollectionName "customHeaders"
Se la configurazione HSTS precedente non ha inviato la preload
direttiva, eseguire il comando seguente:
Remove-IISConfigCollectionElement -ConfigCollection $iisConfig -ConfigAttribute @{"name"="Strict-Transport-Security"; "value"="max-age=300; includeSubDomains";}
or
Se la configurazione HSTS precedente doveva inviare la preload
direttiva, assicurarsi di eseguire questo comando:
Remove-IISConfigCollectionElement -ConfigCollection $iisConfig -ConfigAttribute @{"name"="Strict-Transport-Security"; "value"="max-age=300; includeSubDomains; preload";}
Infine, è necessario eseguire i comandi seguenti per completare la configurazione HSTS:
Stop-IISCommitDelay
Remove-Module IISAdministration
Verificare che HSTS funzioni come previsto
Il modo migliore per verificare che la protezione HSTS funzioni come previsto consiste nell'usare un browser moderno che supporta HSTS (ad esempio, Microsoft Edge, Firefox, Chrome, Safari, Opera e così via). Quando si usa il browser Microsoft Edge, è possibile seguire questa procedura. Se si usa un browser diverso, consultare la documentazione per scoprire quali sono i passaggi per controllare i flag HSTS:
- Aprire il browser e stabilire una connessione HTTPS a OWA o ECP. Assicurarsi che il certificato restituito dal server Exchange corrisponda al dominio (secondario) usato (ad esempio, e2k16-2.contoso.lab) e che sia considerato attendibile dal computer client (poiché è necessario per attivare la protezione HSTS del browser per il dominio).
- Digitare
edge://net-internals/#hsts
nella barra degli indirizzi e premere INVIO. - Immettere il nome di dominio usato per accedere a OWA o ECP (ad esempio, e2k16-2.contoso.lab) nella
Query HSTS/PKP domain
casella e premere INVIO.
Esempio:
Se il risultato è Not found
, significa che HSTS non viene usato per il dominio. Il motivo potrebbe essere che l'URL non è stato visitato prima o che la voce con l'archivio criteri HSTS è scaduta (è valida per l'ora specificata nella max-age
direttiva).
Se viene trovato un risultato, l'output sarà simile al seguente:
Se si usa HSTS e una connessione non è attendibile(ad esempio, l'URL non corrisponde al dominio per cui viene emesso il certificato o il certificato è non attendibile o scaduto), l'utente visualizza l'avviso seguente che non può essere ignorato: