Data Domain: Gerando CSR fora do DD
Summary: Este artigo da KB explica como usar um sistema externo para criar uma solicitação de assinatura de certificado e criar um certificado assinado por uma CA externa, para que o certificado resultante possa ser importado no Data Domain para uso em HTTP (GUI DD por meio de SSL) ...
Instructions
Na maioria dos casos, convém usar este artigo da KB para gerar a CSR e obter certificados importados:
Data Domain - Gerenciando certificados de host para HTTP e HTTPS
Em casos mais raros, esse KB é usado quando você não pode gerar a CSR no próprio DD.
A importação de um certificado assinado pela CA permite o acesso HTTPS ao Data Domain System Manager sem a necessidade de ignorar as verificações do navegador em busca de certificados não assinados por terceiros confiáveis. Depois que a primeira conexão SSL com a GUI do DD é estabelecida, o tráfego é igualmente protegido contra espionagem usando um certificado assinado externamente ou um certificado autoassinado. A empresa pode exigir que todos os hosts com acesso SSL tenham certificados assinados pela CA interna ou externa, por motivos de confiança.
Para criar esse certificado assinado externamente, há várias abordagens. O que recomendamos com o DD OS 6.2.0.35 e versões posteriores é usar o comando da CLI do DD "adminaccess certificate cert-signing-request generate" para criar uma solicitação de assinatura de certificado (CSR), que deve ser enviada à CA de sua escolha para assinatura. Em seguida, o certificado assinado é importado no DD para HTTPS. Todos os detalhes são vistos no artigo da base de conhecimento Data Domain: Como gerar uma solicitação de assinatura de certificado e usar certificados
assinados externamenteA outra abordagem seria usar um host separado na rede com um conjunto recente de bibliotecas OpenSSL e binários instalados para gerar a CSR a ser assinada. Depois que o certificado assinado for obtido, bit o certificado assinado e a chave privada associada do certificado serão transferidos manualmente para o DD e importá-lo dele. Este processo é o seguinte:
-
Faça log-in no Linux, UNIX ou outro servidor com o OpenSSL instalado e gere primeiro um par de chaves pública/privada. O DD gera chaves de 2048 bits por padrão, chaves de 1024 bits são desencorajadas e chaves de 4096 bits talvez sejam um pouco demais:
# openssl genrsa -out hostkey.pem 2048 Generating RSA private key, 2048 bit long modulus ........+++ ...+++ e is 65537 (0x10001)
-
Gere uma solicitação de assinatura de certificado (CSR) usando a chave privada produzida na primeira etapa e forneça detalhes na CSR a ser assinada, como nome comum, endereço de e-mail, país e cidade etc.
# openssl req -new -sha256 -key hostkey.pem -out host_csr.csr 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]:US State or Province Name (full name) [Some-State]:California Locality Name (eg, city) []:San Francisco Organization Name (eg, company) [Internet Widgits Pty Ltd]:Example Inc. Organizational Unit Name (eg, section) []:IT Department Common Name (e.g. server FQDN or YOUR name) []:www.example.com Email Address []:webmaster@example.com Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: An optional company name []:
Observe que, na maioria das instalações do OpenSSL, a extensão "subjectAltName", que é um requisito obrigatório de acordo com a RFC 3280, não é adicionada à CSR nem solicitada. Algumas ACs privadas e públicas podem se recusar a processar a RSE devido à falta dessa extensão. No caso de um certificado DD usado para a GUI, o "subjectAltName" deve ser o FQDN do DD ao ser acessado pelo navegador.
Para especificar um "subjetAltName" ao criar o CSR, se estiver usando OpenSSL 1.1.1, isso pode ser feito a partir da própria linha de comando "OpenSSL". Caso contrário, isso implica a alteração do arquivo /etc/ssl/openssl.cnf, que está além do escopo deste documento. Se estiver usando OpenSSL 1.1.1 ou posterior:
# openssl version OpenSSL 1.1.1 11 Sep 2018 # openssl req -new -sha256 -key hostkey.pem -out host_csr.csr -addext "subjectAltName = DNS:www.example.com" 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]:US State or Province Name (full name) [Some-State]:California Locality Name (eg, city) []:San Francisco Organization Name (eg, company) [Internet Widgits Pty Ltd]:Example Inc. Organizational Unit Name (eg, section) []:IT Department Common Name (e.g. server FQDN or YOUR name) []:www.example.com Email Address []:webmaster@example.com Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: An optional company name []:
-
Obtenha o arquivo de CSR "host_csr.csr" e carregue na CA correspondente para assinatura. Se a autoridade de certificação for interna, entregue-a ao administrador da autoridade de certificação ou assine-a por meio do processo normal (que precisaria usar uma linha de comando como a abaixo):
# openssl x509 -req -in host_csr.csr -CA CA/cacert.pem -CAkey CA/cakey.pem -out host_cert.pem -CAcreateserial Signature ok subject=/C=CH/ST=California/L=San Francisco/O=Example Inc./OU=IT Department/CN=www.example.com/emailAddress=webmaster@example.com Getting CA Private Key
# openssl x509 -in host_cert.pem -text -noout | grep -A1 "Subject Alternative Name" X509v3 Subject Alternative Name: DNS:www.example.com
- Em qualquer caso, o resultado normalmente será um arquivo de certificado codificado .pem ou .cer ("host_cert.pem" no exemplo). Para que o certificado seja importado no DD, ele deve ser agrupado em um formato PKCS#12 junto com a chave (privada) gerada na primeira etapa. No mesmo host em que a primeira etapa foi executada:
# openssl.exe pkcs12 -keypbe PBE-SHA1-3DES -certpbe PBE-SHA1-3DES -export -out host.p12 -inkey hostkey.pem -in host_cert.pem Enter Export Password: Verifying - Enter Export Password:
É essencial definir uma senha para o arquivo PKCS#12, caso contrário, a importação do certificado apresentará falha no Data Domain. A senha não será solicitada ao usar o Data Domain normalmente após a instalação da certificação. Os argumentos '-keypbe PBE-SHA1-3DES' e '-certpbe PBE-SHA1-3DES' são para garantir que o algoritmo compatível de "PBE-SHA1-3DES" seja usado ao modificar a CA. Isso evitará que o usuário final receba um erro ao tentar importar seu certificado assinado.
-
Copie o arquivo de certificado "host.p12" resultante para o diretório "/ddr/var/certificates/" no Data Domain (por exemplo, usando SCP para o DD).
- Antes de importar o certificado assinado e gerado externamente para o Data Domain, confirme se o Data Domain não tem uma CSR existente. O Data Domain tentará corresponder o certificado importado a qualquer CSR no sistema e, se existir, ele não corresponderá e recusará carregar o certificado importado com a seguinte mensagem de erro:
Imported host certificate does not match the generated CSR
Verifique se há uma CSR existente no sistema:
# adminaccess certificate cert-signing-request show
Se houver uma CSR existente, exclua-a antes de prosseguir. Caso contrário, a importação do certificado apresentará falha:
# adminaccess certificate cert-signing-request delete
-
Importe o novo certificado da CLI. Forneça a senha usada para criar o PKCS#12 na etapa anterior e use "application https" para usar o certificado importado para o DD System Manager ou a GUI do DDMC:
# adminaccess certificate import host application https file host.p12 Enter password: ** Importing the certificate will restart the http/https services and currently active http/https user sessions will be terminated. Do you want to import this certificate? (yes|no) [yes]: yes Host certificate imported for applications(s) : "https".
Nota: "adminaccess certificate show" agora deve listar um certificado de host importado para HTTPS. O certificado autoassinado padrão para https será anotado como Não em uso.
Additional Information
| https://downloads.dell.com/TranslatedPDF/PT-BR_KB533409.pdf |
| https://downloads.dell.com/TranslatedPDF/ZH-CN_KB533409.pdf |
| https://downloads.dell.com/TranslatedPDF/ES_KB533409.pdf |
| https://downloads.dell.com/TranslatedPDF/DE_KB533409.pdf |
| https://downloads.dell.com/TranslatedPDF/FR_KB533409.pdf |
| https://downloads.dell.com/TranslatedPDF/IT_KB533409.pdf |
| https://downloads.dell.com/TranslatedPDF/JA_KB533409.pdf |
| https://downloads.dell.com/TranslatedPDF/NL_KB533409.pdf |
| https://downloads.dell.com/TranslatedPDF/KO_KB533409.pdf |
| https://downloads.dell.com/TranslatedPDF/RU_KB533409.pdf |
| https://downloads.dell.com/TranslatedPDF/PT_KB533409.pdf |
| https://downloads.dell.com/TranslatedPDF/SV_KB533409.pdf |