Avamar: Como substituir o certificado SSL assinado pelo Apache Web Server SHA-1
Summary: Este artigo explica como substituir o certificado SSL assinado SHA-1 do Apache Web Server.
Symptoms
Ao tentar se conectar ao nó do NetWorker Virtual Edition (NVE), do Avamar Server ou do Avamar Extended Retention (AER) usando um navegador da Web, o navegador relata um erro de conectividade de rede e se recusa a se conectar, mesmo que o Apache Web Server no NVE, Avamar Server ou nó AER esteja funcionando normalmente.
Cause
O suporte a certificados SSL assinados usando SHA-1 foi encerrado pelos principais fornecedores de navegadores da Web a partir de 1º de janeiro de 2017. Alguns certificados padrão do NVE, Avamar e AER são assinados usando SHA-1.
Resolution
-
Faça log-in no Avamar Utility Node ou no servidor de único nó como usuário administrador e execute o seguinte comando para alternar para root:
su -
Nota: O trailing - é importante! -
Altere os diretórios para o diretório de configuração do Apache:
cd /etc/apache2
-
Confirme se o certificado atual foi assinado usando SHA-1:
openssl x509 -in ssl.crt/server.crt -text -noout | grep "Signature"
Exemplo de resultado:
root@avamar:/etc/apache2/#: openssl x509 -in ssl.crt/server.crt -text -noout | grep "Signature" Signature Algorithm: sha1WithRSAEncryption Signature Algorithm: sha1WithRSAEncryption
Nota: Se o algoritmo de assinatura não for relatado como SHA-1, não prossiga com este procedimento -
Faça backup do certificado existente:
cp ssl.crt/server.crt ssl.crt/server.crt.bak.`date -I`
-
Gere uma "solicitação de assinatura de certificado" a partir do certificado existente:
openssl x509 -in ssl.crt/server.crt -signkey ssl.key/server.key -x509toreq -out ssl.csr/server.csr
Exemplo de resultado:
root@avamar:/etc/apache2/#: openssl x509 -in ssl.crt/server.crt -signkey ssl.key/server.key -x509toreq -out ssl.csr/server.csr Getting request Private Key Generating certificate request
-
Verifique se o certificado é autoassinado ou assinado por uma autoridade de certificação (assinada pela CA):
[ `openssl x509 -in ssl.crt/server.crt -text -noout | grep "Subject: \|Issuer: " | sed 's/.*:\(.*\)/\1/' | uniq | wc -l` -eq "1" ] && echo "Self-signed" || echo "CA Signed"
Nota: Esse comando deve ser inserido em uma única linha. Toda pontuação é importante. É recomendável copiar e colar.Exemplo de resultado para um certificado assinado por CA:
root@avamar:/etc/apache2/#: [ `openssl x509 -in ssl.crt/server.crt -text -noout | grep "Subject: \|Issuer: " | sed 's/.*:\(.*\)/\1/' | uniq | wc -l` -eq "1" ] && echo "Self-signed" || echo "CA Signed" CA Signed
Exemplo de resultado para um certificado autoassinado:
root@avamar:/etc/apache2/#: [ `openssl x509 -in ssl.crt/server.crt -text -noout | grep "Subject: \|Issuer: " | sed 's/.*:\(.*\)/\1/' | uniq | wc -l` -eq "1" ] && echo "Self-signed" || echo "CA Signed" Self-signed
-
Gere e instale o certificado de substituição:
- Para certificados assinados pela CA:
- Forneça uma cópia da solicitação de assinatura de certificado gerada na etapa 5 para a autoridade de certificação e solicite que ela gere um certificado de substituição usando um algoritmo de assinatura forte. A solicitação de assinatura do certificado está localizada em "/etc/apache2/ssl.csr/server.csr"
- Coloque o certificado assinado fornecido pela CA no Avamar Server em "/etc/apache2/ssl.crt/server.crt"
- Ignore a etapa 7b e continue o procedimento na etapa 8
Nota: Se a CA forneceu um ou mais arquivos de cadeia de certificados atualizados junto com o novo certificado, consulte o Apêndice A para obter instruções sobre como instalá-los. - Para certificados autoassinados:
- Gerar e instalar um certificado de substituição
openssl x509 -sha256 -req -signkey ssl.key/server.key -in ssl.csr/server.csr -out ssl.crt/server.crt -days 1825
Exemplo de resultado:root@avamar:/etc/apache2/#: openssl x509 -sha256 -req -signkey ssl.key/server.key -in ssl.csr/server.csr -out ssl.crt/server.crt -days 1825 Signature ok subject=/C=US/ST=CA/L=Irvine/O=Dell EMC/OU=Avamar/CN=avamar.asl.lab.emc.com
- Gerar e instalar um certificado de substituição
- Para certificados assinados pela CA:
-
Confirme se o novo certificado foi assinado usando SHA-256 ou outro algoritmo de assinatura forte:
openssl x509 -in ssl.crt/server.crt -text -noout | grep "Signature"
Exemplo de resultado:
root@avamar:/etc/apache2/#: openssl x509 -in ssl.crt/server.crt -text -noout | grep "Signature" Signature Algorithm: sha256WithRSAEncryption Signature Algorithm: sha256WithRSAEncryption
-
Reinicie o Apache Web Server:
website restart
Exemplo de resultado:
root@avamar:/etc/apache2/#: website restart ===Shutting down website Shutting down httpd2 (waiting for all children to terminate) done ===Starting website Starting httpd2 (prefork)
-
Procedimento concluído
Additional Information
Apêndice A - Instalando um ou mais arquivos de cadeia de certificados atualizados
-
Criar uma cópia da cadeia de certificados existente
cp /etc/apache2/ssl.crt/ca.crt /etc/apache2/ssl.crt/ca.crt.bak.`date -I`
- Instalar um ou mais arquivos de cadeia de certificados atualizados
- Se a CA tiver fornecido certificados intermediários separados, combine-os em um único arquivo de cadeia:
cat cert1 cert2 cert3 cert4 > /etc/apache2/ssl.crt/ca.crt
- Caso contrário, coloque o arquivo de cadeia única fornecido pela CA no Avamar Server em "/etc/apache2/ssl.crt/ca.crt"
- Se a CA tiver fornecido certificados intermediários separados, combine-os em um único arquivo de cadeia: