Microsoft Endpoint Manager – Microsoft Intune – Configurazione della soluzione Microsoft Tunnel

Microsoft Tunnel è una soluzione VPN, annunciata durante Ignite 2020, che permette di accedere a risorse locali da dispositivi Android ed iOS/iPadOS tramite modern authentication e regole di conditional access.

Potete trovare il video della sessione di Ignite 2020 al link https://techcommunity.microsoft.com/t5/video-hub/enable-security-and-productivity-using-microsoft-endpoint/td-p/1681490 . Si parla di Microsoft Tunnel verso il 15° minuto.

N.B. Microsoft Tunnel attualmente è in public preview.

Figura 1 – Architettura Microsoft Tunnel – Immagine recuperata da docs.microsoft.com

Documentazione ufficiale docs.microsoft.com:

I componenti di Microsoft Tunnel riportati come lettere nell’immagine precedente sono i seguenti:

A: Microsoft Intune;

B: Azure Active Directory;

C: Server Linux con Docker:

Ci: gateway Microsoft Tunnel;

Cii: agente di gestione;

Ciii: plug-in di autenticazione: plug-in di autorizzazione, che esegue l’autenticazione con Azure AD;

D: IP pubblico o FQDN di Microsoft Tunnel;

E: Dispositivo registrato in Microsoft Intune;

F: Firewall;

G: Server proxy interno (facoltativo);

H: Rete aziendale;

I: Internet pubblico.

Le azioni riportate come numeri nell’immagine precedente sono le seguenti:

1: l’amministratore di Intune configura le configurazioni dei server e i siti. Le configurazioni dei server sono associate ai siti;

2: l’amministratore di Intune installa il gateway Microsoft Tunnel e il plug-in di autenticazione autentica il gateway Microsoft Tunnel con Azure AD. Il server gateway di Microsoft Tunnel viene assegnato a un sito;

3: l’agente di gestione comunica a Intune di recuperare i criteri di configurazione del server e di inviare i log di telemetria a Intune;

4: l’amministratore di Intune crea e distribuisce i profili VPN e l’app Tunnel nei dispositivi;

5: il dispositivo esegue l’autenticazione ad Azure AD. Vengono valutati i criteri di accesso condizionale;

6: con lo split tunneling:

6a: parte del traffico passa direttamente a Internet pubblico;

6b: parte del traffico passa all’indirizzo IP pubblico per il tunnel.

7: il tunnel instrada il traffico al proxy interno (facoltativo) e alla rete aziendale.

I dispositivi supportati da Microsoft Tunnel sono i seguenti:

  • Android Enterprise: Fully Managed, Corporate-Owned Work profile e work profile;
  • iOS – iPadOS: BYOD e Corporate.

In questa guida ci occuperemo delle attività necessarie per implementare la soluzione Microsoft Tunnel all’interno di un’organizzazione.

Configurazione Server & Sites – Microsoft Tunnel Gateway

Accedete al portale Microsoft Endpoint Manager Admin Center https://endpoint.microsoft.com e recandovi nella sezione Tenant administration, selezionate la voce Microsoft Tunnel Gateway e successivamente Server configurations.

Figura 2 – Server configurations in Microsoft Tunnel

Selezionate la voce Create new.

Figura 3 – Creazione server configuration Microsoft Tunnel

Nella finestra successiva, indicate un nome alla nuova configurazione.

Figura 4 – Nome server configuration in Microsoft Tunnel

Nella sezione Settings configurate i seguenti parametri:

  • IP address range: il range di indirizzi IP che riceveranno i dispositivi quando si connettono al gateway Microsoft Tunnel;
  • DNS Server: specificare i server dns interni dell’organizzazione;
  • DNS suffix search: (facoltativo) dominio predefinito che verrà assegnato ai dispositivi quando si connettono al gateway Microsoft Tunnel;
  • Split tunneling: (facoltativo) consente di includere o escludere indirizzi interni;
  • Server port: porta utilizzata dal server Linux per erogare il servizio Microsoft Tunnel.

