Come abilitare il reindirizzamento HTTPS nel server proxy Zimbra
Utilizza l'attributo proxy di Zimbra zimbraReverseProxyMailModeper reindirizzare le richieste web da HTTP a HTTPS. Impostalo redirectsu ogni nodo proxy di Zimbra, quindi riavvia il servizio proxy e verifica che la risposta HTTP contenga un'intestazione Location: https://.... Prima di procedere, assicurati che il nome host HTTPS pubblico si risolva già nel tuo proxy o bilanciatore di carico e che presenti un certificato valido.
Questa impostazione riguarda l'accesso web tramite Zimbra Proxy. Non configura automaticamente HTTPS per l'archivio di posta, non installa un certificato né garantisce che ogni applicazione di posta segua un reindirizzamento. Se è necessario rifiutare completamente le richieste HTTP, si consiglia di utilizzare la modalità proxy solo HTTPS anziché il reindirizzamento.
Esempio di topologia: il nome host della posta pubblica raggiunge il livello proxy prima che le richieste vengano inoltrate al server di posta.
Scegli il comportamento più adatto alla tua implementazione
Modalità di posta proxy
Che cosa succede a HTTP?
Quando usarlo
redirect
Il proxy restituisce una risposta HTTP 302 indirizzando il client a HTTPS.
Utile quando gli utenti inseriscono ancora un URL HTTP e dovrebbero essere reindirizzati a un indirizzo web sicuro.
https
Il proxy serve il client web tramite HTTPS; non fornisce lo stesso flusso di reindirizzamento da HTTP a HTTPS.
Preferisci questa opzione quando i client non devono mai avviare una sessione tramite HTTP.
bothOmixed
Si tratta di modalità proxy separate con comportamenti HTTP/HTTPS differenti.
Utilizzare solo quando l'implementazione richiede specificamente il comportamento documentato; non dare per scontato che imponga un reindirizzamento HTTP.
Le linee guida di sicurezza di Zimbra avvertono che alcuni client, inclusi i client ActiveSync, potrebbero non rispettare un reindirizzamento HTTP e potrebbero inviare le credenziali nella richiesta iniziale non crittografata. Il reindirizzamento è quindi utile per comodità del browser, ma non sostituisce l'accesso esclusivamente tramite HTTPS quando tutti i client devono evitare HTTP. Se si sceglie la modalità di reindirizzamento, proteggere il listener HTTP al confine della rete in modo appropriato e comunicare l'URL HTTPS agli utenti.
Prima di modificare il comportamento del proxy, verificare che il nome host della webmail pubblica si apra tramite HTTPS e visualizzi l'indicatore di lucchetto di sicurezza.
Prima di cambiare il proxy
Conferma l'ambito. Questa procedura modifica il traffico web gestito da Zimbra Proxy. Il tuo deployment deve già avere il servizio proxy abilitato e funzionante.
Verifica l'endpoint pubblico. Il nome host visitato dagli utenti, ad esempio mail.example.com, deve risolversi nel proxy pubblico o nel bilanciatore di carico. HTTPS deve già funzionare sul nome host e sulla porta previsti.
Verifica il certificato. Installa e convalida la catena di certificati per il nome host pubblico prima di reindirizzare gli utenti. Un reindirizzamento a HTTPS con un certificato danneggiato o non corrispondente si limita a spostare l'errore alla richiesta successiva.
Identifica ogni nodo proxy. In un ambiente con bilanciamento del carico, annota il nome del server Zimbra di ciascun server proxy. Le modifiche apportate a un proxy non configurano automaticamente gli altri.
Pianifica una finestra di manutenzione, se necessario. Il riavvio del servizio proxy può interrompere brevemente le connessioni attraverso quel nodo. In una distribuzione ridondante, applica la modifica un nodo alla volta e monitora lo stato del servizio.
Utilizzare l'account Zimbra per i comandi amministrativi riportati di seguito. Sostituire proxy1.example.comcon il nome esatto del server Zimbra per il nodo proxy e mail.example.comcon il nome host pubblico della webmail. Non incollare letteralmente i nomi di esempio in un sistema di produzione.
Abilita il reindirizzamento da HTTP a HTTPS
1. Registra la modalità proxy corrente
Su un host Zimbra con gli strumenti da riga di comando disponibili, interrogare l'impostazione corrente del proxy:
Registra l'output in modo da poterlo confrontare dopo la modifica o ripristinare la modalità precedente, se necessario. Il gscomando legge gli attributi del server; ms, utilizzato di seguito, li modifica.
Il comando di esempio legge la modalità di posta corrente su un nodo proxy; il tuo server potrebbe mostrare un valore diverso.
2. Imposta la modalità proxy su reindirizzamento
Imposta l'attributo sull'oggetto server proxy:
zmprov ms proxy1.example.com zimbraReverseProxyMailMode redirect
La documentazione di configurazione di Zimbra Proxy identifica redirectquesta modalità per reindirizzare le richieste HTTP a HTTPS. Applicare lo stesso comando a ciascun nodo proxy che accetta traffico web pubblico. Se un bilanciatore di carico può inviare una richiesta HTTP a più proxy, ogni proxy idoneo deve avere un comportamento coerente.
Non confondere questa impostazione con zimbraMailMode. Zimbra documenta che attribuisce separatamente per la connessione al server di posta. La modifica della modalità del mailstore non è il passaggio che abilita un reindirizzamento HTTP accessibile dal browser sul proxy.
Impostare la modalità di posta del proxy su redirect; ripetere l'operazione per ogni nome del server proxy in una distribuzione multi-nodo.
3. Applica la modifica a ciascun proxy
Riavvia il servizio proxy sul nodo in cui hai modificato l'impostazione:
zmproxyctl restart
Quindi verifica lo stato del servizio:
zmproxyctl status
Esegui il riavvio su ciascun nodo proxy, uno alla volta se disponi di un livello ridondante. Segui le istruzioni operative della versione di Zimbra installata se il tuo ambiente prevede un processo di aggiornamento della cache di configurazione o di orchestrazione dei servizi. Evita di modificare direttamente i file Nginx generati: Zimbra gestisce la configurazione del proxy dalle impostazioni del server e le modifiche manuali potrebbero sovrascriversi.
Gli esempi si basano sulla Guida di amministrazione di Zimbra Daffodil v10 e sulla documentazione di Zimbra relativa a proxy e sicurezza. Le versioni precedenti di ZCS potrebbero differire per quanto riguarda il packaging o le procedure supportate, pertanto si consiglia di consultare la guida di amministrazione per verificare la versione esatta installata nel proprio ambiente prima di apportare modifiche.
Una sequenza operativa di esempio aggiorna i dati di configurazione e riavvia il proxy; segui la procedura supportata dalla versione installata.
Verifica il reindirizzamento e la risposta HTTPS
4. Controllare l'intestazione della risposta HTTP
Da un sistema in grado di raggiungere l'endpoint pubblico, richiedere l'URL HTTP senza seguire i reindirizzamenti:
In modalità di reindirizzamento, cerca una risposta 302 e Locationun'intestazione il cui valore inizia con https://mail.example.com/. Le intestazioni esatte e la gestione dello stato possono variare a seconda della versione di Zimbra, del percorso e di eventuali bilanciatori di carico o gateway web davanti al proxy. La schermata seguente è un esempio illustrativo del modello di intestazione previsto, non un test acquisito da un server di produzione.
Schema di reindirizzamento previsto: HTTP restituisce una risposta 302 e indirizza il browser al nome host HTTPS. Le intestazioni e le date della risposta effettiva saranno diverse.
Verificare che il certificato TLS sia valido per l'hostname e che la risposta sia la pagina di webmail o il reindirizzamento all'applicazione previsti. Non utilizzare questa opzione curl -kper aggirare la verifica del certificato: in questo modo si nasconderebbe il problema del certificato che gli utenti visualizzerebbero. Una pagina di accesso potrebbe restituire un reindirizzamento o uno stato diverso da 200 a seconda della versione del prodotto e del flusso di autenticazione, quindi valutare la risposta insieme al controllo del browser.
L'esempio mostra HTTPS che raggiunge il servizio con un certificato corrispondente al nome host; verifica la catena di certificati effettiva sul tuo endpoint.
6. Esegui il test in un browser
Apri http://mail.example.comuna nuova sessione del browser. L'indirizzo dovrebbe cambiare in un URL HTTPS prima di inserire le credenziali. Quindi apri direttamente l'URL HTTPS e verifica che la pagina di accesso si carichi senza un avviso relativo al certificato. Ripeti la procedura dall'esterno della rete interna se il DNS pubblico, le regole del firewall o un bilanciatore di carico potrebbero produrre risultati diversi.
Non tentare di inserire una password reale mentre nella barra degli indirizzi viene ancora visualizzato HTTP. Se il reindirizzamento non riesce, interrompi e correggi prima la configurazione del proxy, del router o del certificato.
Verifica finale del browser: la pagina di accesso viene visualizzata sull'hostname HTTPS dopo il reindirizzamento.
Guida rapida alla risoluzione dei problemi
Sintomo
Cosa controllare
HTTP rimane sullo stesso URL
Eseguire una query zimbraReverseProxyMailModesul proxy che ha gestito la richiesta; verificare che ogni nodo con bilanciamento del carico abbia il valore previsto e sia stato riavviato.
L'intestazione Location utilizza il nome host o la porta errati
Verifica l'URL pubblico, le regole del reverse proxy o del load balancer e le impostazioni di hostname/protocollo/porta del servizio pubblico di Zimbra utilizzate per generare i link pubblici.
Il browser segnala un avviso relativo al certificato.
Verificare che il certificato sia installato sul punto di terminazione TLS, che copra il nome host pubblico e che includa i certificati della catena necessari.
Gli utenti visualizzano un ciclo di reindirizzamento
Verificare se un bilanciatore di carico front-end termina il TLS ma inoltra l'HTTP a Zimbra e confermare che il proxy sia in grado di identificare correttamente il protocollo di richiesta esterno. Allineare la configurazione TLS e di inoltro al perimetro della rete.
Un client di posta invia ancora HTTP
Non dare per scontato che il client segua un reindirizzamento 302. Preferisci l'accesso solo tramite HTTPS per i client che non devono mai inviare credenziali tramite HTTP e configura ciascun client con l'URL del server HTTPS.
Lista di controllo per l'implementazione
L'URL HTTPS pubblico si risolve nel proxy o nel bilanciatore di carico desiderato.
Il certificato TLS è valido per il nome host pubblico ed è considerato attendibile dai client.
zimbraReverseProxyMailModeè impostato redirectsu ogni nodo proxy applicabile.
Il servizio proxy è stato riavviato secondo la procedura della versione di Zimbra installata.
Una richiesta HTTP restituisce un'intestazione HTTPS Location, mentre una richiesta HTTPS diretta convalida il certificato.
Gli utenti e i client di posta elettronica sono configurati per HTTPS; la modalità di reindirizzamento non è considerata una garanzia che ogni client protegga la sua prima richiesta.