Solution Manager サーバーでの SSL/TLS の有効化

重要

Solution Manager で SSL/TLS を有効化した後、以下の操作を行う必要があります。

  • このインストール環境に接続するすべての Denodo サーバーの構成を変更します。これは、それらのサーバーが Solution Manager に接続する際に SSL/TLS を使用する必要があることを示すために行います。

  • 自動クラウドモード (AWS) の構成 で Solution Manager Administration Tool ポートの値がある場合は、この値を、対応する SSL ポートの値に更新します。

  • 自動化されたクラスターを 再作成 します。

重要

Linux では、1024 未満のポート番号を接続のために利用できるのは、 root ユーザーによって起動されたプロセスのみです。

この制限を克服するために、 iptables を使用して、ポート 443 (デフォルトの https ポート) からの着信トラフィックを 9443 に、ポート 80 (デフォルトの http ポート) からの着信トラフィックを 9090 に、それぞれリダイレクトできます。 root アカウントで Solution Manager を起動する方法もあります。

組み込みの Apache Tomcat のデフォルトのポートを変更する場合、このことを考慮してください。

注釈

Consider checking the Denodo SSL/TLS Configurator Script before following the steps detailed in this section. The script can perform these steps for you.

以下の手順に従って、Solution Manager インストール環境のサーバーへの着信接続を SSL/TLS で保護し、Web コンテナーで https を有効にします。

この操作により、Solution Manager サーバーとその管理ツール間の通信、および Solution Manager サーバーとそのクライアント間の通信が暗号化されるようになります。

  1. Solution Manager のすべてのコンポーネントを停止します。目的は Web コンテナーを停止することです。コンポーネントをすべて停止することが重要です。それによって、Denodo Web コンテナーも停止します。たとえば、Diagnostic & Monitoring Tool を起動したままにした場合、Web コンテナーはシャットダウンされず、 tomcat.properties ファイルに対する変更は有効になりません。

  2. <SOLUTION_MANAGER_HOME>/conf/vdp/VDBConfiguration.properties ファイルを編集します。以下のプロパティをコメント解除して、値を変更します。

com.denodo.security.ssl.enabled

true に設定します。

com.denodo.security.ssl.keyStore

Solution Manager の秘密キーが含まれる キーストア のパス。Denodo Platform インストール環境と同じキーストアを使用できます。

例: C:/DenodoSolutionManager/denodo_server_key_store.jks

Solution Manager が Windows 上で動作している場合も、パス区切り文字にはスラッシュ (/) を使用する必要があります。

com.denodo.security.ssl.keyStorePassword

Solution Manager の秘密キーが含まれる キーストア のパスワード (このファイルは常にパスワードで保護されています)。

このプロパティには、プレーンテキストのパスワードまたは暗号化されたパスワードを保存できます。パスワードは暗号化することをお勧めします。パスワードを暗号化するには、 {<DENODO_HOME>}/bin/encrypt_password を実行してキーストアのパスワードを入力し、このツールの出力をこのプロパティにコピーします。

com.denodo.security.ssl. keyStorePassword.encrypted

keyStorePassword プロパティのパスワードを暗号化した場合、 true に設定します。それ以外の場合、 false に設定します。

com.denodo.security.ssl.trustStore

com.denodo.security.ssl. trustStorePassword

com.denodo.security.ssl. trustStorePassword.encrypted

この 3 つのプロパティは、コメント化されたままにします。

  1. 以下のファイルを編集します。

    1. <SOLUTION_MANAGER_HOME>/conf/solution-manager/SMConfigurationParameters.properties

    2. <SOLUTION_MANAGER_HOME>/conf/license-manager/LMConfigurationParameters.properties

    これらのファイルで、以下のプロパティをコメント解除して、値を変更します。

server.ssl.key-store

Solution Manager サーバーの秘密キーが含まれる キーストア のパス。Virtual DataPort サーバーと同じキーストアを使用できます。

例: C:/DenodoSolutionManager/denodo_server_key_store.jks

Denodo サーバーが Windows 上で動作している場合も、パス区切り文字にはスラッシュ (/) を使用する必要があります。

server.ssl.key-store-password

Solution Manager の秘密キーが含まれる キーストア のパスワード (このファイルは常にパスワードで保護されています)。

このプロパティには、プレーンテキストのパスワードまたは暗号化されたパスワードを保存できます。パスワードは暗号化することをお勧めします。パスワードを暗号化するには、 {<DENODO_HOME>}/bin/encrypt_password を実行してキーストアのパスワードを入力し、このツールの出力をこのプロパティにコピーします。

server.ssl.key-store-password.encrypted

keyStorePassword プロパティのパスワードを暗号化した場合、 true に設定します。それ以外の場合、 false に設定します。

com.denodo.security.ssl.trustStore

com.denodo.security.ssl. trustStorePassword

com.denodo.security.ssl. trustStorePassword.encrypted

この 3 つのプロパティは、コメント化されたままにします。

  1. <SOLUTION_MANAGER_HOME>/resources/apache-tomcat/conf/tomcat.properties ファイルを編集します。以下のプロパティをコメント解除して、値を設定します。

com.denodo.tomcat.http.port

http を無効化して https 接続のみを許可する場合は、このプロパティをコメント化します。

http と https を許可する場合は、このプロパティをそのままにします。

com.denodo.tomcat.https.port

https 接続に利用するポート。対象のホストでこのポートが空いていることを確認してください。

URL でポートを指定しなくてもクライアントが HTTPS インターフェイスにアクセスできるようにするには、19443 ではなく 443 に設定します。これにより、ユーザーは、https://denodo-server.acme.com/denodo-restfulws のような URL で HTTPS インターフェイスにアクセスできるようになります。https://denodo-server.acme.com:19443/denodo-restfulws のように指定する必要はありません。

Linux では、 root 以外のユーザーによって起動されたプロセスは 1024 未満のポート番号を接続に利用できないことに注意してください。ただし、この場合、 iptables を使用してポート 443 をポート 19443 にリダイレクトすることができます。

com.denodo.security.ssl.enabled

true に設定します。

com.denodo.security.ssl.keyStore

Solution Manager の証明書が含まれる キーストア のパス。

例: com.denodo.security.ssl.keyStore= C:/DenodoSolutionManager/denodo_server_key_store.jks

Denodo サーバーが Windows 上で動作している場合も、パス区切り文字にはスラッシュ (/) を使用する必要があります。

com.denodo.security.ssl.keyStorePassword

Solution Manager の証明書が含まれる キーストア のパスワード。パスワードの値は、プレーンテキストで、または暗号化して保存できます。暗号化された有効な値を取得するには、 {<DENODO_HOME>}/bin/encrypt_password スクリプトを使用します。

com.denodo.security.ssl. keyStorePassword.encrypted

キーストア のパスワードが暗号化されている場合は、 true に設定します。

com.denodo.security.ssl.trustStore

com.denodo.security.ssl. trustStorePassword

com.denodo.security.ssl. trustStorePassword.encrypted

この 3 つのプロパティは、コメント化されたままにします。

  1. <SOLUTION_MANAGER_HOME>/resources/apache-tomcat/conf/server.xml ファイルを編集します。

    1. SSL コネクターのコメントを解除します。つまり、 SSLEnabled="true" が含まれる「Connector」エレメントを見つけて、このエレメントを囲んでいる <----> の文字を削除します。

    2. HTTP 経由のアクセスを無効化して、HTTPS 接続のみを許可するには、port="${com.denodo.tomcat.http.port}" が含まれる「Connector」エレメントを <----> で囲んでコメント化します。以下に例を示します。

<!--
  <Connector port="${com.denodo.tomcat.http.port}"
             protocol="HTTP/1.1"
             maxThreads="150"
             minSpareThreads="25"
             redirectPort="${com.denodo.tomcat.https.port}"
             connectionTimeout="20000"
             URIEncoding="UTF-8"
             compression="on"
             compressionMinSize="1024"
             noCompressionUserAgents="gozilla, traviata"
             compressableMimeType="text/html,text/xml,application/json,application/xml,text/css,text/javascript,application/javascript" />
-->

