Solution Manager サーバーでの SSL/TLS の有効化¶
重要
Solution Manager で SSL/TLS を有効化した後、以下の操作を行う必要があります。
このインストール環境に接続するすべての Denodo サーバーの構成を変更します。これは、それらのサーバーが Solution Manager に接続する際に SSL/TLS を使用する必要があることを示すために行います。
この手順については、『インストールガイド』の「 License Manager への接続の構成 」を参照してください。
Denodo SSL/TLS 構成スクリプト を使用してこの手順を自動的に実行することもできます。この Denodo Solution Manager インストール環境に接続する Denodo Platform インストール環境でこのスクリプトを実行してください。
自動クラウドモードの構成 で Solution Manager Administration Tool ポートの値がある場合は、この値を、対応する SSL ポートの値に更新します。
自動化されたクラスタを 再作成 します。
重要
Linux では、1024 未満のポート番号を接続のために利用できるのは、 root ユーザーによって起動されたプロセスのみです。
この制限を克服するために、 iptables を使用して、ポート 443 (デフォルトの HTTPS ポート) からの着信トラフィックを 9443 に、ポート 80 (デフォルトの HTTP ポート) からの着信トラフィックを 9090 に、それぞれリダイレクトできます。 root アカウントで Solution Manager を起動する方法もあります。
組み込みの Apache Tomcat のデフォルトのポートを変更する場合、このことを考慮してください。
注釈
このセクションで詳細に説明している手順を実行する前に、「 Denodo SSL/TLS 構成スクリプト 」を確認することを検討してください。これらの手順はスクリプトでも実行できます。
以下の手順に従って、Solution Manager インストール環境のサーバーへの着信接続を SSL/TLS で保護し、Web コンテナーで HTTPS を有効にします。
この操作により、Solution Manager サーバーとその管理ツール間の通信、および Solution Manager サーバーとそのクライアント間の通信が暗号化されるようになります。
Solution Manager のすべてのコンポーネントを停止します。目的は Web コンテナーを停止することです。コンポーネントをすべて停止することが重要です。それによって、Denodo Web コンテナーも停止します。たとえば、Diagnostic & Monitoring Tool を起動したままにした場合、Web コンテナーはシャットダウンされず、
tomcat.properties
ファイルに対する変更は有効になりません。<SOLUTION_MANAGER_HOME>/conf/vdp/VDBConfiguration.properties
ファイルを編集します。以下のプロパティをコメント解除して、値を変更します。
com.denodo.security.ssl.enabled |
|
com.denodo.security.ssl.keyStore |
Solution Manager の秘密キーが含まれる キーストア のパス。Denodo Platform インストール環境と同じキーストアを使用できます。 例: Solution Manager が Windows 上で動作している場合も、パス区切り文字にはスラッシュ ( |
com.denodo.security.ssl.keyStorePassword |
Solution Manager の秘密キーが含まれる キーストア のパスワード (このファイルは常にパスワードで保護されています)。 このプロパティには、プレーンテキストのパスワードまたは暗号化されたパスワードを保存できます。パスワードは暗号化することをお勧めします。パスワードを暗号化するには、 |
com.denodo.security.ssl. keyStorePassword.encrypted |
|
com.denodo.security.ssl.trustStore com.denodo.security.ssl. trustStorePassword com.denodo.security.ssl. trustStorePassword.encrypted |
この 3 つのプロパティは、コメント化されたままにします。 |
以下のファイルを編集します。
<SOLUTION_MANAGER_HOME>/conf/solution-manager/SMConfigurationParameters.properties
<SOLUTION_MANAGER_HOME>/conf/license-manager/LMConfigurationParameters.properties
これらのファイルで、以下のプロパティをコメント解除して、値を変更します。
server.ssl.key-store |
Solution Manager サーバーの秘密キーが含まれる キーストア のパス。Virtual DataPort サーバーと同じキーストアを使用できます。 例: Denodo サーバーが Windows 上で動作している場合も、パス区切り文字にはスラッシュ ( |
server.ssl.key-store-password |
Solution Manager の秘密キーが含まれる キーストア のパスワード (このファイルは常にパスワードで保護されています)。 このプロパティには、プレーンテキストのパスワードまたは暗号化されたパスワードを保存できます。パスワードは暗号化することをお勧めします。パスワードを暗号化するには、 |
server.ssl.key-store-password.encrypted |
|
com.denodo.security.ssl.trustStore com.denodo.security.ssl. trustStorePassword com.denodo.security.ssl. trustStorePassword.encrypted |
この 3 つのプロパティは、コメント化されたままにします。 |
<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 |
|
com.denodo.security.ssl.keyStore |
Solution Manager の証明書が含まれる キーストア のパス。 例: Denodo サーバーが Windows 上で動作している場合も、パス区切り文字にはスラッシュ (/) を使用する必要があります。 |
com.denodo.security.ssl.keyStorePassword |
Solution Manager の証明書が含まれる キーストア のパスワード。パスワードの値は、プレーンテキストで、または暗号化して保存できます。暗号化された有効な値を取得するには、 |
com.denodo.security.ssl. keyStorePassword.encrypted |
キーストア のパスワードが暗号化されている場合は、 |
com.denodo.security.ssl.trustStore com.denodo.security.ssl. trustStorePassword com.denodo.security.ssl. trustStorePassword.encrypted |
この 3 つのプロパティは、コメント化されたままにします。 |
com.denodo.rmi.connection.tlsProtocol |
Tomcat で実行されるアプリケーションと VDP サーバーとの通信に、特定の TLS バージョン ( |
<SOLUTION_MANAGER_HOME>/resources/apache-tomcat/conf/server.xml
ファイルを編集します。SSL コネクターのコメントを解除します。つまり、
SSLEnabled="true"
が含まれる「Connector」エレメントを見つけて、このエレメントを囲んでいる<--
と-->
の文字を削除します。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 のドキュメントを確認してください。
Tomcat 上で TLS/SSL を有効にすると、Solution Manager サーバーを起動したユーザーアカウントで、Solution Manager サーバーが動作するホストに接続できるユーザーは、実行中のプロセスの一覧で、キーストアのパスワードを確認できるようになります。これは、デフォルトでは、このパスワードが Web コンテナーを起動するスクリプトのパラメータとして渡されるからです。
これ (つまり Tomcat のコマンドラインにパスワードが追加されること) を回避するには、以下の手順に従って実施してください。
重要
手順 2 で
com.denodo.security.ssl.keyStorePassword.encrypted
プロパティをtrue
に設定した場合、以下の手順は必須です。実行しないと、Tomcat は起動しません。このプロパティがfalse
の場合、この手順は必須ではありません。<SOLUTION_MANAGER_HOME>/resources/apache-tomcat/conf/jmxssl.properties
ファイルが存在するかどうかを確認します。存在しない場合、作成して空のままにします。<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
のまま) にします。<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 コンテナーは起動しません。
<SOLUTION_MANAGER_HOME>/conf/solution-manager-web-tool/SMAdminConfiguration.properties
ファイルを編集します。com.denodo.solutionmanager.security.ssl.enabled
プロパティの値をtrue
に変更します。Denodo Platform のサーバーを起動します。
変更を行う (手順 1) 前にすべてのサーバーを停止することが重要です。すべて停止すると、Denodo Web コンテナーも停止します。
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.trustStore
、 com.denodo.security.ssl.trustStorePassword
、および com.denodo.security.ssl.trustStorePassword.password
の各プロパティをコメント化されたままにすることにより、これらのモジュールはインストール環境のデフォルトの トラストストア (<SOLUTION_MANAGER_HOME>/jre/lib/security/cacerts
) を使用するようになります。
デフォルト以外の トラストストア を使用するように Solution Manager を構成することも可能です。この場合、Solution Manager の構成が難しくなるため、 お勧めはしません が、そのように構成したい場合は、以下の手順に従って実施してください。
<SOLUTION_MANAGER_HOME>/conf/solution-manager/SMConfigurationParameters.properties
ファイルを開きます。com.denodo.security.ssl.trustStore
プロパティをコメント解除して、値を トラストストア のパスに設定します。以下に例を示します。com.denodo.security.ssl.trustStore=C:/settings/my_external_cacerts_file
Solution Manager が Windows 上で動作している場合も、パス区切り文字にはスラッシュ (
/
) を使用する必要があります。com.denodo.security.ssl.trustStorePassword
プロパティをコメント解除して、値を トラストストア のパスワードに設定します。このパスワードは、プレーンテキストで、または暗号化して保存できます。パスワードの暗号化された値を取得するには、{<DENODO_HOME>}/bin/encrypt_password
スクリプトを実行します。com.denodo.security.ssl.trustStorePassword
プロパティに暗号化された値を入力した場合は、com.denodo.security.ssl.trustStorePassword.encrypted
プロパティをコメント解除して、値をtrue
に設定します。このプロパティを
true
に設定した場合は、手順 6 (前述) も実行する必要があります (まだ実行していない場合)。これを実行しないと、Tomcat は起動しません。<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