ServiceDesk Plus オンプレミス版 ナレッジベース

MSSQLとのセキュアな接続方法


本ナレッジではMSSQLとのセキュアな接続方法について記載いたします。

手順概要

    1. SSL証明書を作成
    2. ServiceDesk PlusにSSL証明書をインポート
    3. SQLサーバーでSSL暗号化を有効

手順 1

このプロセスを開始するには、「SSL証明書」を作成する必要があります。

自己署名証明書でもサードパーティー証明書でもどちらでも構いません。

MSSQLサーバーがインストールされているマシンで、自己署名付きのSSL証明書を作成する手順は、以下の通りです。

  1. IISマネージャーを開く
  2. 接続先のホスト名をクリックし、右ペインの「Server Certification(サーバー証明書)」をクリック
  3. 右ペインのアクションメニューの、ベリサインのような検証済みの証明書局をインポートするオプションを選択、
    または、「Create self-signed certificate(自己署名証明書の作成)」をクリックし、情報を入力
  4. 作成完了(作成された自己署名証明書は、1 年間有効です)

 

手順 2

自己署名/サードパーティーのSSL証明書をServiceDesk Plusにインポートする方法

これを行うには、まずIISサーバーから作成された自己署名付きSSL証明書をエクスポートする必要があります。

SSL証明書をエクスポートする手順は、以下の通りです。

  1. IISマネージャーで証明書を開く
  2. 詳細タブをクリック
  3. ファイルのコピーオプションをクリック
  4. 「Certificate Export wizard(証明書のエクスポートウィザード)」ページが開くので、「next(次へ)」ボタンをクリック
  5. 「Export private key(秘密キーのエクスポート)」ウィンドウで、「NO, do not export the private key(秘密キーをエクスポートしない)」オプションを選択し、「next(次へ)」ボタンをクリック
  6. 「Export file format(ファイル形式のエクスポート)」ウィンドウで、
    DER encoded binary X.509 (.CER)またはBase-64 encoded X.509 (.CER)のいずれかを選択し、「next(次へ)」ボタンをクリック
  7. 証明書ファイルをエクスポートするディレクトリを探す(例 : <SDP Installation Folder>/jre directory)
  8. 「next(次へ)」をクリックし、「Finish(完了)」 をクリックして証明書をエクスポート

または

  1. エクスポートした証明書を<SDP Installation Folder>/jreディレクトリにコピー&ペースト
  2. <SDP Installation Folder>/jreディレクトリ下で以下のコマンドを実行

 "%JAVA_HOME%\bin\keytool" -import -v -trustcacerts -alias  myserver -file  <サーバー証明書名>.cer -keystore "%JAVA_HOME%\lib\security\cacerts" -keypass changeit -storepass changeit -noprompt

上記のコマンドを実行すると、ローカルストアに自己署名証明書がインストールされます。

手順 3:

MSSQLサーバーでSSL暗号化を有効にする方法
  1. 「SQL Server構成マネージャー(SQL Server Configuration Manager)」を開く
  2. 「SQL Serverネットワーク構成(SQL Server Network Configuration)」を展開し、右のSQL サーバーインスタンスを選択し、右クリックして「プロパティ(Properties)」を選択
  3. 「証明書(Certificate)」タブの下で、作成/インポートされたSSL証明書を関連付けて、「Apply(適用)」ボタンをクリック
  4. 「Flags(フラグ)」タブで、 「ForceEncryption」オプションを「Yes(はい)」に変更

シンタックス 「-Djsse.enableCBCProtection=false」を、
<インストールディレクトリ>/ManageEngine/ServiceDesk/binにあるrun.batファイルと、
<インストールディレクトリ>/ManageEngine/ServiceDesk/confにあるwrapper.confファイルに追加

さらに、シンタックス 「ssl=require」を、<インストールディレクトリ>にある database_params.conf ファイルに追加

 

以下のスクリーンショットを参照してください。

run.bat:

wrapper.conf:

database_params.conf:

シンタックスを追加したら、変更を反映させるため、MSSQLとServiceDesk Plusを再起動する必要があります。

接続が暗号化されているかどうかを確認するには、以下のクエリを実行します。

select * from sys.dm_exec_connections where client_net_address='<SDPサーバーのIPアドレス>';

上記クエリの実行結果でencrypt_optionカラムが'TRUE'であればコネクションは暗号化されています。