[SQL Server/IaaS] 接続の暗号化に使用可能な証明書について

皆さん、こんにちは。 SQL Server/Windows Azure SQL Database サポートチーム の高原です。

今回は、SQL Server (Windows Azure 仮想マシン上の SQL Server 含む) への接続の暗号化 (SSL) に使用可能な証明書について紹介します。

 

まず初めに、SQL Server への接続の暗号化に使用可能な証明書には、以下のものがあります。

 

  1. 認証局 (CA) が発行した SSL 証明書
  2. 自己署名入り SSL 証明書

 

SQL Server では、起動時に自己署名入り SSL 証明書を自動的に作成しています。 そのため、証明書を明示的にインストールしなくとも、SQL Server がインストールされたサーバー上で SQL Server 構成マネージャ を起動し、SQL Server ネットワークの構成 – <インスタンス名> のプロトコル - 右クリック - プロパティ を開き、フラグ タブ – “強制的に暗号化”“はい” を選択するだけで、自動的に作成される自己署名付き SSL 証明書が使用され、クライアント (WEB サーバー含む) 側で特に設定を実施しなくとも、クライアント から SQL Server への接続が、全て SSL による暗号化された通信で行われるようになります。

※ 設定変更後、SQL Server サービスの再起動は必要となります。

 

image image

 

暗号化通信の設定が行われていない場合、クライアント -  SQL Server  間の通信は、平文 (ネットワーク パケット上からデータを参照できる状態) で行われるため、セキュリティ強化の一環として、設定することは有効です。

しかしながら、自己署名入り SSL 証明書の場合、中間者攻撃(なりすまし) に対する保護は提供されないため、よりセキュリティを強固のものする必要がある場合は、認証局 (CA) で発行された SSL 証明書を使用することが望ましいでしょう。

補足の内容になりますが、認証局 (CA) で発行された SSL 証明書を使用するほうが、セキュリティ観点から言えば望ましいのですが、仮に、WEB サーバーは外部に公開し、SQL Server は 非公開ネットワーク (イントラ ネット) に設置されている場合は、お客様 クライアント  -  WEB サーバー間は、認証局 (CA) で発行された SSL 証明書で SSL 通信を行い、WEB サーバー – SQL Server 間は、自己署名入り SSL 証明書で SSL 通信を行うだけでも、セキュリティ強化になることが推測されます。

※ 非公開ネットワーク 内に中間者攻撃用サーバーが設置された場合は、セキュリティの脅威となります。

 

なお、認証局 (CA) で発行された SSL 証明書 であったとしましても、以下の要件を満たしていない場合は、SQL Server への接続の暗号化に使用することができない点 について注意が必要です。

  1. 現在のシステム時刻が証明書の “有効期限の開始日” (Valid from プロパティ) から “有効期限の終了日” (Valid to プロパティ) までの範囲内であること。
  2. 証明書がサーバー認証として使用され、証明書の Enhanced Key Usage プロパティが Server Authentication (1.3.6.1.5.5.7.3.1) に指定されていること。
  3. 証明書が AT_KEYEXCHANGE の KeySpec オプションを使用して作成されていること
  4. 証明書の “Subject” プロパティで、共通名 (CN) が サーバー コンピュータのホスト名  または、完全修飾ドメイン名 (FQDN) と同一であること。 ただし、AlwaysOn フェールオーバー クラスター インスタンス の場合は、共通名 (CN) が 仮想サーバーの完全修飾ドメイン名 (FQDN) と同一であること。
  5. 証明書が ローカル コンピュータの証明書ストア - 個人 - 証明書にインストールされていること。

※ 使用予定の SSL 証明書が上記の 1、2、3 の要件を満たしているかにつきましては、証明書の発行元へ確認ください。

 

image

ファイル名を指定して実行 – mmc – ファイル – スナップインの追加と削除 – 証明書 - 追加 – コンピュータ アカウント - 次へ - ローカル コンピュータ - 完了 – OK と選択することにより、ローカル コンピュータ 上の証明書情報を確認することが可能です。

 

※ 本Blogの内容は、2014年4月 現在の内容となっております