Avamar: Jak wymienić certyfikat SSL podpisany SHA-1 serwera WWW Apache
Summary: W tym artykule wyjaśniono, jak zastąpić certyfikat SSL podpisany przez Apache Web Server SHA-1.
Symptoms
Podczas próby połączenia się z węzłem NetWorker Virtual Edition (NVE), serwerem Avamar lub węzłem Avamar Extended Retention (AER) przy użyciu przeglądarki internetowej przeglądarka zgłasza błąd łączności sieciowej i odmawia połączenia, mimo że serwer WWW Apache na węźle NVE, Avamar lub AER działa normalnie.
Cause
Obsługa certyfikatów SSL podpisanych przy użyciu algorytmu SHA-1 została zakończona przez głównych dostawców przeglądarek internetowych z dniem 1 stycznia 2017 r. Niektóre domyślne certyfikaty NVE, Avamar i AER są podpisywane przy użyciu algorytmu SHA-1.
Resolution
-
Zaloguj się do węzła Avamar Utility Node lub serwera z jednym węzłem jako użytkownik admin, a następnie uruchom następujące polecenie, aby przełączyć się na konto root:
su -
Uwaga: Końcówka - jest ważna! -
Zmień katalogi na katalog konfiguracji Apache:
cd /etc/apache2
-
Upewnij się, że bieżący certyfikat jest podpisany przy użyciu algorytmu SHA-1:
openssl x509 -in ssl.crt/server.crt -text -noout | grep "Signature"
Przykładowe dane wyjściowe:
root@avamar:/etc/apache2/#: openssl x509 -in ssl.crt/server.crt -text -noout | grep "Signature" Signature Algorithm: sha1WithRSAEncryption Signature Algorithm: sha1WithRSAEncryption
Uwaga: Jeśli algorytm podpisu nie jest zgłaszany jako SHA-1, nie należy kontynuować tej procedury -
Utwórz kopię zapasową istniejącego certyfikatu:
cp ssl.crt/server.crt ssl.crt/server.crt.bak.`date -I`
-
Wygeneruj żądanie podpisania certyfikatu na podstawie istniejącego certyfikatu:
openssl x509 -in ssl.crt/server.crt -signkey ssl.key/server.key -x509toreq -out ssl.csr/server.csr
Przykładowe dane wyjściowe:
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
-
Sprawdź, czy certyfikat jest podpisany samodzielnie, czy przez urząd certyfikacji (podpisany przez 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"
Uwaga: To polecenie należy wprowadzić w jednym wierszu. Wszystkie znaki interpunkcyjne są ważne. Zaleca się kopiowanie i wklejanie.Przykładowe dane wyjściowe dla certyfikatu podpisanego przez instytucję certyfikującą:
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
Przykładowe dane wyjściowe dla certyfikatu z podpisem własnym:
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
-
Wygeneruj i zainstaluj certyfikat zastępczy:
- W przypadku certyfikatów podpisanych przez instytucję certyfikującą:
- Przekaż urzędzie certyfikacji kopię żądania podpisania certyfikatu wygenerowanego w kroku 5 i poproś o wygenerowanie certyfikatu zastępczego przy użyciu algorytmu silnego podpisu. Żądanie podpisania certyfikatu znajduje się w "/etc/apache2/ssl.csr/server.csr"
- Umieść podpisany certyfikat dostarczony przez urząd certyfikacji na serwerze Avamar w katalogu "/etc/apache2/ssl.crt/server.crt"
- Pomiń krok 7b i kontynuuj procedurę od kroku 8
Uwaga: Jeśli urząd certyfikacji dostarczył jeden lub więcej zaktualizowanych plików łańcucha certyfikatów wraz z nowym certyfikatem, zapoznaj się z dodatkiem A, aby uzyskać instrukcje dotyczące ich instalacji. - W przypadku certyfikatów z podpisem własnym:
- Generowanie i instalowanie certyfikatu zastępczego
openssl x509 -sha256 -req -signkey ssl.key/server.key -in ssl.csr/server.csr -out ssl.crt/server.crt -days 1825
Przykładowe dane wyjściowe: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
- Generowanie i instalowanie certyfikatu zastępczego
- W przypadku certyfikatów podpisanych przez instytucję certyfikującą:
-
Upewnij się, że nowy certyfikat jest podpisany przy użyciu algorytmu SHA-256 lub innego algorytmu silnego podpisu:
openssl x509 -in ssl.crt/server.crt -text -noout | grep "Signature"
Przykładowe dane wyjściowe:
root@avamar:/etc/apache2/#: openssl x509 -in ssl.crt/server.crt -text -noout | grep "Signature" Signature Algorithm: sha256WithRSAEncryption Signature Algorithm: sha256WithRSAEncryption
-
Uruchom ponownie serwer WWW Apache:
website restart
Przykładowe dane wyjściowe:
root@avamar:/etc/apache2/#: website restart ===Shutting down website Shutting down httpd2 (waiting for all children to terminate) done ===Starting website Starting httpd2 (prefork)
-
Procedura zakończona
Additional Information
Dodatek A - Instalowanie zaktualizowanego jednego lub więcej plików łańcucha certyfikatów
-
Utwórz kopię istniejącego łańcucha certyfikatów
cp /etc/apache2/ssl.crt/ca.crt /etc/apache2/ssl.crt/ca.crt.bak.`date -I`
- Zainstaluj co najmniej jeden zaktualizowany plik łańcucha certyfikatów
- Jeśli urząd certyfikacji dostarczył oddzielne certyfikaty pośrednie, połącz je w jeden plik łańcuchowy:
cat cert1 cert2 cert3 cert4 > /etc/apache2/ssl.crt/ca.crt
- W przeciwnym razie umieść pojedynczy plik łańcucha dostarczony przez CA na serwerze Avamar w katalogu "/etc/apache2/ssl.crt/ca.crt"
- Jeśli urząd certyfikacji dostarczył oddzielne certyfikaty pośrednie, połącz je w jeden plik łańcuchowy: