MS SQLクラスターをバックエンドデータベースとして使用

Password Manager Pro を使用すると、MS SQL クラスターをバックエンド データベースとして使用できます。MS SQL クラスターをバックエンドとして使用するように Password Manager Pro を構成する手順は、バックエンド データベースとしてスタンドアロン SQL サーバーを使用する場合とは大きく異なります。これは、Password Manager Pro が高レベルのセキュリティを確保するために SSL 経由でのみ SQL Server クラスターに接続するように構成されているためです。

スタンドアロン SQL サーバーをバックエンド データベースとして使用するには、SQL サーバーの完全修飾 DNS 名を使用して SSL 証明書が作成され、LOCAL COMPUTER PERSONAL 証明書ストアにインポートされます。SQL サーバー構成マネージャーでは、SQL サーバーの DNS 名に一致する証明書が証明書構成画面にリストされます。ただし、SQL Server クラスターのセットアップの場合、この手順は機能しません。

SQL サーバー クラスターの場合は、フェールオーバー クラスターインスタンスの完全修飾 DNS 名を含むサーバー証明書を取得し、フェールオーバー クラスター内のすべてのノードにインストールする必要があります。たとえば、test1.yourcompany.comとtest2.yourcompany.comという名前のノードと、pmpclusterという名前のSQL Serverのフェールオーバークラスタインスタンスを持つ2ノードクラスタがあるとします。Password Manager Proでクラスターを使用するには、pmpcluster.yourcompany.comの証明書を取得し、その証明書を両方のノードにインストールする必要があります。

最初にテスト設定でこれらの手順を試し、すべてが正常に動作するかどうかを確認することをお勧めします。Password Manager Pro をダウンロードして、MS SQL クラスターをバックエンドとして使用してみてください。

MSSQL Always-On フェールオーバー クラスターを使用するには、以下の指示に従って pmp_key.key にエントリを追加する必要があります。

ENCRYPTIONKEY=n2Z(-*zcPioHfYpmrQwrmICiXmiRUbhQ
MASTERKEY=s4X)6@ajSXCETRC

マスター暗号化キーは、<PMP-Home>\confディレクトリにある masterkey.key ファイルにあります。

必要なステップ

  1. SQL Server で SSL 暗号化を有効化

    1.1 SSL 証明書を作成して Windows 証明書ストアにインストールする

    1.2 証明書を生成し、サードパーティ CA による署名を取得 (または)

    1.3 自己署名証明書の作成

  2. SQL Server が実行されているすべてのノードにサーバー証明書をインストール
  3. CA のルート証明書/サーバー証明書を Password Manager Pro にインストール
  4. SQL Server が実行されているすべてのノードで SSL 暗号化を有効化
  5. ChangeDB.batを実行

1.SQL Server で SSL 暗号化を有効化

1.1 SSL 証明書を作成し、Windows 証明書ストア (SQL Server が実行されているマシン) にインストール

Password Manager Pro を SQL Server に接続する前に、SQL Server で SSL 暗号化を有効にする必要があります。SSL 証明書を作成し、認証局 (CA) によって署名してもらうことも自己署名することもできます。

注:SQL クラスターに使用される SQL 証明書には、次の属性が含まれている必要があります。

CN: cl-sql.example.com
SAN:
<li>sql-node1
sql-node1.example.com
sql-node2
sql-node2.example.com
sqlinstance
sqlinstance.example.com
</li>

1.2 証明書を生成し、サードパーティ CA による署名を取得

Openssl を使用して証明書を作成するには、次の 2 つの手順を実行します。

  • 秘密鍵の生成
  • 証明書の生成

次のコマンドを使用して証明書を作成します。

秘密鍵の生成

openssl genrsa -des3 -out server.key 2048

証明書の生成

サーバーの秘密鍵を使用して証明書要求を作成します。プロンプトが表示されたら、キーのパスフレーズ、共通名、ホスト名、または IP アドレスを入力します。

openssl req -new -key server.key -out server.csr

ここでは、共通名の代わりに、SQL Server クラスター インスタンスFQDN を指定します。

  1. 証明書を生成した後、サードパーティ CA による署名を取得する必要があります。著名な CA には、VerisignThawteRapidSSL などがあります。CSR の提出の詳細については、ドキュメント/Web サイトを確認してください。これには、CA に支払われる費用がかかります。
  2. 通常、このプロセスには数日かかります。署名されたサーバー SSL 証明書CA のルート証明書が .cer ファイルとして返されます。
  3. サーバー証明書は、SQL サーバーが実行されているすべてのノードにインストールする必要があります。CA ルート証明書は Password Manager Pro サーバーにインストールする必要があります。

1.3 自己署名証明書の作成

自己署名証明書を作成して使用するには、SQL サーバーがインストールされているノードの 1 つで次の手順を実行します。

1.3.1 Powershell を使用して自己署名証明書を作成

  1. SQL Server に移動し、Powershell を開きます (管理者として実行)。
  2. 次のコマンドを実行します。

    New-SelfSignedCertificate -DnsName FQDN of the SQL server -CertStoreLocation cert:\LocalMachine\My

  3. 上記のコマンドは、自己署名証明書をインストールしてローカルストアに保存します。

1.3.2 自己署名付き .pfx ファイルのエクスポート:

  1. (SQL サーバーが実行されているマシンで) [スタート] >> [実行] をクリックします。[実行] ダイアログ ボックスに[MMC]と入力します。
  2. [コンソール] メニューで、[スナップインの追加と削除] をクリックします。 [追加 >> 証明書]をクリックします。[追加] を再度クリックします。現在のユーザー アカウント、サービス アカウント、またはコンピューター アカウントのスナップインを開くように求められます。コンピューターアカウントを選択します。
  3. [証明書 (ローカル コンピューター)] >> [個人] >> [証明書] を選択します。
  4. 作成した自己署名証明書を見つけて右クリックし、.pfx ファイルをエクスポートします。

1.3.3 SQL サーバーが実行されているすべてのノードに自己署名 .pfx ファイルをインポート

  1. (SQL サーバーが実行されているマシンで) [スタート] >> [実行] をクリックします。[実行] ダイアログ ボックスに[MMC]と入力します。
  2. [コンソール] メニューで、[スナップインの追加と削除] をクリックします。 [追加 >> 証明書]をクリックします。[追加] を再度クリックします。現在のユーザー アカウント、サービス アカウント、またはコンピューター アカウントのスナップインを開くように求められます。コンピューターアカウントを選択します。
  3. [証明書 (ローカル コンピューター)] >> [個人] >> [証明書] を選択します。
  4. [証明書] を右クリックし、[すべてのタスク] >> [インポート] をクリックします。
  5. インストールするエクスポートされた .pfx ファイル証明書を参照して選択します。

1.3.4 Password Manager Pro にサーバー証明書をインストール

  1. サーバー証明書をコピーし、<Password Manager Pro Installation Folder>/bin ディレクトリに貼り付けます。
  2. <Password Manager Pro Installation Folder>/bin ディレクトリから、次のコマンドを実行します:
    importCert.bat <サーバー証明書の名前>
  3. これにより、証明書が Password Manager Pro 証明書ストアに追加されます。

2.SQL Server が実行されているすべてのノードにサーバー証明書をインストール

  1. (SQL サーバーが実行されているマシンで) [スタート] >> [実行] をクリックします。[実行] ダイアログ ボックスに[MMC]と入力します。
  2. [コンソール] メニューで、[スナップインの追加と削除] をクリックします。 [追加 >> 証明書]をクリックします。[追加] を再度クリックします。現在のユーザー アカウント、サービス アカウント、またはコンピューター アカウントのスナップインを開くように求められます。
  3. コンピューターアカウントを選択します。
  4. [証明書 (ローカル コンピューター)] >> [個人] >> [証明書] を選択します。
  5. [証明書] を右クリックし、[すべてのタスク] >> [インポート] をクリックします。
  6. インストールする証明書を参照して選択します。

3.Password Manager Pro に CA のルート証明書をインストール

  1. CAのルート証明書をコピーして、<Password Manager Pro Installation Folder >/binのディレクトリに貼り付けます。
  2. <Password Manager Pro Installation Folder>/binディレクトリから、次のコマンドを実行します:
    importCert.bat <上で説明したように貼り付けられたルート証明書の名前>
  3. これにより、証明書が Password Manager Pro 証明書ストアに追加されます。

4.SQL Server が実行されているすべてのノードで SSL 暗号化を有効化

  • SQL Server が接続を暗号化するために使用する証明書は、次のレジストリ キーで指定されます:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.x\MSSQLServer\SuperSocketNetLib\Certificate

  • このキーには、サーバー内の各証明書を一意に識別するサムプリントと呼ばれる証明書のプロパティが含まれています。
  • 上記の手順を使用して作成された証明書のサムプリント値をコピーし、レジストリの証明書プロパティで更新する必要があります。

サムプリントをコピーするには、以下に詳述する手順に従って正しくコピーしてください

  1. サムプリントから Unicode 文字を削除します。これを行うには、サムプリントをメモ帳に貼り付けます。
  2. メモ帳の内容を ANSI 形式の別のファイルとして保存すると、次のダイアログが表示されます。[OK] をクリックして続行します。
  3. 次に、ANSIフォーマットのファイルを開き、ファイルから[?]文字を削除します。
  4. サムプリント内の文字間のスペースを削除します。
  5. このサムプリントを次の場所に保存します:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.x\MSSQLServer\Certificate property

5.ChangeDB.batを実行

上記の手順を完了したら、Password Manager Pro で ChangeDB.bat を実行する必要があります。詳細については、ヘルプ ドキュメントの[MS SQL Server をバックエンド データベースとして使用]の章の[Password Manager Pro で ChangeDB.bat を実行]セクションを参照してください。