NetWorker:在 Windows 主機上安裝 NMC 伺服器失敗「無法驗證驗證伺服器的主機和/或連接埠」
Сводка: 在 Windows 主機上升級或安裝 NetWorker Management Console (NMC) 失敗。安裝會立即傳回「無法驗證驗證伺服器的主機名稱和/或連接埠」。
Симптомы
- NetWorker Management Console (NMC) 伺服器安裝在 Windows 平台上。
- 將 NMC 軟體安裝或升級至 19.13.x (或更新版本),並發生以下錯誤:
- NMC 伺服器可以解析並 TCP 連接到身份驗證伺服器埠 (9090)。從 Windows PowerShell 執行:
tnc AUTHC_SERVER_HOSTNAME -p 9090 - 下列 PowerShell 命令傳回 SSPI 錯誤:
$server = "AUTHC_SERVER_HOSTNAME" $port = 9090 $tcp = [System.Net.Sockets.TcpClient]::new() $tcp.Connect($server, $port) $ssl = [System.Net.Security.SslStream]::new( $tcp.GetStream(), $false, { param($sender,$cert,$chain,$errors) $true } ) try { $ssl.AuthenticateAsClient($server) "=== Protocol ===" $ssl.SslProtocol "=== Cipher ===" "$($ssl.CipherAlgorithm) ($($ssl.CipherStrength)-bit)" "=== Certificate Chain (PEM) ===" # Build the chain from the remote leaf certificate $remoteCert = [System.Security.Cryptography.X509Certificates.X509Certificate2]::new($ssl.RemoteCertificate) $xchain = [System.Security.Cryptography.X509Certificates.X509Chain]::new() $null = $xchain.Build($remoteCert) $i = 0 foreach ($elem in $xchain.ChainElements) { $i++ $c = $elem.Certificate "----- Certificate $i -----" "Subject : $($c.Subject)" "Issuer : $($c.Issuer)" "NotBefore: $($c.NotBefore)" "NotAfter : $($c.NotAfter)" "" } } finally { $ssl.Dispose() $tcp.Dispose() }範例:
- 從 NetWorker 伺服器的網頁瀏覽器存取下列 URL 時,會回報 TLS 問題:
https://NETWORKER_SERVER_HOSTNAME:9090/nwrestapi/v3/global
Причина
摘要:
NetWorker AuthC 服務和 Windows Server 主機之間存在 TLS 密碼套件不相符的情形。NetWorker 19.13.x AuthC 設定為僅允許新式 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256、 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384與 TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 密碼套件。Windows Server 主機未通告對這些密碼套件的支援,導致沒有相互支援的密碼套件可用於 TLS 協商。因此,TLS 握手失敗,無法建立與 AuthC 服務的連線。
在升級情況下,先前的 NetWorker 版本可能已允許與作業系統播發的密碼套件一致的其他 CBC 型或 RSA 型密碼套件。升級至 NetWorker 19.13.x 後,限制性較強的 AuthC 加密組態暴露了密碼套件不相容性。
驗證步驟:
若要驗證作業系統宣告的 Cipher 套件,請在 NetWorker AuthC 伺服器上,從已提升權限的 PowerShell 提示字元執行下列命令: Get-TlsCipherSuite
比較 Get-TlsCipherSuite 命令與 AUTHC 伺服器 C:\Program Files\EMC NetWorker\nsr\authc-server\tomcat\conf\server.xml 檔案。具體而言,以下行:
<SSLHostConfig protocols="TLSv1.2" sslProtocol="TLS" ciphers="TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256" >
如果作業系統未通告 NetWorker AuthC 使用的密碼,TLS 交涉會失敗。這會影響與 AuthC 服務的任何連接;例如:NMC 安裝、NetWorker Web 使用者介面 (NWUI) 安裝、REST API 功能等。
Разрешение
請諮詢作業系統和安全性管理團隊,以設定系統公開宣告符合 NetWorker 的密碼。此問題發生在 NetWorker 以外。
因應措施:
設定 NetWorker 驗證,以使用與作業系統公告一致的加密。
- 建立以下副本
C:\Program Files\EMC NetWorker\nsr\authc-server\tomcat\conf\server.xml檔案。 - 開啟
C:\Program Files\EMC NetWorker\nsr\authc-server\tomcat\conf\server.xml檔。 - 修改:
<SSLHostConfig protocols="TLSv1.2" sslProtocol="TLS" ciphers="TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256" >
變更為
<SSLHostConfig protocols="TLSv1.2" sslProtocol="TLS" ciphers="TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384, TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, TLS_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA256, TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_256_CBC_SHA256, TLS_RSA_WITH_AES_256_GCM_SHA384" >
Get-TlsCipherSuite。與使用 NetWorker 19.13.x 設定的預設密碼相比,這些密碼的安全性較低。這只能作為臨時解決方案來完成。您必須與作業系統和安全管理團隊討論如何設定與 NetWorker 一致的強化作業系統密碼。將作業系統設定為播發後 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256、 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384與 TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 您可以還原到原始狀態 server.xml 使用預設(強化)密碼。這需要重新啟動 NetWorker 伺服器服務。
- 重新啟動 NetWorker 伺服器服務 (PowerShell 語法):
net stop nsrd ; net start nsrd - 安裝 NetWorker Management Console (NMC)。如果出現提示,請將 AuthC 憑證安裝至本機電腦的受信任根憑證:
- 按一下 檢視憑證。
- 在憑證中,按一下 安裝憑證。
- 選取 近端機器 ,然後按下一步。
- 選取將 所有憑證放在下列存放區中,然後按一下瀏覽。
- 選取受信任的根認證機構,然後按一下確定。
- 在憑證安裝精靈上,按一下 下一步。
- 按一下完成。
- 您可能會收到彈出式視窗,指出「匯入成功」,請按一下 確定。
- 從憑證視窗中,按一下 確定。
- 在安全性警示視窗中,按一下 是。
- 完成 NMC 安裝。