Introdução
Este documento descreve como substituir Certificados SSL Autoassinados em clusters Hyperflex por certificados de terceiros.
Pré-requisitos
Requisitos
A Cisco recomenda que você tenha conhecimento destes tópicos:
- Noções básicas sobre certificados SSL.
- Compreensão básica da linha de comando do Linux.
- Operações de Cluster Hyperflex.
Componentes Utilizados
As informações neste documento são baseadas em:
Hyperflex Data Platform
(HXDP) 5.0.(2a) e posterior
As informações neste documento foram criadas a partir de dispositivos em um ambiente de laboratório específico. Todos os dispositivos utilizados neste documento foram iniciados com uma configuração (padrão) inicial. Se a rede estiver ativa, certifique-se de que você entenda o impacto potencial de qualquer comando.
Informações de Apoio
Na implantação do Cisco HyperFlex, um conjunto de certificados locais é gerado entre os componentes para permitir uma comunicação confiável.
Se suas organizações já tiverem uma autoridade de certificação em vigor, é recomendável substituir os certificados SSL padrão por seus próprios certificados.
EVerifique se você tem esses requisitos antes de tentar essa configuração :
- Servidor da Autoridade de Certificação
- Máquina Linux
Configurar
Etapa 1. Crie uma cópia de openssl.cnf
Conecte-se ao Hyperflex Cluster Management IP (CMIP) usando SSH como um usuário administrativo e, em seguida, alterne para o usuário de diagnóstico.
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#
Observação: na versão 5.0(2a), o usuário de diagnóstico está disponível para permitir que os usuários tenham mais privilégios. Se o cluster estiver na versão 4.5, entre em contato com o Cisco TAC para concluir este procedimento.
Criar um diretório na pasta /tmp
Neste exemplo, ele se chama ssl.
diag# mkdir /tmp/ssl
Modifique as permissões do diretório.
diag# chmod 777 /tmp/ssl
Crie uma cópia de openssl.cnf
Neste exemplo, a cópia de openssl.cnf é nomeada como 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
Etapa 2. Editar arquivo openssl-san.cnf
Crie um diretório em sua máquina Linux local para copiar o conteúdo openssl-san.cnf do CMIP .
Edite o conteúdo do arquivo em sua Máquina Linux.
Observação: o openssl-san.cnf pode ser editado no SCVM com vi.
Remova o comentário da linha req-extensions na seção [ req ].
Remova o símbolo # da linha.
Adicione o SAN (nome alternativo do assunto) na seção [ v3_req ].
Adicione as linhas SAN na seção [ v3_req ]. Certifique-se de adicionar todas as Máquinas Virtuais do Controlador de Armazenamento (SCVMs) e o FQDN (Fully Qualified Domain Name, Nome de Domínio Totalmente Qualificado) do Cluster Hyperflex.
Observação: o Chrome não suporta mais o uso de Nome comum e agora exige que os Nomes alternativos de assunto (SAN) estejam presentes no certificado.
Observação: o servidor DNS deve resolver todos os SCVMs no cluster.
Etapa 3. Criar o certificado
Etapa 3a. Criar o CSR
Em sua máquina Linux, execute o 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
Dois arquivos são gerados após a execução do comando: .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
Etapa 3b. Criar um certificado da Autoridade de Certificação (CA)
Navegue até http://<CA-IP>/certsrv/certrqxt.asp
Copie o conteúdo do arquivo <Host Name of the CVM>.csr e cole-o em sua Autoridade de Certificação (CA).
Selecione Servidor Web em Modelo de certificado.
Digite Nomes ALT no próximo formato em Atributos.
san:dns=
&dns=
&dns=
&dns=
Clique em enviar para gerar o certificado como .cer arquivo
Observação: verifique se o tipo de certificado é um servidor Web e se o campo Atributos tem Nomes ALT.
Observação: o conteúdo do CSR X.509 é informado pelo usuário. Não há verificações de back-end no conteúdo da entrada. Se você especificar os [vários] nomes de host ou IPs dos nós como nomes alternativos do assunto, ou se você usar o caractere curinga para especificar o nome de host para o Nome comum, um único certificado poderá ser usado para todos os nós
Etapa 4. Converter o certificado de .cer para .crt
Copie o certificado .cer para o computador Linux local
Na máquina Linux local, execute o 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
Etapa 5. Importe o certificado.
Carregue os arquivos .key e .crt da sua VM Linux local para /tmp/ssl no CMIP.
Observação: você pode usar o SCP para copiar os arquivos para o 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
Executar 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 !!
Observação: o novo registro do vCenter é obrigatório. Enviar credenciais de administrador.
Verificar
Confirme se você tem uma conexão segura depois de importar o certificado.
Troubleshooting
O certificado não é válido usando IP.
O uso do IP de SCVMs não tem uma conexão segura, pois o certificado é gerado com FQDNs.
Ao usar o FQDN, você tem uma conexão segura.
Informações Relacionadas