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

PAM360では、MS SQLクラスタをバックエンドデータベースに使用できます。PAM360を構成してMS SQLクラスタをバックエンドとして使用する手順は、PAM360は、高レベルのセキュリティを確保するためSQLサーバークラスタをSSLのみから接続することから、スタンドアロンSQLサーバーをバックエンドデータベースとして使用する手順とは大幅に異なります。

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

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

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

MSSQL常時オンフェールオーバークラスタを使用するには、下の説明のとおり、pam360_key.keyにエントリを追加する必要があります:

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

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

MS SQLクラスターをバックエンドデータベースとして使用するには、以下のトピックがあります:

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

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

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

    1.3 自己署名証明書を作成

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

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

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

PAM360にSQL Serverで接続を試行する前に、SSL暗号化をSQL Serverで有効にする必要があります。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サイトをチェックしてください。認証局に支払われるコストに関する情報も記載されています。
  2. このプロセスには数日かかり、署名済サーバーSSL証明書CAのルート証明書が.cerファイルとして返されます。
  3. サーバー証明書は、SQL サーバーが実行されているすべてのノードにインストールする必要があります。CAルート証明書をPAM360 Serverにインストールする必要があります。

1.3 自己署名証明書の作成

自己署名証明書を作成して使用するには、以下の手順をSQL Serverがインストールされているノードの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 サーバー証明書をPAM360にインストール

  1. サーバー証明書をコピーし、<PAM360インストールフォルダ>/binディレクトリに貼り付けます。
  2. <PAM360インストールフォルダ内&/binディレクトリから以下のコマンドを実行します:
    importCert.bat <name of the server certificate>
  3. これにより、証明書が PAM360 証明書ストアに追加されます。

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

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

3.CAのルート証明書をPAM360にインストール

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

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を実行

上の手順を完了した後、ChangeDB.batをPAM360で実行する必要があります。詳細は、ヘルプドキュメントのセクションMS SQL Serverをバックエンドとして使用の手順1.1.4を参照してください。