NetWorker: WindowsホストでのNMCサーバーのインストールが「認証サーバーのホストまたはポートを確認できません」で失敗する
概要: WindowsホストでNetWorker管理コンソール(NMC)のアップグレードまたはインストールが失敗します。インストールでただちに「認証サーバーのホスト名やポートを検証できません」と返されます。
現象
- NetWorker管理コンソール(NMC)サーバーは、Windowsプラットフォームにインストールされます。
- NMCソフトウェアを19.13.x(またはそれ以降)にインストールまたはアップグレードすると、次のエラーが発生します。
- NMCサーバーは、認証サーバーのポート(9090)を解決してTCP接続できます。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サーバーのWebブラウザーから次の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暗号構成により、暗号スイートの非互換性が明らかになりました。
検証手順:
オペレーティング システムによってアドバタイズされた暗号スイートを検証するには、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で使用される暗号がOSによってアドバタイズされていない場合、TLSネゴシエーションは失敗します。これは、AuthCサービスへの接続に影響します。たとえば、NMCのインストール、NWUI(NetWorker Webユーザー インターフェイス)のインストール、REST API関数などです。
解決方法
NetWorkerと一致する暗号をアドバタイズするようにシステムを構成することについて、OSおよびセキュリティ管理チームに相談してください。この問題は、NetWorker以外で発生しています。
対策:
OSがアドバタイズする内容に合致する暗号を使用するようにNetWorker AuthCを構成します。
- のコピーの作成
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に合わせて強化されたOS暗号の構成については、OSおよびセキュリティ管理チームと話し合う必要があります。OSがアドバタイズするように構成された後 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証明書をローカル マシンの信頼されたルート証明書にインストールします。
- [View Certificate]をクリックします。
- 証明書で、[Install Certificate]をクリックします。
- [ローカル コンピューター]を選択し、[次へ]をクリックします。
- [ 証明書をすべて次のストアに配置する]を選択し、[参照]をクリックします。
- [信頼されたルート証明機関]を選択し、[OK]をクリックします。
- 証明書インストールウィザードで、 次へをクリックします。
- 終了をクリックします。
- 「インポートに成功しました」というポップアップが表示される場合は、[ OK]をクリックします。
- [Certificate]ウィンドウで、[ OK]をクリックします。
- [Security Alert]ウィンドウで、[ Yes]をクリックします。
- NMCのインストールを完了します。