NetWorker: Jak zaimportować lub zastąpić certyfikaty podpisane przez urząd certyfikacji dla NMC
Podsumowanie: W tych instrukcjach opisano sposób zastąpienia domyślnego certyfikatu NetWorker z podpisem własnym certyfikatem podpisanym przez instytucję certyfikującą na serwerze NetWorker Management Console (NMC). ...
Instrukcje
W tych instrukcjach opisano sposób zastąpienia domyślnego certyfikatu NetWorker z podpisem własnym certyfikatem podpisanym przez instytucję certyfikującą dla konsoli NetWorker Management Console (NMC). Ten artykuł bazy wiedzy zawiera instrukcje dotyczące serwerów NMC z systemem Windows i Linux.
Proces zastępowania certyfikatów z podpisem własnym NetWorker Server Authentication Service (AUTHC) i NetWorker Web User Interface (NWUI) certyfikatami podpisanymi przez instytucję certyfikującą został szczegółowo opisany w następujących artykułach specyficznych dla systemów operacyjnych:
- NetWorker: Jak zaimportować lub zastąpić certyfikaty podpisane przez instytucję certyfikującą dla „AUTHC” i „NWUI” (Linux)
- NetWorker: Jak zaimportować lub zastąpić certyfikaty podpisane przez instytucję certyfikującą dla „AUTHC” i „NWUI” (Windows)
Powiązane certyfikaty:
-
<server>.csr: Żądanie podpisania certyfikatu serwera NetWorker Management Console -
<server>.key: Klucz prywatny serwera NetWorker Management Console -
<server>.crt: Certyfikat serwera NetWorker Management Console podpisany przez instytucję certyfikującą -
<CA>.crt: Certyfikat główny CA -
<ICA>.crt: Certyfikat pośredni CA (opcjonalny, jeśli jest dostępny)
Przed rozpoczęciem:
Ten proces wykorzystuje narzędzie OpenSSL. To narzędzie jest domyślnie dostępne w systemach operacyjnych Linux, jednak nie jest dołączone w systemach Windows. Skonsultuj się z administratorem systemu w sprawie instalacji OpenSSL. Wymagana wersja OpenSSL różni się w zależności od zainstalowanej wersji NetWorker.
- NetWorker w wersji od 19.9 do 19.11 wymaga OpenSSL w wersji 1.1.1n
- NetWorker 19.12.0.0 (tylko Linux) obsługuje OpenSSL w wersji 3.0.14
- NetWorker 19.12.0.2 (tylko Windows) obsługuje OpenSSL w wersji 3.0.14
Wersję OpenSSL można zidentyfikować w następujący sposób:
# openssl versionWindows:
- W Eksploratorze plików systemu Windows przejdź do lokalizacji openssl.exe. Ta ścieżka może się różnić w zależności od sposobu instalacji OpenSSL.
- Otwórz plik openssl.exe i przejdź do karty Details. Pole Product Version zawiera szczegółowe informacje o wersji OpenSSL:
Alternatywnie, jeśli openssl.exe ścieżka pliku jest częścią zmiennej systemowej, PATH można uruchomić polecenie „openssl version” z wiersza poleceń administratora. Jeśli katalog zawierający openssl.exe nie jest częścią systemu PATH, zmień katalog (cd) na katalog zawierający openssl.exe.
Wygeneruj klucz prywatny i plik żądania podpisania certyfikatu (CSR), aby dostarczyć je do urzędu certyfikacji.
- Na serwerze NMC użyj narzędzia wiersza poleceń OpenSSL, aby utworzyć plik klucza prywatnego serwera NetWorker (
<server>.key) i plik CSR (<server>.csr).
Linux:
# openssl req -new -newkey rsa:4096 -nodes -out /tmp/<server>.csr -keyout /tmp/<server>.key
Windows:
set openssl="<Full system path to the openssl.exe file>" %openssl% req -new -newkey rsa:4096 -nodes -out "C:\tmp\<server>.csr" -keyout "C:\tmp\<server>.key"
C:\tmp nie istnieje.
- Wyślij plik CSR (
<server>.csr) do instytucji certyfikującej, aby wygenerować plik certyfikatu podpisanego przez instytucję certyfikującą (<server>.crt). Instytucja certyfikująca powinna dostarczyć plik certyfikatu podpisanego przez instytucję certyfikującą (<server>.crt), certyfikat główny (<CA>.crt) oraz wszelkie pośrednie certyfikaty instytucji certyfikującej (<ICA>.crt).
Serwery konsoli Linux NetWorker Management Console (NMC):
- Pobierz certyfikaty podpisane przez instytucję certyfikującą w pojedynczych plikach kluczy lub pojedynczym pliku w formacie PFX.
- Jeśli certyfikaty podpisane przez instytucję certyfikującą znajdują się w jednym pliku PFX, klucz prywatny i certyfikat podpisany przez instytucję certyfikującą można wyodrębnić np. za pomocą narzędzia OpenSSL (system Windows może nie mieć zainstalowanego OpenSSL, można go zainstalować oddzielnie).
.crt i .key pełną ścieżką pliku, odpowiednio z nazwą pliku certyfikatu i plików kluczy.
- Wyodrębnij klucz prywatny i certyfikat podpisany przez instytucję certyfikującą z pliku PFX.
# openssl pkcs12 -in <file>.pfx -out <server>.key -nodes -nocerts
# openssl pkcs12 -in <file>.pfx -out <server>.crt -nokeys
-
-
- Sprawdź integralność
server.keyiserver.crt.
- Sprawdź integralność
-
# openssl pkey -in <server>.key -pubout -outform pem | sha256sum
# openssl x509 -in <server>.crt -pubkey -noout -outform pem | sha256sum
-
-
- Konwertowanie klucza prywatnego, certyfikatu serwera podpisanego przez instytucję certyfikującą, głównego urzędu certyfikacji (i wszelkich certyfikatów pośrednich) na format PEM.
-
# openssl rsa -in <server>.key -outform pem -out server.key.pem
# openssl x509 -in <server>.crt -outform pem -out server.crt.pem
# openssl x509 -in CA.crt -outform pem -out CA.crt.pem
# openssl x509 -in ICA.crt -outform pem -out ICA.crt.pem
- Połącz
server.key.pem, certyfikat głównyCA.crt, certyfikat pośredni (jeśli dotyczy) i podpisany certyfikat serwera wcakey.pempliku dla NMC:
# cat server.key.pem CA.crt.pem ICA.crt.pem server.crt.pem > cakey.pem
- Wyłącz usługę serwera
gstNMC:
# systemctl stop gst
- Wykonaj kopię istniejącego pliku
cakey.pem, a następnie zastąp domyślny plik plikiem utworzonym w kroku 2, D.
# cp /opt/lgtonmc/etc/cakey.pem /opt/lgtonmc/etc/cakey.pem_orig # cp cakey.pem /opt/lgtonmc/etc/cakey.pem
cakey.pem odpowiada portowi 9001. Zastąpienie tego pliku połączonym plikiem utworzonym w kroku 2,D powoduje zastąpienie certyfikatu z podpisem własnym certyfikatem certyfikatu podpisanego przez instytucję certyfikującą.
- Wykonaj kopię plików serwera NMC
server.crtiserver.key, a następnie zastąp oryginalne pliki podpisanymserver.crtiserver.key:
# cp /opt/lgtonmc/apache/conf/server.crt /opt/lgtonmc/apache/conf/server.crt_orig # cp <server>.crt /opt/lgtonmc/apache/conf/server.crt # cp /opt/lgtonmc/apache/conf/server.key /opt/lgtonmc/apache/conf/server.key_orig # cp <server>.key /opt/lgtonmc/apache/conf/server.key
- Uruchamianie usługi serwera
gstNMC:
# systemctl start gst
- Monitorowanie serwerów NMC
/opt/lgtonmc/logs/gstd.rawza wszelkie błędy.
NetWorker: Jak używać nsr_render_log do renderowania pliku dziennika .raw
nsrnmc) z uprawnieniami 600 .
Weryfikacja:
Gdy usługa serwera NMC gst usługa jest uruchomiona, uruchom następujące czynności na serwerze NMC:
openssl s_client -connect localhost:9001 -showcerts 2>/dev/null </dev/null openssl s_client -connect localhost:9000 -showcerts 2>/dev/null </dev/null
Przykład:
nve:~ # openssl s_client -connect localhost:9001 -showcerts 2>/dev/null </dev/null CONNECTED(00000003) --- Certificate chain 0 s:/C=CA/ST=Ontario/L=Toronto/O=Dell Technologies/OU=DPD/CN=nve.networker.lan i:/C=CA/ST=Ontario/L=Toronto/O=Dell Technologies/OU=DPD/CN=dc.networker.lan ... ... nve:~ # openssl s_client -connect localhost:9000 -showcerts 2>/dev/null </dev/null CONNECTED(00000003) --- Certificate chain 0 s:/C=CA/ST=Ontario/L=Toronto/O=Dell Technologies/OU=DPD/CN=nve.networker.lan i:/C=CA/ST=Ontario/L=Toronto/O=Dell Technologies/OU=DPD/CN=dc.networker.lan ... ... nve:~ #
Serwery konsoli Windows NetWorker Management Console (NMC):
- Pobierz certyfikaty podpisane przez instytucję certyfikującą w pojedynczych plikach kluczy lub pojedynczym pliku w formacie PFX.
- Jeśli certyfikaty podpisane przez instytucję certyfikującą znajdują się w jednym pliku PFX, klucz prywatny i certyfikat podpisany przez instytucję certyfikującą można wyodrębnić np. za pomocą narzędzia OpenSSL (system Windows zazwyczaj nie ma zainstalowanego OpenSSL, można go zainstalować oddzielnie).
.crt i .key pełną ścieżką pliku, odpowiednio z nazwą pliku certyfikatu i plików kluczy.
- Wyodrębnij klucz prywatny i certyfikat podpisany przez instytucję certyfikującą z pliku PFX.
%openssl% pkcs12 -in <file>.pfx -out <server>.key -nodes -nocerts
%openssl% pkcs12 -in <file>.pfx -out <server>.crt -nokeys
-
-
- Sprawdź integralność
server.keyiserver.crt.
- Sprawdź integralność
-
%openssl% pkey -in <server>.key -pubout -outform pem | %openssl% dgst -sha256
%openssl% x509 -in <server>.crt -pubkey -noout -outform pem | %openssl% dgst -sha256
-
-
- Konwertowanie klucza prywatnego, certyfikatu serwera podpisanego przez instytucję certyfikującą, głównego urzędu certyfikacji (i wszelkich certyfikatów pośrednich) na format PEM.
-
%openssl% rsa -in <server>.key -outform pem -out C:\tmp\server.key.pem
%openssl% x509 -in <server>.crt -outform pem -out C:\tmp\server.crt.pem
- Połącz
server.key.pemisever.crt.pemw plikcakey.pemdla NMC. W tym celu zaleca się użycie następującego polecenia programu PowerShell:
PS C:\tmp> Get-Content server.key.pem,server.crt.pem | Out-File cakey.pem -Encoding ascii
-Encoding ascii , można zaobserwować następujący problem: NetWorker: Serwer NMC systemu Windows nie uruchamia usługi GSTD po zastąpieniu certyfikatów
- Wyłącz usługę serwera
gstNMC:
net stop gstd
- Wykonaj kopię oryginału
cakey.pem, a następnie umieść połączony, podpisany przez instytucję certyfikującącakey.pemna miejscu:
copy "C:\Program Files\EMC NetWorker\Management\GST\etc\cakey.pem" "C:\Program Files\EMC NetWorker\Management\GST\etc\cakey.pem_orig" copy C:\tmp\cakey.pem "C:\Program Files\EMC NetWorker\Management\GST\etc\cakey.pem"
cakey.pem odpowiada portowi 9001. Zastąpienie tego pliku połączonym plikiem utworzonym w kroku 2,D powoduje zastąpienie certyfikatu z podpisem własnym certyfikatem certyfikatu podpisanego przez instytucję certyfikującą.
- Wykonaj kopię plików serwera NMC
server.crtiserver.key, a następnie zastąp oryginalne pliki podpisanymserver.crtiserver.key:
copy "C:\Program Files\EMC NetWorker\Management\GST\apache\conf\server.crt" "C:\Program Files\EMC NetWorker\Management\GST\apache\conf\server.crt_orig" copy "C:\Program Files\EMC NetWorker\Management\GST\apache\conf\server.key" "C:\Program Files\EMC NetWorker\Management\GST\apache\conf\server.key_orig" copy <server>.crt "C:\Program Files\EMC NetWorker\Management\GST\apache\conf\server.crt" copy <server>.key "C:\Program Files\EMC NetWorker\Management\GST\apache\conf\server.key"
- Uruchamianie usługi serwera
gstNMC:
net start gstd
- Monitorowanie serwerów NMC
C:\Program Files\EMC NetWorker\Management\GST\logs\gstd.rawza wszelkie błędy.
NetWorker: Jak używać nsr_render_log do renderowania pliku dziennika .raw
nsrnmc) z uprawnieniami 600 .
Weryfikacja:
Gdy usługa serwera NMC gst usługa jest uruchomiona, uruchom następujące polecenie z programu PowerShell na serwerze NMC, zastępując PORT. Uruchom raz dla portu 9000 i raz dla portu 9001.
param(
[string]$Server = "localhost",
[int]$Port = PORT
)
$tcp = [System.Net.Sockets.TcpClient]::new()
$tcp.Connect($Server, $Port)
# Accept any certificate so we can inspect it (this is inspection only)
$ssl = [System.Net.Security.SslStream]::new(
$tcp.GetStream(),
$false,
{ param($sender, $cert, $chain, $errors) $true }
)
try {
# SNI/target host is the $Server value
$ssl.AuthenticateAsClient($Server)
$remoteCert = [System.Security.Cryptography.X509Certificates.X509Certificate2]::new($ssl.RemoteCertificate)
# Some keys use CNG and PublicKey.Key can be $null; fall back safely
$keySize = try { $remoteCert.PublicKey.Key.KeySize } catch { $null }
if (-not $keySize) { $keySize = ($remoteCert.PublicKey.EncodedKeyValue.RawData.Length * 8) }
"=== Certificate (from $($Server):$Port) ==="
"Subject : $($remoteCert.Subject)"
"Issuer : $($remoteCert.Issuer)"
"NotBefore : $($remoteCert.NotBefore)"
"NotAfter : $($remoteCert.NotAfter)"
"Public Key : $($remoteCert.PublicKey.Oid.FriendlyName) ($keySize-bit)"
"Signature Algorithm : $($remoteCert.SignatureAlgorithm.FriendlyName)"
}
finally {
$ssl.Dispose()
$tcp.Dispose()
}
Przykład:
PS C:\Users\Administrator.NETWORKER> param( >> [string]$Server = "localhost", >> [int]$Port = 9001 >> ) PS C:\Users\Administrator.NETWORKER> PS C:\Users\Administrator.NETWORKER> $tcp = [System.Net.Sockets.TcpClient]::new() PS C:\Users\Administrator.NETWORKER> $tcp.Connect($Server, $Port) PS C:\Users\Administrator.NETWORKER> PS C:\Users\Administrator.NETWORKER> # Accept any certificate so we can inspect it (this is inspection only) PS C:\Users\Administrator.NETWORKER> $ssl = [System.Net.Security.SslStream]::new( >> $tcp.GetStream(), >> $false, >> { param($sender, $cert, $chain, $errors) $true } >> ) PS C:\Users\Administrator.NETWORKER> PS C:\Users\Administrator.NETWORKER> try { >> # SNI/target host is the $Server value >> $ssl.AuthenticateAsClient($Server) >> >> $remoteCert = [System.Security.Cryptography.X509Certificates.X509Certificate2]::new($ssl.RemoteCertificate) >> >> # Some keys use CNG and PublicKey.Key can be $null; fall back safely >> $keySize = try { $remoteCert.PublicKey.Key.KeySize } catch { $null } >> if (-not $keySize) { $keySize = ($remoteCert.PublicKey.EncodedKeyValue.RawData.Length * 8) } >> >> "=== Certificate (from $($Server):$Port) ===" >> "Subject : $($remoteCert.Subject)" >> "Issuer : $($remoteCert.Issuer)" >> "NotBefore : $($remoteCert.NotBefore)" >> "NotAfter : $($remoteCert.NotAfter)" >> "Public Key : $($remoteCert.PublicKey.Oid.FriendlyName) ($keySize-bit)" >> "Signature Algorithm : $($remoteCert.SignatureAlgorithm.FriendlyName)" >> } >> finally { >> $ssl.Dispose() >> $tcp.Dispose() >> } === Certificate (from localhost:9001) === Subject : CN=win-srvr02.networker.lan, OU=DPD, O=Dell Technologies, L=Toronto, S=Ontario, C=CA Issuer : CN=dc.networker.lan, OU=DPD, O=Dell Technologies, L=Toronto, S=Ontario, C=CA NotBefore : 03/09/2026 15:42:43 NotAfter : 06/11/2028 15:42:43 Public Key : RSA (2048-bit) Signature Algorithm : sha256RSA PS C:\Users\Administrator.NETWORKER> param( >> [string]$Server = "localhost", >> [int]$Port = 9000 >> ) PS C:\Users\Administrator.NETWORKER> PS C:\Users\Administrator.NETWORKER> $tcp = [System.Net.Sockets.TcpClient]::new() PS C:\Users\Administrator.NETWORKER> $tcp.Connect($Server, $Port) PS C:\Users\Administrator.NETWORKER> PS C:\Users\Administrator.NETWORKER> # Accept any certificate so we can inspect it (this is inspection only) PS C:\Users\Administrator.NETWORKER> $ssl = [System.Net.Security.SslStream]::new( >> $tcp.GetStream(), >> $false, >> { param($sender, $cert, $chain, $errors) $true } >> ) PS C:\Users\Administrator.NETWORKER> PS C:\Users\Administrator.NETWORKER> try { >> # SNI/target host is the $Server value >> $ssl.AuthenticateAsClient($Server) >> >> $remoteCert = [System.Security.Cryptography.X509Certificates.X509Certificate2]::new($ssl.RemoteCertificate) >> >> # Some keys use CNG and PublicKey.Key can be $null; fall back safely >> $keySize = try { $remoteCert.PublicKey.Key.KeySize } catch { $null } >> if (-not $keySize) { $keySize = ($remoteCert.PublicKey.EncodedKeyValue.RawData.Length * 8) } >> >> "=== Certificate (from $($Server):$Port) ===" >> "Subject : $($remoteCert.Subject)" >> "Issuer : $($remoteCert.Issuer)" >> "NotBefore : $($remoteCert.NotBefore)" >> "NotAfter : $($remoteCert.NotAfter)" >> "Public Key : $($remoteCert.PublicKey.Oid.FriendlyName) ($keySize-bit)" >> "Signature Algorithm : $($remoteCert.SignatureAlgorithm.FriendlyName)" >> } >> finally { >> $ssl.Dispose() >> $tcp.Dispose() >> } === Certificate (from localhost:9000) === Subject : CN=win-srvr02.networker.lan, OU=DPD, O=Dell Technologies, L=Toronto, S=Ontario, C=CA Issuer : CN=dc.networker.lan, OU=DPD, O=Dell Technologies, L=Toronto, S=Ontario, C=CA NotBefore : 03/09/2026 15:42:43 NotAfter : 06/11/2028 15:42:43 Public Key : RSA (2048-bit) Signature Algorithm : sha256RSA
Dodatkowe informacje
Nawet po zastąpieniu certyfikatu NMC z podpisem własnym certyfikatem podpisanym przez instytucję certyfikującą podczas łączenia się z serwerem NMC z poziomu programu uruchamiającego NMC może zostać wyświetlone następujące ostrzeżenie:

Kliknij opcję „View Certificate Details”. Szczegóły certyfikatu potwierdzają, czy jest używany certyfikat podpisany przez instytucję certyfikującą.
Ostrzeżenie pojawia się, ponieważ w zaufanych certyfikatach głównych klienta NMC brakuje podpisanego certyfikatu.
To ostrzeżenie można zignorować; opcjonalnie certyfikat serwera NMC podpisany przez instytucję certyfikującą można również zaimportować do zaufanych certyfikatów głównych klienta NMC:
- Umieść certyfikat z podpisem CA serwera NMC (
<server>.crt) na hoście klienta NMC w wybranym folderze. - Otwórz właściwości certyfikatu podpisanego przez instytucję certyfikującą.
- Kliknij przycisk Install Certificate.
- Wybierz Local Machine.
- Wybierz opcję Place all certificates in the following store.
- Kliknij opcję Browse.
- Wybierz opcję Trusted Root Certification Authorities, a następnie kliknij przycisk OK.
- Kliknij przycisk Next.
- Kliknij przycisk Finish.
- Zostanie wyświetlony komunikat informujący, czy import się powiódł, czy też nie; kliknij przycisk OK.
- We właściwościach certyfikatu podpisanego przez instytucję certyfikującą kliknij przycisk OK.
Podczas następnego uruchomienia NMC ostrzeżenie o zabezpieczeniach nie zostanie wyświetlone.