Configurare i client VPN da punto a sito: autenticazione del certificato - Linux

Questo articolo illustra come connettersi alla rete virtuale di Azure usando Gateway VPN da punto a sito (P2S) e l'autenticazione del certificato da un client Linux. In questo articolo sono disponibili più set di passaggi, a seconda del tipo di tunnel selezionato per la configurazione da sito a sito, il sistema operativo e il client VPN usato per la connessione.

Operazioni preliminari

Prima di iniziare, verificare di essere nell'articolo corretto. La tabella seguente illustra gli articoli di configurazione disponibili per i client VPN da sito a sito di Azure Gateway VPN. I passaggi variano a seconda del tipo di autenticazione, del tipo di tunnel e del sistema operativo client.

Autenticazione Tipo di tunnel Generare file di configurazione Configurare il client VPN
Certificato di Azure IKEv2, SSTP Windows Client VPN nativo
Certificato di Azure OpenVPN Windows - Client OpenVPN
- Client VPN di Azure
Certificato di Azure IKEv2, OpenVPN macOS-iOS macOS-iOS
Certificato di Azure IKEv2, OpenVPN Linux Linux
Microsoft Entra ID OpenVPN (SSL) Windows Windows
Microsoft Entra ID OpenVPN (SSL) macOS macOS
RADIUS - Certificato - Articolo Articolo
RADIUS - Password - Articolo Articolo
RADIUS - altri metodi - Articolo Articolo

Importante

A partire dal 1 luglio 2018, verrà rimosso il supporto per TLS 1.0 e 1.1 da Gateway VPN di Azure. Gateway VPN supporterà solo TLS 1.2. Sono interessate solo le connessioni da punto a sito; Le connessioni da sito a sito non saranno interessate. Se si usa TLS per VPN da punto a sito nei client Windows 10 o versioni successive, non è necessario eseguire alcuna azione. Se si usa TLS per le connessioni da punto a sito nei client Windows 7 e Windows 8, vedere le domande frequenti sulle Gateway VPN per istruzioni sull'aggiornamento.

Generare i certificati

Per l'autenticazione del certificato, è necessario installare un certificato client in ogni computer client. Il certificato client che si vuole usare deve essere esportato con la chiave privata e deve contenere tutti i certificati nel percorso di certificazione. Inoltre, per alcune configurazioni, è anche necessario installare le informazioni sul certificato radice.

Per informazioni sull'uso dei certificati, vedere Da punto a sito: Generare certificati.

Generare i file di configurazione del client VPN

Tutte le impostazioni di configurazione necessarie per i client VPN sono contenute in un file ZIP di configurazione del profilo client VPN. I file di configurazione del profilo client VPN generati sono specifici della configurazione del gateway VPN da sito a sito per la rete virtuale. Se sono state apportate modifiche alla configurazione VPN da sito a sito dopo aver generato i file, ad esempio le modifiche al tipo di protocollo VPN o al tipo di autenticazione, è necessario generare nuovi file di configurazione del profilo client VPN e applicare la nuova configurazione a tutti i client VPN da connettere. Per altre informazioni sulle connessioni da punto a sito, vedere Informazioni sulla VPN da punto a sito.

Per generare file di configurazione usando il portale di Azure:

  1. Nella portale di Azure passare al gateway di rete virtuale per la rete virtuale a cui si vuole connettersi.

  2. Nella pagina gateway di rete virtuale selezionare Configurazione da punto a sito per aprire la pagina di configurazione da punto a sito.

  3. Nella parte superiore della pagina di configurazione da punto a sito selezionare Scarica client VPN. Questo non scarica il software client VPN, genera il pacchetto di configurazione usato per configurare i client VPN. La generazione del pacchetto di configurazione client richiede qualche minuto. Durante questo periodo di tempo, è possibile che non vengano visualizzate indicazioni fino a quando il pacchetto non viene generato.

    Screenshot della pagina di configurazione da punto a sito.

  4. Dopo aver generato il pacchetto di configurazione, il browser indica che è disponibile un file ZIP di configurazione client. È denominato con lo stesso nome del gateway.

  5. Decomprimere il file per visualizzare le cartelle. Si useranno alcuni o tutti questi file per configurare il client VPN. I file generati corrispondono alle impostazioni del tipo di autenticazione e tunnel configurate nel server da sito a sito.

Configurare quindi il client VPN. Selezionare una delle istruzioni seguenti:

  • Passaggi del tipo di tunnel IKEv2 per strongSwan
  • Passaggi del tipo di tunnel OpenVPN per il client OpenVPN

IKEv2 - passaggi strongSwan

Installare strongSwan

Per specificare i comandi è stata usata la configurazione seguente:

  • Computer: Ubuntu Server 18.04
  • Dipendenze: strongSwan

Per installare la configurazione strongSwan richiesta, eseguire i comandi seguenti:

sudo apt-get update
sudo apt-get upgrade
sudo apt install strongswan
sudo apt install strongswan-pki
sudo apt install libstrongswan-extra-plugins
sudo apt install libtss2-tcti-tabrmd0

Installare i certificati

Un certificato client è necessario per l'autenticazione quando si usa il tipo di autenticazione del certificato di Azure. È necessario installare un certificato client in ogni computer client. Il certificato client esportato deve essere esportato con la chiave privata e deve contenere tutti i certificati nel percorso di certificazione. Assicurarsi che nel computer client sia installato il certificato client appropriato prima di procedere alla sezione successiva.

Per informazioni sui certificati client, vedere Generare certificati - Linux.

Visualizzare i file del profilo client VPN

Passare ai file di configurazione del profilo client VPN scaricati. Tutte le informazioni necessarie per la configurazione sono disponibili nella cartella Generic . Azure non fornisce un file mobileconfig per questa configurazione.

Se la cartella Generic non viene visualizzata, controllare gli elementi seguenti, quindi generare di nuovo il file ZIP.

  • Controllare il tipo di tunnel per la configurazione. È probabile che IKEv2 non sia stato selezionato come tipo di tunnel.
  • Nel gateway VPN verificare che lo SKU non sia Basic. Lo SKU Gateway VPN Basic non supporta IKEv2. Selezionare quindi IKEv2 e generare di nuovo il file ZIP per recuperare la cartella Generic.

La cartella Generic contiene i file seguenti:

  • VpnSettings.xml, che contiene impostazioni importanti come l'indirizzo del server e il tipo di tunnel.
  • VpnServerRoot.cer, che contiene il certificato radice necessario per convalidare il gateway VPN di Azure durante la configurazione della connessione da punto a sito.

Dopo aver visualizzato i file, continuare con i passaggi da usare:

Passaggi dell'interfaccia utente grafica strongSwan

Questa sezione illustra la configurazione usando l'interfaccia utente grafica strongSwan. Le istruzioni seguenti sono state create in Ubuntu 18.0.4. Ubuntu 16.0.10 non supporta strongSwan GUI. Se si vuole usare Ubuntu 16.0.10, è necessario usare la riga di comando. Gli esempi seguenti potrebbero non corrispondere alle schermate visualizzate, a seconda della versione di Linux e strongSwan.

  1. Aprire il Terminale per installare strongSwan e il relativo gestore di rete eseguendo il comando riportato nell'esempio.

    sudo apt install network-manager-strongswan
    
  2. Selezionare Impostazioni, quindi selezionare Rete. Selezionare il + pulsante per creare una nuova connessione.

    Screenshot che mostra la pagina connessioni di rete.

  3. Selezionare IPsec/IKEv2 (strongSwan) dal menu e fare doppio clic.

    Screenshot che mostra la pagina Aggiungi VPN.

  4. Nella pagina Aggiungi VPN aggiungere un nome per la connessione VPN.

    Screenshot che mostra Scegliere un tipo di connessione.

  5. Aprire il file Vpn Impostazioni.xml dalla cartella Generic contenuta nei file di configurazione del profilo client VPN scaricati. Trovare il tag denominato VpnServer e copiare il nome, che inizia con "azuregateway" e termina con ".cloudapp.net".

    Screenshot che mostra la copia dei dati.

  6. Incollare il nome nel campo Indirizzo della nuova connessione VPN nella sezione Gateway . Successivamente, selezionare l'icona della cartella alla fine del campo Certificate (Certificato), passare alla cartella Generic e selezionare il file VpnServerRoot.

  7. Nella sezione Client della connessione, per Authentication (Autenticazione) selezionare Certificate/private key (Certificato/Chiave privata). Per Certificate (Certificato) e Private key (Chiave privata) scegliere il certificato e la chiave privata creati in precedenza. In Options (Opzioni) selezionare Request an inner IP address (Richiedi un indirizzo IP interno). Quindi selezionare Aggiungi.

    Screenshot che mostra La richiesta di un indirizzo IP interno.

  8. Attivare la connessione.

    Screenshot che mostra la copia.

Passaggi dell'interfaccia della riga di comando strongSwan

Questa sezione illustra la configurazione usando l'interfaccia della riga di comando strongSwan.

  1. Dalla cartella Generic file di configurazione del profilo client VPN copiare o spostare il VpnServerRoot.cer in /etc/ipsec.d/cacerts.

  2. Copiare o spostare i file generati rispettivamente in /etc/ipsec.d/certs e /etc/ipsec.d/private/ . Questi file sono il certificato client e la chiave privata, devono trovarsi nelle directory corrispondenti. Usare i comandi seguenti:

    sudo cp ${USERNAME}Cert.pem /etc/ipsec.d/certs/
    sudo cp ${USERNAME}Key.pem /etc/ipsec.d/private/
    sudo chmod -R go-rwx /etc/ipsec.d/private /etc/ipsec.d/certs
    
  3. Eseguire il comando seguente per prendere nota del nome host. Questo valore verrà usato nel passaggio successivo.

    hostnamectl --static
    
  4. Aprire il file Vpn Impostazioni.xml e copiare il <VpnServer> valore. Questo valore verrà usato nel passaggio successivo.

  5. Modificare i valori nell'esempio seguente, quindi aggiungere l'esempio alla configurazione /etc/ipsec.conf .

    conn azure
          keyexchange=ikev2
          type=tunnel
          leftfirewall=yes
          left=%any
          # Replace ${USERNAME}Cert.pem with the key filename inside /etc/ipsec.d/certs  directory. 
          leftcert=${USERNAME}Cert.pem
          leftauth=pubkey
          leftid=%client # use the hostname of your machine with % character prepended. Example: %client
          right= #Azure VPN gateway address. Example: azuregateway-xxx-xxx.vpn.azure.com
          rightid=% #Azure VPN gateway FQDN with % character prepended. Example: %azuregateway-xxx-xxx.vpn.azure.com
          rightsubnet=0.0.0.0/0
          leftsourceip=%config
          auto=add
          esp=aes256gcm16
    
  6. Aggiungere i valori dei segreti a /etc/ipsec.secrets.

    Il nome del file PEM deve corrispondere a quello usato in precedenza come file di chiave client.

    : RSA ${USERNAME}Key.pem  # Replace ${USERNAME}Key.pem with the key filename inside /etc/ipsec.d/private directory. 
    
  7. Eseguire infine i comandi seguenti:

    sudo ipsec restart
    sudo ipsec up azure
    

Passaggi di OpenVPN

Questa sezione illustra come configurare i client Linux per l'autenticazione del certificato che usa il tipo di tunnel OpenVPN. Per connettersi ad Azure, scaricare il client OpenVPN e configurare il profilo di connessione.

Nota

OpenVPN Client versione 2.6 non è ancora supportato.

  1. Aprire una nuova sessione del terminale. È possibile aprire una nuova sessione premendo contemporaneamente CTRL + ALT + T.

  2. Immettere il comando seguente per installare i componenti necessari:

    sudo apt-get install openvpn
    sudo apt-get -y install network-manager-openvpn
    sudo service network-manager restart
    
  3. Passare quindi alla cartella del profilo client VPN e decomprimere per visualizzare i file.

  4. Esportare il certificato client per connessioni da punto a sito creato e caricato nella configurazione della connessione da punto a sito sul gateway. Per i passaggi, vedere Gateway VPN da punto a sito.

  5. Estrarre la chiave privata e l'identificazione personale base64 dal file con estensione pfx. È possibile eseguire questa operazione in vari modi. Un modo consiste nell'usare OpenSSL nel computer.

    openssl pkcs12 -in "filename.pfx" -nodes -out "profileinfo.txt"
    

    Il file profileinfo.txt conterrà la chiave privata e l'identificazione personale per l'Autorità di certificazione e il certificato client. Assicurarsi di usare l'identificazione personale del certificato client.

  6. Aprire profileinfo.txt in un editor di testo. Per ottenere l'identificazione personale del certificato client (figlio), selezionare il testo compreso tra "-----BEGIN CERTIFICATE-----" e "-----END CERTIFICATE-----" (inclusi) per il certificato figlio e copiarlo. È possibile identificare il certificato figlio dalla riga subject=/.

  7. Aprire il file vpnconfig.ovpn e trovare la sezione riportata di seguito. Sostituire tutti gli elementi tra "cert" e "/cert".

    # P2S client certificate
    # please fill this field with a PEM formatted cert
    <cert>
    $CLIENTCERTIFICATE
    </cert>
    
  8. Aprire il file profileinfo.txt in un editor di testo. Per ottenere la chiave privata, selezionare il testo incluso e tra "-----BEGIN PRIVATE KEY-----" e "-----END PRIVATE KEY-----" e copiarlo.

  9. Aprire il file vpnconfig.ovpn in un editor di testo e trovare questa sezione. Incollare la chiave privata sostituendo tutti gli elementi tra "key" e "/key".

    # P2S client root certificate private key
    # please fill this field with a PEM formatted key
    <key>
    $PRIVATEKEY
    </key>
    
  10. Non modificare altri campi. Usare la configurazione così completata nell'input del client per connettersi alla rete VPN.

    • Per connettersi usando la riga di comando, digitare il comando seguente:

      sudo openvpn --config <name and path of your VPN profile file>&
      
    • Per disconnettersi tramite la riga di comando, digitare il comando seguente:

      sudo pkill openvpn
      
    • Per connettersi usando l'interfaccia utente grafica, passare alle impostazioni di sistema.

  11. Selezionare questa opzione + per aggiungere una nuova connessione VPN.

  12. In Aggiungi VPN selezionare Importa dal file....

  13. Individuare il file del profilo e fare doppio clic o selezionare Apri.

  14. Selezionare Aggiungi nella finestra Aggiungi VPN .

    Screenshot che mostra l'importazione da file nella pagina Aggiungi VPN.

  15. La VPN può essere connessa selezionando ON nella pagina Network Settings (Impostazioni di rete), o sotto l'icona di rete nell'area di notifica.

Passaggi successivi

Per altri passaggi, tornare all'articolo originale da punto a sito da cui si stava lavorando.