Generare ed esportare certificati - Linux (strongSwan)

Gateway VPN connessioni da punto a sito possono usare i certificati per l'autenticazione. Questo articolo illustra come creare un certificato radice autofirmato e generare certificati client usando strongSwan. È anche possibile usare PowerShell o MakeCert.

Per connettersi, ogni client deve avere un certificato client installato localmente. Inoltre, le informazioni sulla chiave pubblica del certificato radice devono essere caricate in Azure. Per altre informazioni, vedere Configurazione da punto a sito - Autenticazione del certificato.

Installare strongSwan

La procedura seguente consente di 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

Istruzioni dell'interfaccia della riga di comando di Linux (strongSwan)

La procedura seguente consente di generare ed esportare certificati usando l'interfaccia della riga di comando di Linux (strongSwan). Per altre informazioni, vedere Istruzioni aggiuntive per installare l'interfaccia della riga di comando di Azure.

Generare il certificato della CA.

ipsec pki --gen --outform pem > caKey.pem
ipsec pki --self --in caKey.pem --dn "CN=VPN CA" --ca --outform pem > caCert.pem

Stampare il certificato della CA nel formato base64. Questo è il formato supportato da Azure. Il certificato viene caricato in Azure come parte dei passaggi di configurazione da punto a sito.

openssl x509 -in caCert.pem -outform der | base64 -w0 ; echo

Generare il certificato utente.

export PASSWORD="password"
export USERNAME=$(hostnamectl --static)

ipsec pki --gen --outform pem > "${USERNAME}Key.pem"
ipsec pki --pub --in "${USERNAME}Key.pem" | ipsec pki --issue --cacert caCert.pem --cakey caKey.pem --dn "CN=${USERNAME}" --san "${USERNAME}" --flag clientAuth --outform pem > "${USERNAME}Cert.pem"

Generare un'aggregazione p12 contenente il certificato utente. Questa aggregazione viene usata nei passaggi successivi quando si lavora con i file di configurazione del client.

openssl pkcs12 -in "${USERNAME}Cert.pem" -inkey "${USERNAME}Key.pem" -certfile caCert.pem -export -out "${USERNAME}.p12" -password "pass:${PASSWORD}"

Passaggi successivi

Continuare con la configurazione da punto a sito per creare e installare i file di configurazione del client VPN - Linux.