Autenticazione reciproca - AWS Client VPN

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Autenticazione reciproca

Con l'autenticazione reciproca, Client VPN utilizza i certificati per eseguire l'autenticazione tra client e server. I certificati sono un modulo digitale di identificazione emesso da un'autorità di certificazione (CA). Il server utilizza i certificati client per autenticare i client quando tentano di connettersi all'endpoint Client VPN. È necessario creare un certificato server e una chiave e almeno un certificato client e una chiave.

È necessario caricare il certificato del server su AWS Certificate Manager (ACM) e specificarlo quando si crea un endpoint Client VPN. Quando si carica il certificato del server in ACM, si specifica anche l'autorità di certificazione (CA). Il certificato client deve essere caricato su ACM solo quando la CA del certificato client è diversa da quella del certificato server. Per ulteriori informazioni su ACM, consulta la Guida per l'utente di AWS Certificate Manager.

Puoi creare un certificato client e una chiave separati per ogni client che si connette all'endpoint Client VPN. Questo consente di revocare un certificato client specifico se un utente lascia l'organizzazione. In questo caso, quando crei l'endpoint Client VPN puoi specificare il certificato ARN del server per il certificato client, a condizione che il certificato client sia stato emesso dalla stessa autorità di certificazione del certificato server.

Nota

Un endpoint Client VPN supporta solo chiavi RSA a 1024 bit e 2048 bit. Inoltre, il certificato client deve avere l'attributo CN nel campo Subject (Oggetto).

Quando i certificati utilizzati con il servizio VPN Client vengono aggiornati, tramite la rotazione automatica di ACM, l'importazione manuale di un nuovo certificato o gli aggiornamenti dei metadati in Centro identità IAM, il servizio VPN Client aggiorna automaticamente l'endpoint VPN Client con il certificato più recente. Questo è un processo automatizzato che può richiedere fino a 24 ore.

Linux/macOS

La seguente procedura utilizza OpenVPN easy-rsa per generare i certificati e le chiavi server e client e caricare il certificato e la chiave server in ACM. Per ulteriori informazioni, consulta il file README di Easy-RSA 3 Quickstart.

Per generare i certificati e le chiavi server e client e caricarli in ACM
  1. Clonare il repository OpenVPN easy-rsa sul computer locale e passare alla cartella easy-rsa/easyrsa3.

    $ git clone https://github.com/OpenVPN/easy-rsa.git
    $ cd easy-rsa/easyrsa3
  2. Inizializzare un nuovo ambiente PKI.

    $ ./easyrsa init-pki
  3. Per creare una nuova autorità di certificazione (CA), eseguire questo comando e seguire le istruzioni.

    $ ./easyrsa build-ca nopass
  4. Generare il certificato e la chiave server.

    $ ./easyrsa --san=DNS:server build-server-full server nopass
  5. Generare il certificato e la chiave client.

    Salvare il certificato e la chiave privata client perché saranno necessari quando si configura il client.

    $ ./easyrsa build-client-full client1.domain.tld nopass

    Facoltativamente, è possibile ripetere questa fase per ogni client (utente finale) che richiede un certificato client e una chiave.

  6. Copiare il certificato e la chiave server e il certificato e la chiave client in una cartella personalizzata e quindi passare alla cartella personalizzata.

    Prima di copiare i certificati e le chiavi, creare la cartella personalizzata utilizzando il comando mkdir. Nell'esempio seguente viene creata una cartella personalizzata nella directory home.

    $ mkdir ~/custom_folder/ $ cp pki/ca.crt ~/custom_folder/ $ cp pki/issued/server.crt ~/custom_folder/ $ cp pki/private/server.key ~/custom_folder/ $ cp pki/issued/client1.domain.tld.crt ~/custom_folder $ cp pki/private/client1.domain.tld.key ~/custom_folder/ $ cd ~/custom_folder/
  7. Carica il certificato e la chiave server e il certificato e la chiave client in ACM. Assicurati di caricarli nella stessa regione in cui desideri creare l'endpoint Client VPN. I seguenti comandi utilizzano l'interfaccia a riga di comando di AWS CLI per caricare i certificati. Per caricare i certificati utilizzando la console ACM, consulta Importazione di un certificato nella Guida per l'utente di AWS Certificate Manager .

    $ aws acm import-certificate --certificate fileb://server.crt --private-key fileb://server.key --certificate-chain fileb://ca.crt
    $ aws acm import-certificate --certificate fileb://client1.domain.tld.crt --private-key fileb://client1.domain.tld.key --certificate-chain fileb://ca.crt

    Non è necessario caricare il certificato client su ACM. Se i certificati server e client sono stati emessi dalla stessa certification authority (CA), quando crei l'endpoint Client VPN sarà possibile utilizzare l'ARN del certificato server sia per il server che per il client. Nei passaggi precedenti, per creare entrambi i certificati è stata utilizzata la stessa CA. Tuttavia, per completezza sono stati inclusi i passaggi per caricare il certificato client.