Figura 5 – Server configuration settings in Microsoft Tunnel

Riepilogo e creazione della configurazione server:

Figura 6 – Riepilogo server configuration in Microsoft Tunnel

Passiamo ora alla creazione del nuovo sito. I siti sono gruppi logici di server nei quali è ospitato il servizio Microsoft Tunnel.

Nella pagina Microsoft Tunnel Gateway, spostatevi nella sezione Sites e selezionate la voce Create.

Figura 7 – Creazione sites Microsoft Tunnel

Per la creazione di un nuovo site, vengono richiesti i seguenti parametri:

  • Nome del sito;
  • Descrizione (facoltativo);
  • Public IP address or FQDN tramite il quale verrà esposto il servizio Microsoft Tunnel in internet;
  • Server configuration: selezionare la configurazione creata in precedenza.

Figura 8 – Creazione sites Microsoft Tunnel

Installazione del gateway Microsoft Tunnel su server Linux con docker

Per procedere con l’installazione di Microsoft Tunnel, è necessaria una macchina virtuale o un server fisico basato su Linux con Docker versione 19.03 CE o successiva.

Le distribuzioni Linux supportate sono le seguenti:

  • CentOS 7.4+ (CentOS 8+ non è supportato);
  • Red Hat (RHEL) 7.4+ (RHEL 8+ non è supportato);
  • Ubuntu 18.04;
  • Ubuntu 20.04.

Per informazioni e gli step necessari per l’installazione di Docker, vi invito a seguire le seguenti documentazioni ufficiali:

Di seguito altri prerequisiti per l’inizializzazione della soluzione Microsoft Tunnel:

Per tutti i dettagli, vi invito a leggere la documentazione ufficiale: https://docs.microsoft.com/it-it/mem/intune/protect/microsoft-tunnel-overview#configure-prerequisites-for-microsoft-tunnel

Nel mio caso ho utilizzato una VM Ubuntu 20.04 ed ho seguito in precedenza tutti i passaggi elencati nella guida ufficiale per l’installazione di Docker.

Per procedere con l’installazione di Microsoft Tunnel, lanciare lo script mstunnel-setup attraverso il comando sudo (superuser do).

È possibile scaricare lo script mstunnel-setup direttamente sulla macchina interessata tramite il comando wget –output-document=mstunnel-setup https://aka.ms/microsofttunneldownload
oppure recuperarlo tramite l’apposita sezione nel portale Microsoft Endpoint Manager admin center:

Figura 9 – Download script Microsft Tunnel tramite wget

Figura 10 – Download script Microsft Tunnel dal portale Microsoft Endpoint Manager admin center

Per avviare il setup di Microsft Tunnel tramite script, lanciate i seguenti comandi:

sudo chmod u+x ./mstunnel-setup

sudo ./mstunnel-setup

Quando si avvia lo script, vengono scaricati e creati i files con relative cartelle necessari sul server Linux.

Durante l’installazione, lo script richiederà di completare le seguenti attività amministrative:

  • Accettare il contratto di licenza (EULA):

Figura 11 – Accettazione EULA durante installazione Microsoft Tunnel

  • Controllare ed eventualmente configurare le variabili nel file /etc/mstunnel/env.sh.

Figura 12 – Verifica variabili durante l’installazione di Microsoft Tunnel

  • Copiare la catena completa del certificato TLS nel server Linux al percorso indicato.

    Nel mio caso ho generato con Let’s Encrypt un certificato che matchasse con l’FQDN tunnelgw.tafuri.cloud, tramite il quale ho pubblicato in Internet la soluzione Microsoft Tunnel . Ho rinominato il file di partenza .crt in site.crt e l’ho copiato nella posizione /etc/mstunnel/certs. Stesso discorso per il .key rinominato in site.key e posizionato in /etc/mstunnel/private.

    Una volta che vi siete assicurati di aver copiato i files nelle posizioni indicate, procedete con l’installazione.

Figura 13 – Configurazione del certificato in Microsoft Tunnel

  • Come ultimo step è richiesto l’accesso tramite browser al portale https://microsoft.com/devicelogin inserendo il codice casuale a video e con credenziali di Intune Administrator o Global Admin:

Figura 14 – Installazione completata Microsoft Tunnel

Per verificare lo stato del collegamento, recatevi sul portale Microsoft Endpoint Manager admin center nella sezione Health status del servizio Microsoft Tunnel:

Figura 15 – Health status Microsoft Tunnel

Configurazione Managed Google Play App per dispositivi Android Enterprise

Recatevi sul portale Microsoft Endpoint Manager admin center nella sezione Apps -> Android Apps per aggiungere Microsoft Tunnel come tipologia Managed Google Play app.

Figura 16 – Configurazione Microsoft Tunnel Managed Google Play App

Cercate l’applicazione Microsoft Tunnel nel Managed Google Play Store e dopo averla approvata procedete con un Sync.

Figura 17 – Approvazione app Microsoft Tunnel in Managed Google Play Store

Successivamente rendete l’applicazione fruibile per l’installazione. Nel mio caso l’ho assegnata in modalità Required su tutti i dispositivi gestiti, ovviamente, con la modalità Android Enterprise.

Figura 18 – Assegnazione Microsoft Tunnel app sui dispositivi desiderati tramite Microsoft Endpoint Manager admin center

Creazione profilo VPN per dispositivi Android Enterprise

Per la creazione del profilo VPN per Microsoft Tunnel, sul portale Microsoft Endpoint Manager Admin Center https://endpoint.microsoft.com create un nuovo profilo in Devices -> Configuration profiles:

  • Platform: Android Enterprise;
  • Profile: VPN.

Figura 19 – Creazione nuovo profilo VPN per Microsoft Tunnel

Indicate un nome al nuovo profilo:

Figura 20 – Nome profilo Microsoft Tunnel

In Configuration settings – Base VPN indicate i seguenti parametri:

  • Connection Type: Microsoft Tunnel;
  • Connection Name: indicate un nome che sarà visibile agli utenti finali;

Cliccando su Select a site, selezionate il sito Microsoft Tunnel creato in precedenza.

Figura 21 – Base VPN Configuration settings

Nella sezione Per-app VPN selezionate l’app Microsoft Tunnel alla quale verrà applicata il nuovo profilo VPN.

Come da immagine seguente, è possibile applicare o meno la modalità Always-On VPN.

Figura 22 – Assegnazione profilo VPN all’app Microsoft Tunnel

Una volta terminata la configurazione, assegnate il nuovo profilo VPN ai dispositivi/utenti desiderati.

Figura 23 – Assegnazione profilo VPN a dispositivi/utenti desiderati

Risultato finale Microsoft Tunnel su dispositivi Android Enterprise:


Utilizzo del Conditional Access su Microsoft Tunnel (facoltativo)

Per estendere la funzionalità di Conditional Access su Microsoft Tunnel, sono necessari i seguenti step:

  • Installare il modulo Powershell di Azure AD: Install AzureAD PowerShell for Graph | Microsoft Docs;
  • Collegarsi in Azure AD dell’organizzazione tramite powershell;
  • Lanciare il comando Powershell Set-ExecutionPolicy -executionPolicy Unrestricted;
  • Scaricare e lanciare lo script PowerShell mst-CA-readiness.ps1 da aka.ms/mst-ca-provisioning;
  • Lo script provvederà alla creazione dell’App denominata Microsoft Tunnel Gateway con App ID 3678c9e9-9681-447a-974d-d19f668fcd88;
  • Il gioco è fatto e sarete in grado di applicare delle policy di Conditional Access ed associarle all’app creata.

Conclusioni

In questo articolo abbiamo visto come introdurre Microsoft Tunnel all’interno della propria organizzazione. La nuova soluzione offre la possibilità ai dispositivi mobili di accedere tramite VPN alle risorse interne evitando un’esposizione diretta su Internet.

Per approfondire la soluzione, vi lascio alcuni riferimenti ufficiali: