Data Domain: Generowanie CSR poza DD
Summary: W tym artykule bazy wiedzy wyjaśniono, w jaki sposób użyć systemu zewnętrznego do utworzenia żądania podpisania certyfikatu i utworzenia podpisanego certyfikatu przez zewnętrzny urząd certyfikacji, tak aby wynikowy certyfikat mógł zostać zaimportowany do Data Domain w celu użycia w protokole HTTP (DD GUI za pośrednictwem protokołu SSL) ...
Instructions
W większości przypadków warto użyć tego artykułu bazy wiedzy do wygenerowania CSR i zaimportowania certyfikatów:
Data Domain — zarządzanie certyfikatami hosta dla protokołów HTTP i HTTPS
W rzadszych przypadkach ta baza wiedzy jest używana, gdy nie można wygenerować CSR w samym DD.
Zaimportowanie certyfikatu podpisanego przez instytucję certyfikującą umożliwia dostęp HTTPS do Data Domain System Manager bez konieczności pomijania sprawdzania w przeglądarce certyfikatów, które nie są podpisane przez zaufaną inną firmę. Po nawiązaniu pierwszego połączenia SSL z graficznym interfejsem użytkownika DD ruch jest jednakowo chroniony przed podsłuchiwaniem przy użyciu certyfikatu z podpisem zewnętrznym lub certyfikatem z podpisem własnym. Firma może wymagać, aby wszystkie hosty z dostępem SSL miały certyfikaty podpisane przez wewnętrzny lub zewnętrzny urząd certyfikacji, w celu zaufania.
Istnieją różne podejścia do tworzenia tego certyfikatu podpisanego zewnętrznie. W przypadku systemu DD OS w wersji 6.2.0.35 i nowszych zalecamy użycie polecenia interfejsu wiersza polecenia DD "adminaccess certificate cert-signing-request generate" w celu utworzenia żądania podpisania certyfikatu (CSR), które ma zostać przesłane do wybranego urzędu certyfikacji w celu podpisania. Podpisany certyfikat jest następnie importowany do DD dla HTTPS. Wszystkie szczegóły można znaleźć w artykule bazy wiedzy Data Domain: Generowanie żądania podpisania certyfikatu i korzystanie z certyfikatów
podpisanych zewnętrznieInnym podejściem byłoby użycie oddzielnego hosta w sieci z najnowszym zestawem bibliotek OpenSSL i plików binarnych zainstalowanych w celu wygenerowania CSR do podpisania. Po uzyskaniu podpisanego certyfikatu, bity podpisanego certyfikatu i powiązanego z nim klucza prywatnego są przenoszone do DD i importowane do DD. Ten proces jest następujący:
-
Zaloguj się do serwera Linux, UNIX lub innego z zainstalowanym OpenSSL i najpierw wygeneruj parę kluczy publiczny/prywatny. DD domyślnie generuje klucze 2048-bitowe, klucze 1024-bitowe są odradzane, a klucze 4096-bitowe to może być trochę za dużo:
# openssl genrsa -out hostkey.pem 2048 Generating RSA private key, 2048 bit long modulus ........+++ ...+++ e is 65537 (0x10001)
-
Wygeneruj żądanie podpisania certyfikatu (CSR) przy użyciu klucza prywatnego utworzonego w pierwszym kroku i podaj szczegóły w CSR do podpisania, takie jak nazwa pospolita, adres e-mail, kraj i miasto itp.
# 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 []:
Należy pamiętać, że w większości instalacji OpenSSL rozszerzenie "subjectAltName", które jest obowiązkowym wymogiem zgodnie z RFC 3280, nie jest dodawane do CSR ani proszone. Niektóre prywatne i publiczne urzędy certyfikacji mogą odmówić rozpatrzenia CSR z powodu braku tego rozszerzenia. W przypadku certyfikatu DD używanego dla graficznego interfejsu użytkownika "subjectAltName" musi być nazwą FQDN dla DD podczas uzyskiwania dostępu z przeglądarki.
Aby określić "subjetAltName" podczas tworzenia CSR, jeśli używasz OpenSSL 1.1.1, można to zrobić z samego wiersza poleceń "OpenSSL". Jeśli nie, wiąże się to ze zmianą pliku /etc/ssl/openssl.cnf, co wykracza poza zakres tego dokumentu. W przypadku korzystania z OpenSSL w wersji 1.1.1 lub nowszej:
# 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 []:
-
Pobierz plik CSR "host_csr.csr" i prześlij go do odpowiedniego urzędu certyfikacji w celu podpisania. Jeśli urząd certyfikacji jest wewnętrzny, przekaż go administratorowi urzędu certyfikacji lub podpisz w normalnym procesie (który musiałby użyć wiersza poleceń, takiego jak ten poniżej):
# 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
- W każdym przypadku wynikiem będzie zazwyczaj plik certyfikatu zakodowany w formacie .PEM lub .cer (w przykładzie "host_cert.pem"). Aby certyfikat mógł zostać zaimportowany do DD, musi być dołączony w formacie PKCS#12 wraz z kluczem (prywatnym) wygenerowanym w pierwszym kroku. Z tego samego hosta, na którym wykonano pierwszy krok:
# 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:
Bardzo ważne jest ustawienie hasła dla pliku PKCS#12, w przeciwnym razie import certyfikatu w Data Domain zakończy się niepowodzeniem. Monit o hasło nie będzie wyświetlany podczas normalnego korzystania z Data Domain po zainstalowaniu certyfikatu. Argumenty "-keypbe PBE-SHA1-3DES" i "-certpbe PBE-SHA1-3DES" służą do zapewnienia, że obsługiwany algorytm "PBE-SHA1-3DES" jest używany podczas modyfikowania urzędu certyfikacji. Pozwoli to uniknąć błędu użytkownika końcowego podczas próby zaimportowania podpisanego certyfikatu.
-
Skopiuj wynikowy plik certyfikatu "host.p12" do katalogu "/ddr/var/certificates/" w Data Domain (na przykład za pomocą SCP do DD).
- Przed zaimportowaniem zewnętrznie wygenerowanego i podpisanego certyfikatu do Data Domain upewnij się, że Data Domain nie ma istniejącego CSR. System Data Domain spróbuje dopasować zaimportowany certyfikat do dowolnego CSR w systemie, a jeśli taki istnieje, nie będzie zgodny i odmówi załadowania zaimportowanego certyfikatu z następującym komunikatem o błędzie:
Imported host certificate does not match the generated CSR
Sprawdź, czy w systemie istnieje CSR:
# adminaccess certificate cert-signing-request show
Jeśli istnieje CSR, usuń go przed kontynuowaniem, w przeciwnym razie import certyfikatu zakończy się niepowodzeniem:
# adminaccess certificate cert-signing-request delete
-
Zaimportuj nowy certyfikat z interfejsu wiersza poleceń. Podaj hasło użyte do utworzenia PKCS#12 w poprzednim kroku i użyj polecenia "application https", aby użyć zaimportowanego certyfikatu dla graficznego interfejsu użytkownika DD System Manager lub 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".
Uwaga: Polecenie "adminaccess certificate show" powinno teraz zawierać certyfikat zaimportowanego hosta dla protokołu HTTPS. Domyślny certyfikat z podpisem własnym dla protokołu https zostanie oznaczony jako nieużywany.
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 |