Introduzione
In questo documento viene descritto come sostituire i certificati SSL autofirmati nei cluster Hyperflex con certificati di terze parti.
Prerequisiti
Requisiti
Cisco raccomanda la conoscenza dei seguenti argomenti:
- Informazioni di base sui certificati SSL.
- Comprensione di base della riga di comando di Linux.
- Operazioni cluster Hyperflex.
Componenti usati
Le informazioni fornite in questo documento si basano su:
Hyperflex Data Platform
(HXDP) 5.0(2a) e versioni successive
Le informazioni discusse in questo documento fanno riferimento a dispositivi usati in uno specifico ambiente di emulazione. Su tutti i dispositivi menzionati nel documento la configurazione è stata ripristinata ai valori predefiniti. Se la rete è operativa, valutare attentamente eventuali conseguenze derivanti dall'uso dei comandi.
Premesse
Nella distribuzione di Cisco HyperFlex, viene generato un insieme di certificati locali tra i componenti per consentire le comunicazioni attendibili.
Se nelle organizzazioni è già presente un'autorità di certificazione, è consigliabile sostituire i certificati SSL predefiniti con i propri certificati.
SPrima di provare la configurazione, verificare di disporre dei seguenti requisiti :
- Server Autorità di certificazione
- Computer Linux
Configurazione
Passaggio 1. Creare una copia di openssl.cnf
Connettersi a Hyperflex Cluster Management IP (CMIP) utilizzando SSH come utente amministrativo e quindi passare a diag.
HyperFlex StorageController 5.0(2a)
admin @ X.X.X.X's password:
This is a Restricted shell.
Type '?' or 'help' to get the list of allowed commands.
hxshell:~$ su diag
Password:
_____ _ _____ _ ___ ____
| ___(_)_ _____ _ |_ _| |__ _ __ ___ ___ _ / _ \ _ __ ___ / ___| _____ _____ _ __
| |_ | \ \ / / _ \ _| |_ | | | '_ \| '__/ _ \/ _ \ _| |_ | | | | '_ \ / _ \ _____ \___ \ / _ \ \ / / _ \ '_ \
| _| | |\ V / __/ |_ _| | | | | | | | | __/ __/ |_ _| | |_| | | | | __/ |_____| ___) | __/\ V / __/ | | |
|_| |_| \_/ \___| |_| |_| |_| |_|_| \___|\___| |_| \___/|_| |_|\___| |____/ \___| \_/ \___|_| |_|
Enter the output of above expression: 2
Valid captcha
diag#
Nota: dalla versione 5.0(2a), diag user è disponibile per consentire agli utenti di avere più privilegi. Se il cluster è nella versione 4.5, contattare Cisco TAC per completare questa procedura.
Creare una directory nella cartella /tmp
Nell'esempio, questo nome è ssl.
diag# mkdir /tmp/ssl
Modificare le autorizzazioni per la directory.
diag# chmod 777 /tmp/ssl
Creare una copia di openssl.cnf
Nell'esempio, il nome della copia di openssl.cnf è openssl-san.cnf.
diag# cp /etc/ssl/openssl.cnf /tmp/ssl/openssl-san.cnf
diag# ls -l /tmp/ssl/
total 12
-rwxr-xr-x 1 diag diag 10835 Aug 3 21:39 openssl-san.cnf
Passaggio 2. Modifica file openssl-san.cnf
Creare una directory sul computer Linux locale per copiare il contenuto openssl-san.cnf da CMIP.
Modificare il contenuto del file sul computer Linux.
Nota: openssl-san.cnf può essere modificato in SCVM con vi.
Rimuovere il commento dalla riga delle estensioni richieste nella sezione [ req ].
Rimuovere il simbolo # dalla riga.
Aggiungere il nome alternativo del soggetto (SAN) nella sezione [ v3_req ].
Aggiungere le linee SAN nella sezione [ v3_req ]. Accertarsi di aggiungere tutte le macchine virtuali (SCVM) del controller di archiviazione e il nome di dominio completo (FQDN) del cluster Hyperflex.
Nota: Chrome non supporta più l'uso del nome comune e ora richiede la presenza di nomi alternativi soggetto (SAN) nel certificato.
Nota: il server DNS deve risolvere tutti gli SCVM nel cluster.
Passaggio 3. Crea il certificato
Passaggio 3a. Creazione di CSR
Dal computer Linux eseguire il comando:
openssl req -nodes -newkey rsa:2048 -keyout /
/
.key -out /
/
.csr -config /
/openssl-san.cnf
user$ openssl req -nodes -newkey rsa:2048 -keyout /Users/user/Documents/SpringpathController5NQ1FDLLEH.key -out /Users/user/Documents/SpringpathController5NQ1FDLLEH.csr -config /Users/user/Documents/openssl-san.cnf
Generating a 2048 bit RSA private key
..........................+++++
.....................................................................................................+++++
writing new private key to '/tmp/ssl/SpringpathControllerM7L9J9RO04.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:MX
State or Province Name (full name) [Some-State]:CDMX
Locality Name (eg, city) []:Benito Juarez
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Cisco Systems
Organizational Unit Name (eg, section) []:TAC
Common Name (e.g. server FQDN or YOUR name) []:Monterrey.mxsvlab.com
Email Address []:
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:Cisco Systems
Dopo l'esecuzione del comando vengono generati due file: .key e .csr.
user$ ls -l
total 54
-rw-r--r--@ 1 user staff 1549 Aug 3 14:24 SpringpathControllerM7L9J9RO04.csr
-rw-r--r-- 1 user staff 1704 Aug 3 14:24 SpringpathControllerM7L9J9RO04.key
-rw-r--r-- 1 user staff 11193 Aug 3 14:19 openssl-san.cnf
Passaggio 3b. Crea un certificato da Autorità di certificazione (CA)
Passare a http://<CA-IP>/certsrv/certrqxt.asp
Copiare il contenuto di <Nome host del file CVM>.csr e incollarlo nell'Autorità di certificazione (CA).
Selezionare Server Web in Modello di certificato.
Digitare ALT Names nel formato successivo in Attributi.
san:dns=
&dns=
&dns=
&dns=
Fare clic su Invia per generare il certificato come file .cer
Nota: verificare che il tipo di certificato sia un server Web e che il campo Attributi disponga di nomi ALT.
Nota: il contenuto del CSR X.509 viene immesso dall'utente. Non sono disponibili controlli back-end sul contenuto della voce. Se si specificano i [più] nomi host o IP dei nodi come nomi alternativi soggetto oppure se si utilizza il carattere jolly per specificare il nome host per il nome comune, è possibile utilizzare un unico certificato per tutti i nodi
Passaggio 4. Convertire il certificato da cer a crt
Copiare il certificato .cer sul computer Linux locale
Nel computer Linux locale, eseguire il comando:
openssl x509 -inform PEM -in certnew.cer -out certnew.crt
user$ openssl x509 -inform PEM -in certnew.cer -out certnew.crt
user$ ls -l
total 56
-rw-r--r--@ 1 user staff 1549 Aug 3 14:24 SpringpathControllerM7L9J9RO04.csr
-rw-r--r-- 1 user staff 1704 Aug 3 14:24 SpringpathControllerM7L9J9RO04.key
-rw-r--r--@ 1 user staff 2380 Aug 3 15:03 certnew.cer
-rw-r--r-- 1 user staff 2342 Aug 3 15:04 certnew.crt
-rw-r--r-- 1 user staff 11193 Aug 3 14:19 openssl-san.cnf
Passaggio 5. Importare il certificato.
Caricare i file .key e .crt dalla VM Linux locale su /tmp/ssl sul CMIP.
Nota: è possibile utilizzare SCP per copiare i file in SCVM
diag# ls -l
total 20
-rw-r--r-- 1 admin springpath 1704 Aug 3 22:46 SpringpathControllerM7L9J9RO04.key
-rw-r--r-- 1 admin springpath 2342 Aug 3 22:46 certnew.crt
-rwxr-xr-x 1 diag diag 10835 Aug 3 21:39 openssl-san.cnf
Esegui questo comando
diag# /usr/share/springpath/storfs-misc/hx-scripts/certificate_import_input.sh
Enter the path for the key: /tmp/ssl/SpringpathControllerM7L9J9RO04.key
Enter the path for the certificate in crt format: /tmp/ssl/certnew.crt
Successfully installed certificate
The cluster needs to be re-registered with vCenter for the certificate import to be completed.
Do you want to continue with re-registration? (y/n): y
Enter vCenter username (user@domain): administrator @ vsphere.local
Enter vCenter Password:
Trying to retrieve vCenter information ....
Cluster re-registration in progress ....
Cluster re-registered successfully with vCenter !!
Nota: è necessaria una nuova registrazione di vCenter. Inviare le credenziali dell'amministratore.
Verifica
Confermare di disporre di una connessione protetta dopo l'importazione del certificato.
Risoluzione dei problemi
Certificato non valido tramite IP.
L'utilizzo di SCVM IP non dispone di una connessione protetta in quanto il certificato viene generato con FQDN.
Quando si utilizza FQDN si dispone di una connessione protetta.
Informazioni correlate