Avamar : Comment remplacer le certificat SSL signé SHA-1 d’Apache Web Server
Summary: Cet article explique comment remplacer le certificat SSL signé SHA-1 d’Apache Web Server.
Symptoms
Lorsque vous tentez de vous connecter à un nœud NetWorker Virtual Edition (NVE), Avamar Server ou Avamar Extended Retention (AER) à l’aide d’un navigateur Web, ce dernier signale une erreur de connectivité réseau et refuse de se connecter même si Apache Web Server sur le nœud NVE, Avamar Server ou AER fonctionne normalement.
Cause
La prise en charge des certificats SSL signés à l’aide de SHA-1 a été résiliée par les principaux fournisseurs de navigateurs Web, à compter du 1er janvier 2017. Certains certificats NVE, Avamar et AER par défaut sont signés à l’aide de SHA-1.
Resolution
-
Connectez-vous au nœud utilitaire Avamar ou au serveur à nœud unique en tant qu’utilisateur administrateur, puis exécutez la commande suivante pour basculer vers l’utilisateur root :
su -
Remarque : La traînée - est importante ! -
Remplacez les répertoires par le répertoire de configuration Apache :
cd /etc/apache2
-
Vérifiez que le certificat actuel est signé à l’aide de SHA-1 :
openssl x509 -in ssl.crt/server.crt -text -noout | grep "Signature"
Exemple de résultat :
root@avamar:/etc/apache2/#: openssl x509 -in ssl.crt/server.crt -text -noout | grep "Signature" Signature Algorithm: sha1WithRSAEncryption Signature Algorithm: sha1WithRSAEncryption
Remarque : Si l’algorithme de signature n’est pas signalé comme SHA-1, ne poursuivez pas cette procédure -
Sauvegardez le certificat existant :
cp ssl.crt/server.crt ssl.crt/server.crt.bak.`date -I`
-
Générez une « demande de signature de certificat » à partir du certificat existant :
openssl x509 -in ssl.crt/server.crt -signkey ssl.key/server.key -x509toreq -out ssl.csr/server.csr
Exemple de résultat :
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
-
Vérifiez si le certificat est auto-signé ou signé par une autorité de certification (AC signée) :
[ `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"
Remarque : Cette commande doit être saisie sur une seule ligne. La ponctuation est importante. Il est recommandé d’effectuer un copier-coller.Exemple de sortie pour un certificat signé par une autorité de certification :
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
Exemple de sortie pour un certificat auto-signé :
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
-
Générez et installez le certificat de remplacement :
- Pour les certificats signés par une autorité de certification :
- Fournissez une copie de la demande de signature de certificat générée à l’étape 5 à l’autorité de certification et demandez-lui de générer un certificat de remplacement à l’aide d’un algorithme de signature fort. La demande de signature de certificat se trouve à l’emplacement « /etc/apache2/ssl.csr/server.csr »
- Placez le certificat signé fourni par l’autorité de certification sur le serveur Avamar dans « /etc/apache2/ssl.crt/server.crt »
- Ignorez l’étape 7b et poursuivez la procédure à l’étape 8
Remarque : Si l’autorité de certification a fourni un ou plusieurs fichiers de chaîne de certificats mis à jour avec le nouveau certificat, reportez-vous à l’annexe A pour obtenir des instructions sur la façon de les installer. - Pour les certificats auto-signés :
- Générer et installer un certificat de remplacement
openssl x509 -sha256 -req -signkey ssl.key/server.key -in ssl.csr/server.csr -out ssl.crt/server.crt -days 1825
Exemple de résultat :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
- Générer et installer un certificat de remplacement
- Pour les certificats signés par une autorité de certification :
-
Vérifiez que le nouveau certificat est signé à l’aide de SHA-256 ou d’un autre algorithme de signature fort :
openssl x509 -in ssl.crt/server.crt -text -noout | grep "Signature"
Exemple de résultat :
root@avamar:/etc/apache2/#: openssl x509 -in ssl.crt/server.crt -text -noout | grep "Signature" Signature Algorithm: sha256WithRSAEncryption Signature Algorithm: sha256WithRSAEncryption
-
Redémarrez Apache Web Server :
website restart
Exemple de résultat :
root@avamar:/etc/apache2/#: website restart ===Shutting down website Shutting down httpd2 (waiting for all children to terminate) done ===Starting website Starting httpd2 (prefork)
-
Procédure terminée
Additional Information
Annexe A : Installation d’un ou plusieurs fichiers de chaîne de certificats mis à jour
-
Création d’une copie de la chaîne de certificats existante
cp /etc/apache2/ssl.crt/ca.crt /etc/apache2/ssl.crt/ca.crt.bak.`date -I`
- Installer un ou plusieurs fichiers de chaîne de certificats mis à jour
- Si l’autorité de certification a fourni des certificats intermédiaires distincts, combinez-les dans un seul fichier de chaîne :
cat cert1 cert2 cert3 cert4 > /etc/apache2/ssl.crt/ca.crt
- Sinon, placez le fichier de chaîne unique fourni par l’autorité de certification sur l’instance d’Avamar Server dans « /etc/apache2/ssl.crt/ca.crt »
- Si l’autorité de certification a fourni des certificats intermédiaires distincts, combinez-les dans un seul fichier de chaîne :