暗号の制限、クライアント認証の有効化など、Web コンテナーのデフォルトの SSL/TLS 設定を変更する方法を理解するには、Apache Tomcat のドキュメントを確認してください。

  1. Tomcat 上で TLS/SSL を有効にすると、Solution Manager サーバーを起動したユーザーアカウントで、Solution Manager サーバーが動作するホストに接続できるユーザーは、実行中のプロセスの一覧で、キーストアのパスワードを確認できるようになります。これは、デフォルトでは、このパスワードが Web コンテナーを起動するスクリプトのパラメーターとして渡されるからです。

    これ (つまり Tomcat のコマンドラインにパスワードが追加されること) を回避するには、以下の手順に従って実施してください。

    重要

    手順 2 で com.denodo.security.ssl.keyStorePassword.encrypted プロパティを true に設定した場合、以下の手順は必須です。実行しないと、Tomcat は起動しません。このプロパティが false の場合、この手順は必須ではありません。

    1. <SOLUTION_MANAGER_HOME>/resources/apache-tomcat/conf/jmxssl.properties ファイルが存在するかどうかを確認します。存在しない場合、作成して空のままにします。

    2. <SOLUTION_MANAGER_HOME>/resources/apache-tomcat/conf/tomcat.properties ファイルを編集して、 com.denodo.security.management.jmxremote.ssl.config.file プロパティをコメント解除します。プロパティのコメント解除のみを行い、デフォルト値はそのまま (つまり <SOLUTION_MANAGER_HOME>/resources/apache-tomcat/conf/jmxssl.properties のまま) にします。

    3. <SOLUTION_MANAGER_HOME>/resources/apache-tomcat/conf/jmxssl.properties ファイルの権限を変更して、Denodo サーバーを起動するユーザーアカウントと同じユーザーアカウントのみがこのファイルを読み書きできるようにします。

      これを行うには、以下のコマンドを実行します。

      • Linux の場合、Denodo サーバーを起動するユーザーアカウントで以下のコマンドを実行します。

      chmod 600 <SOLUTION_MANAGER_HOME>/resources/apache-tomcat/conf/jmxssl.properties
      
      • Windows の場合、 Windows メニュー の [コマンド プロンプト] アイコンを右クリックして、[管理者として実行] をクリックします。

        以下のコマンドを実行します (<denodo_user> は、Denodo サーバーを起動するユーザーアカウントに置き換えます)。

      cd <SOLUTION_MANAGER_HOME>\resources\apache-tomcat\conf\
      icacls jmxssl.properties /setowner <denodo_user>
      icacls jmxssl.properties /grant <denodo_user>:(GR,GW)
      icacls jmxssl.properties /inheritance:r
      

      これらの権限を変更しないと、Web コンテナーは起動しません。

  2. <SOLUTION_MANAGER_HOME>/conf/solution-manager-web-tool/SMAdminConfiguration.properties ファイルを編集します。

    com.denodo.solutionmanager.security.ssl.enabled プロパティの値を true に変更します。

  3. Denodo Platform のサーバーを起動します。

    変更を行う (手順 1) 前にすべてのサーバーを停止することが重要です。すべて停止すると、Denodo Web コンテナーも停止します。

  4. HTTPS が正常に有効化されたことを確認するために、Solution Manager Administration Tool と他のすべてのモジュールを起動します。次に、https://denodo-solution-manager.acme.com:19443/solution-manager-web-tool にアクセスしてログインします (19443 は com.denodo.tomcat.https.port プロパティのデフォルト値です)。

トラストストア (cacerts ファイル) の追加情報

これらのファイルの com.denodo.security.ssl.trustStorecom.denodo.security.ssl.trustStorePassword 、および com.denodo.security.ssl.trustStorePassword.password の各プロパティをコメント化されたままにすることにより、これらのモジュールはインストール環境のデフォルトの トラストストア (<SOLUTION_MANAGER_HOME>/jre/lib/security/cacerts) を使用するようになります。

デフォルト以外の トラストストア を使用するように Solution Manager を構成することも可能です。この場合、Solution Manager の構成が難しくなるため、 お勧めはしません が、そのように構成したい場合は、以下の手順に従って実施してください。

  1. <SOLUTION_MANAGER_HOME>/conf/solution-manager/SMConfigurationParameters.properties ファイルを開きます。

  2. com.denodo.security.ssl.trustStore プロパティをコメント解除して、値を トラストストア のパスに設定します。以下に例を示します。

    com.denodo.security.ssl.trustStore=C:/settings/my_external_cacerts_file
    

    Solution Manager が Windows 上で動作している場合も、パス区切り文字にはスラッシュ (/) を使用する必要があります。

  3. com.denodo.security.ssl.trustStorePassword プロパティをコメント解除して、値を トラストストア のパスワードに設定します。このパスワードは、プレーンテキストで、または暗号化して保存できます。パスワードの暗号化された値を取得するには、 {<DENODO_HOME>}/bin/encrypt_password スクリプトを実行します。

  4. com.denodo.security.ssl.trustStorePassword プロパティに暗号化された値を入力した場合は、 com.denodo.security.ssl.trustStorePassword.encrypted プロパティをコメント解除して、値を true に設定します。

    このプロパティを true に設定した場合は、手順 6 (前述) も実行する必要があります (まだ実行していない場合)。これを実行しないと、Tomcat は起動しません。

  5. <SOLUTION_MANAGER_HOME>/conf/solution-manager/denodo-monitor/ConfigurationParametersGeneral.template ファイルを編集し、 com.denodo.security.ssl.trustStore プロパティをコメント解除して、値を、使用する トラストストア に設定します。以下に例を示します。

    com.denodo.security.ssl.trustStore=c:/settings/my_external_cacerts_file