Configurazione dei Tunnel Port Ranges in Forefront TMG

Un tunnel port range definisce una o più porte TCP su cui Forefront TMG può inviare una richiesta Hypertext Transfer Protocol (HTTP) da un Web proxy client verso un Web server, quando la connessione viene stabilita i pacchetti inviati dal client verso il Web Server sulla porta specificata nella richiesta CONNECT vengono inviati direttamente al the Web Server senza che il Web proxy esegua la deep inspection.

Per impostazione predefinita in TMG le porte TCP definite come tunnel port ranges sono la 443 per l’HTTP over SSL e la 563 per il Network News Transfer Protocol over SSL (NNTPS). Dal momento che il traffico inviato in una connessione stabilita su una porta inclusa in un tunnel port range bypassa le Server policy rules di TMG e la Web proxy inspection solo sulle porte TCP per cui è richiesta la funzionalità di tunneling dovrebbe essere configurato un tunnel port range.

Ci sono però casi in cui è necessario configurare porte TCP diverse dalla 443 e 563 per l’utilizzo del tunnelling, un caso ad esempio è l’implementazione della Carta d’Identità Elettronica che prevede i seguenti prerequisti descritti nell’Allegato 2 della Circolare n. 4 del 2017 dei Servizi Demografici del Ministero dell’Interno:

Disponibilità di un collegamento ad Internet che consenta di raggiungere i seguenti indirizzi:

  • http://www.cartaidentita.interno.gov.it (porta 80),
  • https://cieonlíne.interno.gov.it (porta 443),
  • https://agendacie.interno.gov.it (porta 443),
  • https://dvra.cie.interno.gov.it (porte 8442 e 8443)
  • https://dvraweb.cie.interno.gov.it (porte 80 e 443)

Si consiglia di assicurare un throughput di accesso ad internet di almeno 1 Mbps di tipo simmetrico per ogni postazione di lavoro installata. Per Comuni di grandi dimensioni si consiglia l’adozione di un sistema QoS (quality of service) che consenta di servire con priorità le connessioni verso i servizi CIE indicati.

È possibile utilizzare un proxy purché venga garantito l’accesso agli indirizzi di cui sopra. Nel caso in cui si utilizzi un proxy, la raggiungibilità del servizio dvra.cie.interno.gov.it sulle porte 8442 e 8443 deve avvenire senza la necessità di autenticazione dell’utente. Si consiglia, laddove possibile, di creare regole che consentano la raggiungibilità dei servizi di emissione CIE dalle postazioni senza bisogno per l’operatore Comunale di immettere credenziali di accesso al proxy.

In particolare sulle porte 8442 e 8443 dovrà essere configurato un tunnel port range o in caso contrario la connessione verso dvra.cie.interno.gov.it non verrà eseguita e nel log di connessione di TMG verrà registrato il seguente errore:

Stato: 12204 La porta Secure Sockets Layer (SSL) specificata non è consentita. Forefront TMG non è configurato per accettare richieste SSL da questa porta. La maggior parte dei browser Web utilizzano la porta 443 per le richieste SSL.
Richiesta: dvra.cie.interno.gov.it:8442
Informazioni filtro: Req ID: 0ab9dd41; Compression: client=No, server=No, compress rate=0% decompress rate=0%
Protocollo: SSL-tunnel

Per configurare un tunnel port range in TMG occorre utilizzare Visual Basic Scripting Edition (VBScript) per accedere al modello COM esposto da ForeFront TMG, per informazioni si veda Managing Tunnel Port Ranges.

Di seguito alcuni semplici script per la gestione dei tunnel port ranges.

Visualizzazione dei tunnel port ranges definiti:

Dim root
Set root = CreateObject(“FPC.Root”)
Dim array
Set array = root.GetContainingArray()
Dim tpRanges
Set tpRanges = array.ArrayPolicy.WebProxy.TunnelPortRanges

Dim tpRange
For Each tpRange In tpRanges
WScript.Echo tpRange.Name & “: ” & tpRange.TunnelLowPort & “-” & tpRange.TunnelHighPort
Next

Creazione di un tunnel port range per le porte 8442 e 8443

Dim root
Set root = CreateObject(“FPC.Root”)
Dim array
Set array = root.GetContainingArray()
Dim tpRanges
Set tpRanges = array.ArrayPolicy.WebProxy.TunnelPortRanges

Set newRange = tpRanges.AddRange(“CIE”, 8442, 8443)
tpRanges.Save True
WScript.Echo “Done!”

Eliminazione del tunnel port range per le porte 8442 e 8443

Dim root
Set root = CreateObject(“FPC.Root”)
Dim array
Set array = root.GetContainingArray()
Dim tpRanges
Set tpRanges = array.ArrayPolicy.WebProxy.TunnelPortRanges

tpRanges.Remove(“CIE”)
tpRanges.Save True
WScript.Echo “Done!”

 

Si noti che nell’istruzione che salva il tunnel port range (tpRanges.Save) è stato specificato a True il parametro fResetRequiredServices per riavviare il servizio Firewall, in caso contrario la configurazione del tunnel port range non verrà utilizzata.

Per ulteriori informazioni si veda anche la KB283284 Blank page or page cannot be displayed when you view SSL sites through ISA Server or Microsoft Forefront Threat Management Gateway, Medium Business Edition e il post Configuring custom SSL ports on ISA/TMG server for forward prox.