Negli ultimi due anni, abbiamo assistito ad un cambio epocale nel modo in cui le persone lavorano con un incremento esponenziale dell’attività da remoto da parte dei dipendenti.
Questo ha portato le aziende ad una Digital Trasformation senza precedenti: le aziende dove questo processo di trasformazione era già stato avviato sono state in grado di gestire in modo agevole lo switch verso un lavoro ibrido.
Nelle realtà con una forte presenza di dati e servizi basati su risorse on-prem, si è resa necessaria l’adozione di strumenti per consentirne l’accessibilità e l’utilizzo anche da sistemi mobile.
Microsoft Tunnel è la soluzione di Microsoft che permette l’accesso alle risorse on-premise da parte di device Android o iOS; l’introduzione di tale soluzione in azienda permette agli utenti di essere ugualmente produttivi ovunque essi si trovino e da qualsiasi tipo di device si colleghino.
Questa soluzione fornisce anche altri vantaggi come:
- Possibilità di essere utilizzato dietro un sistema di bilanciamento per assicurare l’alta disponibilità del servizio;
- Configurazione semplice attraverso una console di gestione centralizzata come Microsoft Endpoint Manager.
- Aggiornamento automatico dei sistemi all’interno di specifiche finestre manutentive in modo tale da generare il minor disservizio possibile;
- Possibilità di inviare i log di Microsoft Tunnel sfruttando l’integrazione di syslog con Azure Sentinel o con altri strumenti SIEM per registrare e monitorare gli eventi;
Prerequisiti
Per poter adottare Microsoft Tunnel è necessario disporre dei seguenti prerequisiti:
- Una subscription Azure;
- Una subscription Intune;
- Server Linux con una delle seguenti distribuzioni:
- CentOS 7.4+(CentOS 8+ non supportato);
- Red Hat (RHEL) 7.4+;
- Red Hat (RHEL) 8.4;
- Ubuntu 18.04;
- Ubuntu 20.04;
- Configurare la parte network in modo tale che vengano soddisfatti i requisiti di rete riportati ai seguenti link:
- Raggiungibilità diretta verso i seguenti endpoint da parte del server Linux:
- Disponibilità di un certificato pubblico per cifratura della comunicazione tra device e Tunnel gateway:
- Il Subject Alternative Name (SAN) deve contenere l’FQDN del server Tunnel gateway;
- Il certificato TLS *non* deve avere una data di scadenza superiore ai 2 anni; se la data risulta essere superiore, iOS non accetterà la comunicazione;
- Supportato l’utilizzo di wildcard (es: *.domain.com);
- Disponibilità di un indirizzo IP/FQDN pubblico con il quale verrà esposto il servizio Microsoft Tunnel;
È importante sottolineare come solo i device registrati su Microsoft Intune (quindi gestiti) hanno la possibilità di sfruttare questo servizio per l’accesso alle risorse aziendali.
Creazione Server Configuration
L’utilizzo di una Server Configuration permette di definire quelle che saranno le configurazioni che verranno applicate ai device una volta contattato il Tunnel Gateway; questa configurazione permette di definire: il range di IP che verrà assegnato ai device, i server DNS da contattare ed eventuali regole di split tunneling.
Riportiamo qui sotto gli step necessari alla creazione di una nuova Server Configuration:
- Eseguire l’accesso alla console Microsoft Endpoint Manager con un account amministrativo;
- Accedere alla sezione Tenant administration > Microsoft Tunnel Gateway;
- Selezionare il tab Server configurations;
- Premere sul pulsante Create new;
- Inserire un nome ed una eventuale descrizione e procedere con il pulsante Next;
- Come precedentemente citato, all’interno del tab Settings, configurare le seguenti opzioni:
- IP address range: range di indirizzi IP che verrà assegnato ai device quando eseguiranno la connessione al Tunnel Gateway (es: 192.168.1.0/24);
- Server port: indica la porta su cui il server risulterà in ascolto (impostare 443);
- DNS servers: questi sono i server DNS che verranno utilizzati per le richieste DNS provenienti da dispositivi che risultano connessi al Tunnel Gateway;
- DNS suffix search (opzionale): questo suffisso DNS verrà fornito ai client come default;
- Split tunneling (opzionale): permette di definire indirizzamenti IP da includere e escludere nel processo di routing; gli indirizzi IP inclusi verranno ruotati verso il Tunnel Gateway, mentre quelli esclusi non verranno ruotati verso il Tunnel Gateway.
- Premere sul pulsante Next;
- Procedere con il wizard fino alla creazione attraverso il pulsante Create.
Creazione Site Configuration
I Sites non sono nient’altro che raggruppamenti logici di server che ospitano il ruolo di Microsoft Tunnel; a questi server verrà poi assegnata una specifica Server Configuration che verrà specificata durante il processo di creazione del Site.
Riportiamo qui sotto gli step necessari per eseguire questo processo:
- Accedere alla console MEM con un account amministrativo;
- Accedere alla sezione Tenant administration > Microsoft Tunnel Gateway;
- Selezionare il tab Sites;
- Premere sul pulsante Create;
- Inserire un nome ed una eventuale descrizione e procedere con il pulsante Next;
- All’interno del tab Settings, configurare le seguenti opzioni:
- Public IP address or FQDN: configurare l’indirizzo IP pubblico o l’FQDN pubblico con cui viene pubblicato il Tunnel Gateway; questo indirizzo/FQDN verrà utilizzato dai device per instaurare la comunicazione con il server Gateway.
- Server configuration: dal menù a tendina, selezionare la Server Configuration precedentemente creata.
- URL for internal network access check: definire un URL HTTP o HTTPS che verrà utilizzato dal server per determinare se è in grado di accedere correttamente alle risorse interne; il polling viene eseguito ogni 5 minuti.
- Automatically upgrade servers at this site: nel caso in cui si selezioni l’opzione Yes, l’aggiornamento del/dei server verrà eseguito automaticamente; nel caso si selezioni l’opzione No, l’upgrade verrà eseguito solamente a fronte dell’approvazione manuale da parte di un amministratore;
- Limit server upgrades to maintenance window: nel caso in cui si sia selezionato di eseguire l’aggiornamento automatico, impostando questa opzione a Yes, è possibile definire una finestra manutentiva all’interno della quale verrà eseguito l’aggiornamento.
- Premere sul pulsante Next;
- Procedere con il wizard fino alla creazione attraverso il pulsante Create.
Installazione Microsoft Tunnel
Una volta ultimata la creazione di una nuova Server Configuration e di un nuovo Site, è possibile procedere con l’installazione della funzionalità Microsoft Tunnel sul server Linux predisposto; requisito di questa funzionalità, è la presenza di Docker versione 19.03 CE o successive.
Collegarsi al server Linux predisposto per questa funzionalità ed eseguire i seguenti comandi (gli step sotto riportati fanno riferimento all’installazione di Docker su un distro Linux CentOS versione 7.9):
Nel caso in cui il server Linux sia in grado di accedere ad Internet senza particolari restrizioni eseguire quanto sotto riportato:
sudo yum install -y yum-utils sudo yum-config-manager \--add-repo\https://download.docker.com/linux/centos/docker-ce.repo sudo yum install docker-ce docker-ce-cli containerd.io
In caso contrario, eseguire le operazioni sotto riportate:
- Accedere al link https://download.docker.com/linux/centos/
- Selezionare la versione CentOS del server Linux coinvolto;
- Accedere al path x86_64/stable/Packages/
- Eseguire il downlod dei seguenti file rpm:
- docker-ce
- docker-ce-cli
- io
- docker-scan-plugin
- docker-ce-selinux
- docker-ce-rootless
Una volta completato il download dei file, copiarli all’interno della folder tmp del server Linux ed avviare l’installazione attraverso il seguente comand:
sudo yum install <path>\docker-ce-<version>.rpm docker-ce-cli-<version>.rpm containerd.io-<version>.rpm
Nel caso in cui non risultino disponibili i prerequisiti per il Docker sul server CentOS, è possibile ricevere il seguente messaggio di errore:
Error: Package: docker-ce-rootless-extras-20.10.8-3.el7.x86_64 (docker-ce-stable)
Requires: slirp4netns >= 0.4
Per permettere l’installazione automatica dei requisiti eseguire gli step sotto riportati:
- Accedere alla folder contenente il repositori yum:
cd /etc/yum.repos.d
mv CentOS-Base.repo CentOS-Base.repo_bak
- Aggiungere all’inizio del file /etc/yum.repos.d/docker-ce.repo le seguenti entry:
[centos-extras]
name=Centos extras – $basearch
baseurl=http://mirror.centos.org/centos/7/extras/x86_64
enabled=1
gpgcheck=0
- Procedere con il salvataggio del file;
- Forzare l’installazione dei componenti slirp4netns, fuse-overlayfs e container-selinux attraverso la seguente riga di comando:
sudo yum -y install slirp4netns fuse-overlayfs container-selinux
Una volta terminato il processo di installazione di Docker procedere con l’avvio e la rispettiva configurazione per permettere l’avvio automatico del servizio in automatico all’avvio del sistema:
sudo systemctl start docker sudo systemctl enable docker.service sudo systemctl enable containerd.service
Terminato il processo di installazione di Docker, è possibile procedere con l’installazione di Microsoft Tunnel;
- Eseguire il download dello script di installazione in una delle seguenti modalità:
- Download da un browser attraverso il seguente link;
- Attraverso il portale Microsoft Endpoint Manager all’interno della sezione Tenant administration > Microsoft Tunnel Gateway > Servers > Create premere sul pulsante Download script
- Download direttamente dal server Linux attraverso il seguente comando: wget –output-document=mstunnel-setup https://aka.ms/microsofttunneldownload
- Avviare la procedura di installazione eseguendo lo script scaricato in precedenza:
sudo chmod +x ./mstunnel-setup
Una volta avviato, lo script provvederà ad eseguire automaticamente il download dell’immagine dagli endpoint di Microsoft Intune e a creare le folder/file necessari.
- Accettare l’EULA
- Verificare ed eventualmente modificare come richiesto le variabili presenti all’interno del file /etc/mstunnel/env.sh
- Rinominare i file relativi al certificato come riportato qui sotto:
- Formato PFX -> site.pfx
- Formato CRT -> site.cer (per certificato e relativa chain) e site.key (per chiave privata)
- Copiare i file relativi al certificato nelle apposite folder come indicato dalla procedura attraverso I seguenti comandi:
- Formato PFX
cp [path/site.pfx] /etc/mstunnel/private/site.pfx - Formato CRT
cp [path/site.crt] /etc/mstunnel/certs/site.crt
cp [path/site.key] /etc/mstunnel/private/site.key
- Formato PFX
- Durante il processo di import, nel caso in cui venga utilizzato un file pfx protetto da password, verrà richiesto l’inserimento di quest’ultima:
- Al termine del processo di import, per poter avviare la registrazione del Microsoft Tunnel Gateway server sul portale Microsoft Intune, risulta necessario eseguire l’accesso al link indicato (https://microsoft.com/devicelogin), autenticarsi con un account Global Admin o Intune Administrator e infine inserire il codice indicato:
- Una volta autorizzata la registrazione, verificare che il processo di creazione si completi con esito positivo e che il server risulti correttamente registrato nella sezione Server della console.
Riferimenti
Si riportano alcuni utili riferimenti alla documentazione ufficiale Microsoft:
- Monitor Microsoft Tunnel
- Upgrade Microsoft Tunnel for Microsoft Intune
- Use Conditional Access with Microsoft Tunnel in Intune
Conclusioni
In questo articolo è stata fornita una panoramica della soluzione Microsoft Tunnel che consente di accedere alle risorse aziendali attraverso dispositivi mobile.
Nel prossimo articolo, vedremo come distribuire l’app necessaria per collegarsi con il server Microsoft Tunnel e come configurare i device per instaurare la connessione VPN sfruttando questa soluzione.