Introducción
Este documento describe cómo reemplazar los certificados SSL de firma automática en clústeres Hyperflex por certificados de terceros.
Prerequisites
Requirements
Cisco recomienda que tenga conocimiento sobre estos temas:
- Comprensión básica de los certificados SSL.
- Comprensión básica de la línea de comandos de Linux.
- Operaciones de clúster de hiperflex.
Componentes Utilizados
La información de este documento se basa en:
Hyperflex Data Platform
(HXDP) 5.0.(2a) y superior
La información que contiene este documento se creó a partir de los dispositivos en un ambiente de laboratorio específico. Todos los dispositivos que se utilizan en este documento se pusieron en funcionamiento con una configuración verificada (predeterminada). Si tiene una red en vivo, asegúrese de entender el posible impacto de cualquier comando.
Antecedentes
En la implementación de Cisco HyperFlex, se genera un conjunto de certificados locales entre los componentes para permitir la comunicación de confianza.
Si su organización ya dispone de una autoridad de certificación, se recomienda que reemplace los certificados SSL predeterminados por sus propios certificados.
EAsegúrese de que tiene estos requisitos antes de intentar esta configuración :
- Servidor de autoridad certificadora
- Máquina Linux
Configurar
Paso 1. Crear una copia de openssl.cnf
Conéctese a la IP de administración de clústeres de hiperflex (CMIP) utilizando SSH como usuario administrativo y luego cambie a diag user.
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: A partir de la versión 5.0(2a), el usuario diag está disponible para permitir que los usuarios tengan más privilegios. Si el clúster está en la versión 4.5, póngase en contacto con el TAC de Cisco para completar este procedimiento.
Crear un directorio en la carpeta /tmp
En este ejemplo, se denomina ssl.
diag# mkdir /tmp/ssl
Modificar permisos de directorio.
diag# chmod 777 /tmp/ssl
Crear una copia de openssl.cnf
En este ejemplo, la copia de openssl.cnf se denomina 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
Paso 2. Editar archivo openssl-san.cnf
Cree un directorio en su equipo Linux local para copiar el contenido openssl-san.cnf de CMIP .
Edite el contenido del archivo en su equipo Linux.
Nota: openssl-san.cnf se puede editar en SCVM con vi.
Quite los comentarios de la línea de extensiones de solicitud en la sección [ req ].
Quite el símbolo # de la línea.
Agregue el nombre alternativo del sujeto (SAN) en la sección [ v3_req ].
Agregue las líneas SAN en la sección [ v3_req ]. Asegúrese de agregar todas las máquinas virtuales de controlador de almacenamiento (SCVM) y el nombre de dominio completo (FQDN) del clúster de hiperflex.
Nota: Chrome ya no admite el uso del nombre común y ahora requiere que los nombres alternativos del sujeto (SAN) estén presentes en el certificado.
Nota: El servidor DNS debe resolver todos los SCVM del clúster.
Paso 3. Crear el certificado
Paso 3a. Crear el CSR
Desde su máquina Linux ejecute el 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
Se generan dos archivos después de ejecutar el comando; .key y .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
Paso 3b. Crear un certificado de la Autoridad de certificación (CA)
Vaya a http://<CA-IP>/certsrv/certrqxt.asp
Copie el contenido del archivo <Nombre de host del CVM>.csr y péguelo en la autoridad de certificación (CA).
Seleccione Servidor Web en Plantilla de certificado.
Escriba los nombres ALT en el siguiente formato en Atributos.
san:dns=
&dns=
&dns=
&dns=
Haga clic en Enviar para generar el certificado como archivo .cer
Nota: Asegúrese de que el tipo de certificado es un servidor Web y de que el campo Atributos tiene Nombres ALT.
Nota: El usuario introduce el contenido de la CSR X.509. No hay comprobaciones en el motor del contenido de la entrada. Si especifica los [varios] nombres de host o direcciones IP de los nodos como nombres alternativos de sujeto, o si utiliza el carácter comodín para especificar el nombre de host para el nombre común, se puede utilizar un solo certificado para todos los nodos
Paso 4. Convertir el certificado de .cer a .crt
Copie el certificado .cer en su equipo Linux local
En su equipo Linux local, ejecute el 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
Paso 5. Importe el certificado.
Cargue los archivos .key y .crt de su máquina virtual Linux local a /tmp/ssl en el CMIP.
Nota: Puede utilizar SCP para copiar los archivos en el 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
Ejecutar este 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: es necesario volver a registrar vCenter. Envíe las credenciales del administrador.
Verificación
Confirme que dispone de una conexión segura después de importar el certificado.
Troubleshoot
El certificado no es válido usando IP.
El uso de IP de SCVM no tiene una conexión segura, ya que el certificado se genera con FQDN.
Cuando utiliza FQDN, dispone de una conexión segura.
Información Relacionada