さまざまな設定がサーバーとクライアントの通信の動作にどのように影響するかを理解しようとしています。サーバーに、SQLサービスで使用するように構成された発行済みの交換証明書を持つ自己署名CAをインストールしました。
最初に、ルートCAがクライアントにインストールされていないときに、この接続が失敗することを確認します。しかし、私が何をしてもそれはとにかくうまくいくようです。
理由をよりよく理解するために、私はすべてのオプションとそれらが生み出すべき効果をリストアップしようとしています。しかし、私がそれを正しく理解したかどうかはわかりません...
誰かがここで不足している部分を修正して記入するのを手伝ってくれますか?
SQL Serverで「暗号化を強制する」設定を有効にする場合:
- 実際には、これは
Encrypt=True;TrustServerCertificate=True;
私の接続文字列の設定と同じです。クライアントは、暗号化を使用する必要があるかどうか、およびサーバーを信頼する必要があるかどうかについては何も言いません。 - このオプションは、個々のサービスインスタンスを暗号化するために使用できます。
- CAなしの自己署名交換証明書をサポートします。
SQL Serverで「プロトコル暗号化を強制する」設定を有効にする場合:
- サーバー上のすべてのサービスへのすべてのクライアント接続は暗号化されます。
- クライアントとサーバーの両方で使用できる信頼できるCAによって発行された交換証明書が必要です。
クライアントで「プロトコル暗号化を強制する」設定を使用する場合:
- この単一のクライアントはSSLの使用を強制し、このマシンで利用可能な信頼できるCAによって発行された交換証明書が必要です。これがないと、この接続は失敗します。
サーバーとクライアントの両方で「プロトコル暗号化を強制する」設定を有効にする場合:
- これは推奨されません。しかし、なぜ?何が起こり、何が失敗しますか?
サーバーで「強制暗号化」と「強制プロトコル暗号化」の両方を有効にする場合:
- これは何をもたらすのでしょうか?Force Protocol Encryptionが有効になっているときにForce Encryptionが何に設定されているかは重要ですか?