SQL Server コンピューターに暗号スイート ポリシーを実装した後の "クライアントが接続を確立できません" エラー

この記事は、サーバーに暗号スイート ポリシーを実装した後に発生する問題を解決するのに役立ちます。 クライアントとサーバーでサポートされている暗号スイートが一致しない場合、接続が失敗する可能性があります。

現象

サーバーに暗号スイート ポリシーを実装すると、次のエラー メッセージが表示されます。

既存の接続がリモート ホストによって強制的に閉じられました。 [SQLSTATE 42000](エラー 10054)リンク サーバー "DB 名" の OLE DB プロバイダー "" は、"クライアントが接続を確立できません" というメッセージを返しました。

原因 1: Rivest Cipher 4 (RC4) が含まれていない

暗号スイートに Rivest Cipher 4 (RC4) が含まれていない場合、暗号化に RC4 を使用しようとすると失敗します。 同様に、暗号スイートに RC4 が含まれているが、関係する関係者のいずれかが含まれていない場合、ハンドシェイクは失敗し、接続は確立されません。

ソリューション

次の手順を実行します。

  1. プロパティが msds-supportedEncryptionType 設定されているかどうかを確認します。 プロパティが設定されていない場合は、RC4 のみが有効になります。
  2. RC4、 AES128、AES256 を有効にするには、このプロパティの値を 28 に設定します。

原因 2: トランスポート層セキュリティ (TLS) バージョンの不一致

トランスポート層セキュリティ (TLS) バージョンに不一致があります。 この問題は、クライアントが TLS 1.0 を使用して接続を開始した場合に発生する可能性があります。 最新の暗号スイートでは、TLS 1.2 などのより安全なバージョンが優先されるため、TLS 1.0 はサポートされていません。

ソリューション

次の手順を実行します。

  1. クライアント ドライバーが TLS 1.2 をサポートしていることを確認します。 そうでない場合は、ドライバーを更新します。

  2. TLS 1.0 通信をサポートするために、ローカル ポリシーに次の暗号を追加します。

    • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
    • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
    • TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
    • TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA

関連項目

既存の接続がリモート ホストによって強制的に閉じられた (OS エラー 10054)