Windows

La procedura seguente installa il software Easy-RSA 3.x e lo utilizza per generare i certificati e le chiavi server e client.

Per generare i certificati e le chiavi server e client e caricarli in ACM
  1. Apri la pagina delle versioni di EasyRSA e scarica il file ZIP della tua versione di Windows ed estrailo.

  2. Apri un prompt dei comandi e passa alla posizione in cui è stata estratta la cartella EasyRSA-3.x.

  3. Eseguire il comando seguente per aprire la shell di EasyRSA 3.

    C:\Program Files\EasyRSA-3.x> .\EasyRSA-Start.bat
  4. Inizializzare un nuovo ambiente PKI.

    # ./easyrsa init-pki
  5. Per creare una nuova autorità di certificazione (CA), eseguire questo comando e seguire le istruzioni.

    # ./easyrsa build-ca nopass
  6. Generare il certificato e la chiave server.

    # ./easyrsa --san=DNS:server build-server-full server nopass
  7. Generare il certificato e la chiave client.

    # ./easyrsa build-client-full client1.domain.tld nopass

    Facoltativamente, è possibile ripetere questa fase per ogni client (utente finale) che richiede un certificato client e una chiave.

  8. Uscire dalla shell EasyRSA 3.

    # exit
  9. Copiare il certificato e la chiave server e il certificato e la chiave client in una cartella personalizzata e quindi passare alla cartella personalizzata.

    Prima di copiare i certificati e le chiavi, creare la cartella personalizzata utilizzando il comando mkdir. Nell'esempio seguente viene creata una cartella personalizzata nell'unità C:\.

    C:\Program Files\EasyRSA-3.x> mkdir C:\custom_folder C:\Program Files\EasyRSA-3.x> copy pki\ca.crt C:\custom_folder C:\Program Files\EasyRSA-3.x> copy pki\issued\server.crt C:\custom_folder C:\Program Files\EasyRSA-3.x> copy pki\private\server.key C:\custom_folder C:\Program Files\EasyRSA-3.x> copy pki\issued\client1.domain.tld.crt C:\custom_folder C:\Program Files\EasyRSA-3.x> copy pki\private\client1.domain.tld.key C:\custom_folder C:\Program Files\EasyRSA-3.x> cd C:\custom_folder
  10. Carica il certificato e la chiave server e il certificato e la chiave client in ACM. Assicurati di caricarli nella stessa regione in cui desideri creare l'endpoint Client VPN. I seguenti comandi utilizzano il AWS CLI per caricare i certificati. Per caricare i certificati utilizzando la console ACM, consulta Importazione di un certificato nella Guida per l'utente di AWS Certificate Manager .

    aws acm import-certificate --certificate fileb://server.crt --private-key fileb://server.key --certificate-chain fileb://ca.crt
    aws acm import-certificate --certificate fileb://client1.domain.tld.crt --private-key fileb://client1.domain.tld.key --certificate-chain fileb://ca.crt

    Non è necessario caricare il certificato client su ACM. Se i certificati server e client sono stati emessi dalla stessa certification authority (CA), quando crei l'endpoint Client VPN sarà possibile utilizzare l'ARN del certificato server sia per il server che per il client. Nei passaggi precedenti, per creare entrambi i certificati è stata utilizzata la stessa CA. Tuttavia, per completezza sono stati inclusi i passaggi per caricare il certificato client.

Rinnovo del certificato del server

È possibile rinnovare e importare un certificato del server scaduto con la procedura seguente.

  1. Esecuzione del comando di rinnovo del certificato.

    $ ./easyrsa renew server nopass
  2. Crea una cartella personalizzata, copia i nuovi file, quindi accedi alla cartella.

    $ mkdir ~/custom_folder2 $ cp pki/ca.crt ~/custom_folder2/ $ cp pki/issued/server.crt ~/custom_folder2/ $ cp pki/private/server.key ~/custom_folder2/ $ cd ~/custom_folder2/
  3. Importa i nuovi file in ACM. Assicurati di importarli nella stessa regione dell'endpoint client VPN.

    $ aws acm import-certificate --certificate fileb://server.crt --private-key fileb://server.key --certificate-chain fileb://ca.crt