Impostazione dell'autenticazione da client a sito
Configurare le impostazioni di autenticazione per il server VPN e i client VPN. I certificati vengono gestiti mediante IBM Cloud® Secrets Manager.
Creazione di un'autorizzazione service - to - service IAM
Per creare un'autorizzazione IAM da servizio a servizio per il server VPN e IBM Cloud Secrets Manager, procedere come segue:
Puoi anche configurare l'autorizzazione service - to - service IAM nella pagina di provisioning del server VPN o utilizzare il pannello laterale di autorizzazione Modifica.
- Dalla console IBM Cloud, vai alla pagina Gestisci autorizzazioni e fai clic su Crea.
- Seleziona VPC Infrastructure Services dal menu. Quindi, selezionare Risorsa basata sugli attributi selezionati.
- Seleziona Tipo di risorsa > Client VPN for VPC.
- Per il servizio di destinazione, selezionare Secrets Manager.
- Mantenere Tutte le risorse selezionate. Quindi, selezionare la casella di spunta SecretsReader.
- Fai clic su Autorizza.
Gestione dei certificati client e server VPN
Importazione di un certificato in Secrets Manager
La seguente procedura utilizza OpenVPN easy - rsa per generare il server VPN e i certificati client e quindi importa questi certificati in Secrets Manager. Per ulteriori informazioni, consultare Easy - RSA 3 Quickstart README.
-
Clona il repository Easy - RSA 3 nella tua cartella locale:
git clone https://github.com/OpenVPN/easy-rsa.git cd easy-rsa/easyrsa3
-
Creare una PKI (Public Key Infrastructure) e una CA (Certificate Authority):
./easyrsa init-pki ./easyrsa build-ca nopass
Verificare che il certificato CA sia generato nel percorso
./pki/ca.crt
. Come descritto nella sezione successiva, quando si importano i certificati del server o del client in Secrets Manager, il certificato utilizzato per firmare altri certificati sarà richiesto come certificato intermedio. -
Generare un certificato del server VPN:
./easyrsa build-server-full vpn-server.vpn.ibm.com nopass
Verificare che la chiave pubblica del server VPN sia generata nel percorso
./pki/issued/vpn-server.vpn.ibm.com.crt
e che la chiave privata sia nel percorso./pki/private/vpn-server.vpn.ibm.com.key
. -
Genera un certificato client VPN:
./easyrsa build-client-full client1.vpn.ibm.com nopass
Verificare che la chiave pubblica client VPN sia generata nel percorso
./pki/issued/client1.vpn.ibm.com.crt
e che la chiave privata sia nel percorso./pki/private/client1.vpn.ibm.com.key
. -
Se hai bisogno di creare più certificati client VPN, ripeti il passo 4.
Considerazioni importanti:
-
Nell'esempio precedente, i certificati client e server VPN sono firmati dalla stessa CA. Per utilizzare diverse CA per firmare il certificato client, copiare la cartella
easyrsa3
in un nuovo percorso e seguire i passi 2 e 4. -
Se già si dispone del certificato del server VPN da altre CA, assicurarsi che il certificato abbia l'utilizzo della chiave estesa:
TLS Web Client Authentication
. È possibile utilizzare il seguente comando per controllare le informazioni sul certificato in base al contenuto del file di certificato codificatocat YOUR-CERTIFICATE-FILE | openssl x509 -noout -text
. -
Se il certificato viene utilizzato come certificato client VPN per autenticare il client, è necessario caricare il File certificato e il File certificato intermedio. Ad esempio, se si utilizzano certificati client differenti per autenticare utenti differenti, assicurarsi che questi certificati siano firmati dalla stessa CA e che sia stato caricato uno dei certificati client (solo File certificato e File certificato intermedio ) in Secrets Manager.
È possibile utilizzare una catena di CA per raggruppare i certificati (CA intermedia 1, CA intermedia 2 e CA root) in un unico file e caricarli nel file di certificazione intermedio. Inoltre, tenere presente che è possibile creare più certificati client offline utilizzando la stessa CA senza dover caricare i certificati in Secrets Manager.
Importazione dei certificati del server VPN in Secrets Manager
Per importare certificati server VPN in Secrets Manager, attenersi alla seguente procedura:
-
Se non si dispone già di un'istanza di Secrets Manager, andare alla pagina Secrets Manager. Quindi, completare le informazioni e fare clic su Crea per creare un'istanza Secrets Manager.
Per ulteriori informazioni, consultare l'ordine dei certificati per Secrets Manager.
-
Nella console, fare clic sull'icona
menu Navigazione > Elenco risorse > Sicurezza
-
Dall'elenco dei servizi, selezionare l'istanza di Secrets Manager.
-
Nella tabella Segreti, fare clic su Aggiungi.
-
Fare clic su Certificato importato, quindi su Avanti.
-
Per importare il certificato, procedere come segue:
- Aggiungete un nome e una descrizione per identificare facilmente il vostro segreto.
- Selezionare il gruppo di segreti che si desidera assegnare al segreto.
- Opzionale: Aggiungere etichette per facilitare la ricerca di segreti simili nella propria istanza.
- Opzionale: Aggiungere metadati al segreto o a una versione specifica del segreto.
- Fare clic su Avanti e selezionare il riquadro Importa un certificato.
- Fare clic su Sfoglia e selezionare
./pki/issued/vpn-server.vpn.ibm.com.crt
come file di certificato. - Fare clic su Sfoglia e selezionare
./pki/private/vpn-server.vpn.ibm.com.key
come chiave privata del certificato. - Fare clic su Sfoglia e selezionare
./pki/ca.crt
come certificato intermedio. - Fai clic su Next.
- Esaminare i dettagli del certificato e fare clic su Aggiungi.
Per ulteriori informazioni, vedi Importazione dei tuoi certificati esistenti.
Considerazioni importanti:
-
In questo esempio, i certificati client e server VPN sono firmati dalla stessa CA, quindi è necessario caricare solo il certificato server VPN. È inoltre necessario utilizzare il certificato come certificato server VPN e autenticare il client VPN. Se il tuo server VPN e il tuo certificato client sono firmati da diverse CA, devi caricarli separatamente.
-
Se è stato aggiornato il certificato in Secrets Manager, il server VPN non è a conoscenza dell'aggiornamento del certificato. È necessario reimportare il certificato con un CRN diverso, quindi aggiornare il server VPN con il nuovo certificato CRN.
-
Se il certificato viene utilizzato come certificato del server VPN, devi caricare il File del certificato, il File della chiave privata e il File del certificato intermedio. Se il certificato viene utilizzato come certificato client VPN per autenticare il client, è necessario caricare il File certificato e il File certificato intermedio.
È possibile utilizzare una catena di CA per raggruppare i certificati (CA intermedia 1, CA intermedia 2 e CA root) in un unico file e caricarli nel file di certificazione intermedio.
Ordinazione di un certificato pubblico utilizzando Secrets Manager
Puoi utilizzare Secrets Manager per ordinare un certificato SSL/TLS pubblico come certificato del server VPN. Poiché il certificato root della CA pubblica non è memorizzato in Secrets Manager, Secrets Manager memorizza solo i certificati intermedi.
Sono necessari i certificati di root di Let's Encrypt, salvati come file .pem
. I due file richiesti si trovano in https://letsencrypt.org/certs/lets-encrypt-r3.pem e https://letsencrypt.org/certs/isrgrootx1.pem. Questi file sono stati concatenati per comodità; tuttavia, per motivi di sicurezza, si consiglia
di scaricare e concatenare il certificato root in un file. Inoltre, quando si scarica e si aggiorna il profilo del client VPN, utilizzare questo certificato root per sostituire la sezione <ca>
nel profilo del client.
Per ulteriori informazioni sulla catena di certificati Let' s Encrypt, vedi https://letsencrypt.org/certificates/.
-----BEGIN CERTIFICATE-----
MIIFFjCCAv6gAwIBAgIRAJErCErPDBinU/bWLiWnX1owDQYJKoZIhvcNAQELBQAw
TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh
cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMjAwOTA0MDAwMDAw
WhcNMjUwOTE1MTYwMDAwWjAyMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNTGV0J3Mg
RW5jcnlwdDELMAkGA1UEAxMCUjMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
AoIBAQC7AhUozPaglNMPEuyNVZLD+ILxmaZ6QoinXSaqtSu5xUyxr45r+XXIo9cP
R5QUVTVXjJ6oojkZ9YI8QqlObvU7wy7bjcCwXPNZOOftz2nwWgsbvsCUJCWH+jdx
sxPnHKzhm+/b5DtFUkWWqcFTzjTIUu61ru2P3mBw4qVUq7ZtDpelQDRrK9O8Zutm
NHz6a4uPVymZ+DAXXbpyb/uBxa3Shlg9F8fnCbvxK/eG3MHacV3URuPMrSXBiLxg
Z3Vms/EY96Jc5lP/Ooi2R6X/ExjqmAl3P51T+c8B5fWmcBcUr2Ok/5mzk53cU6cG
/kiFHaFpriV1uxPMUgP17VGhi9sVAgMBAAGjggEIMIIBBDAOBgNVHQ8BAf8EBAMC
AYYwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMBMBIGA1UdEwEB/wQIMAYB
Af8CAQAwHQYDVR0OBBYEFBQusxe3WFbLrlAJQOYfr52LFMLGMB8GA1UdIwQYMBaA
FHm0WeZ7tuXkAXOACIjIGlj26ZtuMDIGCCsGAQUFBwEBBCYwJDAiBggrBgEFBQcw
AoYWaHR0cDovL3gxLmkubGVuY3Iub3JnLzAnBgNVHR8EIDAeMBygGqAYhhZodHRw
Oi8veDEuYy5sZW5jci5vcmcvMCIGA1UdIAQbMBkwCAYGZ4EMAQIBMA0GCysGAQQB
gt8TAQEBMA0GCSqGSIb3DQEBCwUAA4ICAQCFyk5HPqP3hUSFvNVneLKYY611TR6W
PTNlclQtgaDqw+34IL9fzLdwALduO/ZelN7kIJ+m74uyA+eitRY8kc607TkC53wl
ikfmZW4/RvTZ8M6UK+5UzhK8jCdLuMGYL6KvzXGRSgi3yLgjewQtCPkIVz6D2QQz
CkcheAmCJ8MqyJu5zlzyZMjAvnnAT45tRAxekrsu94sQ4egdRCnbWSDtY7kh+BIm
lJNXoB1lBMEKIq4QDUOXoRgffuDghje1WrG9ML+Hbisq/yFOGwXD9RiX8F6sw6W4
avAuvDszue5L3sz85K+EC4Y/wFVDNvZo4TYXao6Z0f+lQKc0t8DQYzk1OXVu8rp2
yJMC6alLbBfODALZvYH7n7do1AZls4I9d1P4jnkDrQoxB3UqQ9hVl3LEKQ73xF1O
yK5GhDDX8oVfGKF5u+decIsH4YaTw7mP3GFxJSqv3+0lUFJoi5Lc5da149p90Ids
hCExroL1+7mryIkXPeFM5TgO9r0rvZaBFOvV2z0gp35Z0+L4WPlbuEjN/lxPFin+
HlUjr8gRsI3qfJOQFy/9rKIJR0Y/8Omwt/8oTWgy1mdeHmmjk7j1nYsvC9JSQ6Zv
MldlTTKB3zhThV1+XWYp6rjd5JW1zbVWEkLNxE7GJThEUG3szgBVGP7pSWTUTsqX
nLRbwHOoq7hHwg==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIFazCCA1OgAwIBAgIRAIIQz7DSQONZRGPgu2OCiwAwDQYJKoZIhvcNAQELBQAw
TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh
cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMTUwNjA0MTEwNDM4
WhcNMzUwNjA0MTEwNDM4WjBPMQswCQYDVQQGEwJVUzEpMCcGA1UEChMgSW50ZXJu
ZXQgU2VjdXJpdHkgUmVzZWFyY2ggR3JvdXAxFTATBgNVBAMTDElTUkcgUm9vdCBY
MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK3oJHP0FDfzm54rVygc
h77ct984kIxuPOZXoHj3dcKi/vVqbvYATyjb3miGbESTtrFj/RQSa78f0uoxmyF+
0TM8ukj13Xnfs7j/EvEhmkvBioZxaUpmZmyPfjxwv60pIgbz5MDmgK7iS4+3mX6U
A5/TR5d8mUgjU+g4rk8Kb4Mu0UlXjIB0ttov0DiNewNwIRt18jA8+o+u3dpjq+sW
T8KOEUt+zwvo/7V3LvSye0rgTBIlDHCNAymg4VMk7BPZ7hm/ELNKjD+Jo2FR3qyH
B5T0Y3HsLuJvW5iB4YlcNHlsdu87kGJ55tukmi8mxdAQ4Q7e2RCOFvu396j3x+UC
B5iPNgiV5+I3lg02dZ77DnKxHZu8A/lJBdiB3QW0KtZB6awBdpUKD9jf1b0SHzUv
KBds0pjBqAlkd25HN7rOrFleaJ1/ctaJxQZBKT5ZPt0m9STJEadao0xAH0ahmbWn
OlFuhjuefXKnEgV4We0+UXgVCwOPjdAvBbI+e0ocS3MFEvzG6uBQE3xDk3SzynTn
jh8BCNAw1FtxNrQHusEwMFxIt4I7mKZ9YIqioymCzLq9gwQbooMDQaHWBfEbwrbw
qHyGO0aoSCqI3Haadr8faqU9GY/rOPNk3sgrDQoo//fb4hVC1CLQJ13hef4Y53CI
rU7m2Ys6xt0nUW7/vGT1M0NPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV
HRMBAf8EBTADAQH/MB0GA1UdDgQWBBR5tFnme7bl5AFzgAiIyBpY9umbbjANBgkq
hkiG9w0BAQsFAAOCAgEAVR9YqbyyqFDQDLHYGmkgJykIrGF1XIpu+ILlaS/V9lZL
ubhzEFnTIZd+50xx+7LSYK05qAvqFyFWhfFQDlnrzuBZ6brJFe+GnY+EgPbk6ZGQ
3BebYhtF8GaV0nxvwuo77x/Py9auJ/GpsMiu/X1+mvoiBOv/2X/qkSsisRcOj/KK
NFtY2PwByVS5uCbMiogziUwthDyC3+6WVwW6LLv3xLfHTjuCvjHIInNzktHCgKQ5
ORAzI4JMPJ+GslWYHb4phowim57iaztXOoJwTdwJx4nLCgdNbOhdjsnvzqvHu7Ur
TkXWStAmzOVyyghqpZXjFaH3pO3JLF+l+/+sKAIuvtd7u+Nxe5AW0wdeRlN8NwdC
jNPElpzVmbUq4JUagEiuTDkHzsxHpFKVK7q4+63SM1N95R1NbdWhscdCb+ZAJzVc
oyi3B43njTOQ5yOf+1CceWxG1bQVs5ZufpsMljq4Ui0/1lvh+wjChP4kqKOJ2qxq
4RgqsahDYVvTH9w7jXbyLeiNdd8XM2w9U/t7y0Ff/9yi0GE44Za4rF2LN9d11TPA
mRGunUHBcnWEvgJBQl9nJEiU0Zsnvgc/ubhPgXRR4Xq37Z0j4r7g1SgEEzwxA57d
emyPxgcYxn/eR44/KJ4EBs+lVDR3veyJm+kXQ99b21/+jh5Xos1AnX5iItreGCc=
-----END CERTIFICATE-----
I certificati ordinati sono certificati SSL/TLS pubblici e devono essere utilizzati solo come certificato server VPN. Non è possibile utilizzare i certificati ordinati per autenticare i client VPN per i seguenti motivi:
- Chiunque può ordinare un nuovo certificato da una CA pubblica. Quindi, possono passare l'autenticazione se utilizzi i certificati SSL/TLS pubblici per autenticare il tuo client VPN.
- Non è possibile creare un CRL (Certificate Revocation List) per revocare un certificato client VPN con una CA pubblica.
Devi creare la tua CA e importare il certificato CA in Secrets Manager per autenticare il tuo client VPN.
Utilizzo di un certificato privato
Puoi utilizzare un certificato privato Secrets Manager nel tuo server VPN. Esaminare le seguenti considerazioni importanti:
-
Tutte le CA in una catena di CA devono essere contenute in un'istanza Secrets Manager. Inoltre, devi creare la CA root all'interno di Secrets Manager. Quando selezioni una CA intermedia, le seguenti opzioni sono obbligatorie per assicurarti che ogni CA possa essere trovata mentre viene verificata la catena di CA di un certificato privato nel tuo server VPN:
- Nella sezione Tipo, è necessario selezionare Firma interna.
- Nella sezione Tipo, è necessario attivare l'interruttore Codifica URL quando si crea una CA per codificare l' URL del certificato emittente nei certificati dell'entità finale. Non funziona se si attiva l'interruttore Encode URL dopo la creazione della CA.
-
Il numero massimo di CA in una catena CA di certificati privati è 11 (una CA root e 10 CA intermedie al massimo).
-
Nella sezione CRL (Certificate Revocation List), abilitare entrambi gli switch Creazione CRL e Punti di distribuzione CRL se si desidera utilizzare il CRL CA di un certificato privato. Un certificato revocato non è più considerato attendibile dalle applicazioni dopo un'ora.
-
Il CRL CA funziona solo se non carichi un CRL (Certificate Revocation List) quando crei un server VPN. Non è necessario abilitare un CRL CA se il CRL del server VPN è già caricato.
-
Durante la creazione di un template per una CA intermedia, nella sezione Ruoli certificato:
- Selezionare la casella di spunta Utilizza certificati per il server se la CA creata firmerà il certificato del server per il server VPN.
- Selezionare la casella di spunta Utilizza certificati per client se la CA creata firmerà il certificato client per il server VPN.
- Selezionare entrambe le caselle di spunta Utilizza certificati per il server e Utilizza certificati per il client se la CA creata firmerà sia i certificati server che client per il server VPN.
-
Assicurati che ogni CA abbia un nome comune univoco nella catena CA mentre la crei nell'istanza Secrets Manager.
Per ulteriori informazioni, vedi Creazione di certificati privati nella documentazione di Secrets Manager.
Individuazione del CRN del certificato
Quando configuri l'autenticazione per un server VPN da client a sito durante il provisioning utilizzando l'IU, puoi scegliere di specificare il certificato Secrets Manager e SSL o il CRN del certificato. È possibile eseguire questa operazione se non è possibile visualizzare Secrets Manager nel menu, il che significa che non si dispone dell'accesso all'istanza di Secrets Manager. Tieni presente che è necessario immettere il CRN se si utilizza l'API per creare un server VPN da client a sito.
Per ottenere il CRN, devi disporre dell'autorizzazione per accedere all'istanza di Secrets Manager.
Per trovare il CRN di un certificato, seguire queste istruzioni:
- Nella console IBM Cloud, andare su Menu di navigazione, icona
> Elenco risorse**.
- Fare clic per espandere Sicurezza, quindi selezionare il Secrets Manager per cui si desidera trovare il CRN.
- Selezionare un punto qualsiasi nella riga della tabella del certificato per aprire il pannello laterale dei dettagli del certificato. Il CRN del certificato è elencato nel pannello laterale.
Configurazione di ID utente e codici di accesso
Per configurare l'autenticazione per gli utenti client VPN, attenersi alla seguente procedura:
-
L'amministratore VPN invita l'utente del client VPN all'account in cui risiede il server VPN.
-
L'amministratore VPN assegna all'utente client VPN un'autorizzazione IAM. Questa autorizzazione consente a questo utente di connettersi al server VPN. Per ulteriori informazioni, vedi Creazione di un gruppo di accesso IAM e concessione del ruolo per la connessione al server VPN.
-
L'utente del client VPN apre il seguente sito Web per creare un passcode per il proprio ID utente:
https://iam.cloud.ibm.com/identity/passcode
-
L'utente client VPN immette il codice di accesso sul proprio client openVPN e avvia la connessione al server VPN. Per ulteriori informazioni, vedere Impostazione di un ambiente VPN client e connessione a un server VPN.