SQL Server コンピューターに暗号スイート ポリシーを実装した後の "クライアントが接続を確立できません" エラー
この記事は、サーバーに暗号スイート ポリシーを実装した後に発生する問題を解決するのに役立ちます。 クライアントとサーバーでサポートされている暗号スイートが一致しない場合、接続が失敗する可能性があります。
現象
サーバーに暗号スイート ポリシーを実装すると、次のエラー メッセージが表示されます。
既存の接続がリモート ホストによって強制的に閉じられました。 [SQLSTATE 42000](エラー 10054)リンク サーバー "DB 名" の OLE DB プロバイダー "" は、"クライアントが接続を確立できません" というメッセージを返しました。
原因 1: Rivest Cipher 4 (RC4) が含まれていない
暗号スイートに Rivest Cipher 4 (RC4) が含まれていない場合、暗号化に RC4 を使用しようとすると失敗します。 同様に、暗号スイートに RC4 が含まれているが、関係する関係者のいずれかが含まれていない場合、ハンドシェイクは失敗し、接続は確立されません。
ソリューション
次の手順を実行します。
- プロパティが
msds-supportedEncryptionType
設定されているかどうかを確認します。 プロパティが設定されていない場合は、RC4 のみが有効になります。 - RC4、 AES128、AES256 を有効にするには、このプロパティの値を 28 に設定します。
原因 2: トランスポート層セキュリティ (TLS) バージョンの不一致
トランスポート層セキュリティ (TLS) バージョンに不一致があります。 この問題は、クライアントが TLS 1.0 を使用して接続を開始した場合に発生する可能性があります。 最新の暗号スイートでは、TLS 1.2 などのより安全なバージョンが優先されるため、TLS 1.0 はサポートされていません。
ソリューション
次の手順を実行します。
クライアント ドライバーが TLS 1.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