3.6. 自動化された JBoss Web Server 設定タスクの有効化
JBoss Web Server コレクションは、JBoss Web Server インストールの自動設定を可能にする変数の包括的なセットを提供します。デフォルトでは、JBoss Web Server コレクションは JBoss Web Server がポート 8080 で非セキュア HTTP 接続をリッスンするように設定します。
次のようなその他の製品機能は、デフォルトで無効になっています。
- セキュアな HTTPS 接続のサポート
-
JBoss Web Server バックエンドへの HTTP サーバーリクエストを負荷分散するための
Mod_clusterサポート - 機密データを暗号化された Java キーストアに格納するためのパスワード vault
製品機能のより広いセットを有効にするために、設定要件に合わせて JBoss Web Server コレクションの動作を変更する変数を定義できます。
以下のサブセクションでは、JBoss Web Server コレクションが実行できる自動設定更新のサブセットのみを説明します。これらの更新例は、HTTPS 接続のサポートの有効化、mod_cluster サポートの有効化、およびパスワード vault の有効化に重点を置いています。
JBoss Web Server コレクションが提供する変数の完全なリストは、Ansible Automation Hub の jws ロールの情報ページ を参照してください。JBoss Web Server 機能の設定と使用の詳細は、Red Hat JBoss Web Server ドキュメントページ を参照してください。
3.6.1. JBoss Web Server での HTTPS サポートの自動設定の有効化 リンクのコピーリンクがクリップボードにコピーされました!
HTTPS プロトコルを介した Web クライアントと Web サーバー間の安全な暗号化接続をサポートするように JBoss Web Server を設定できます。
JBoss Web Server コレクションを使用する場合は、HTTPS サポートを有効にするための次のガイドラインを考慮してください。
- HTTPS サポートを有効にする場合は、後で Playbook を実行する前に、各ターゲットホストに Java キーストアが存在することを確認する必要があります。JBoss Web Server コレクションは、Java キーストアを自動的に提供または作成しません。この状況では、次の手順の ステップ 1 で説明されているように、ターゲットホストに新しいキーストアを作成するか、既存のキーストアファイルを各ターゲットホストにコピーする必要があります。
-
HTTPS サポートを有効にするには、
jws_listen_https_enabled変数をTrueに設定します。 -
HTTPS サポートを有効にすると、JBoss Web Server コレクションは、Java キーストアの適切なパスとパスワード設定を使用して、各ターゲットホストの
server.xmlファイルを更新します。デフォルトでは、JBoss Web Server コレクションは、これらのパスとパスワードの設定をserver.xmlファイルに設定し、値はそれぞれ/etc/ssl/keystore.jksとchangeitです。ただし、別のキーストアパスまたはキーストアパスワードを使用する場合は、設定要件に合わせて JBoss Web Server コレクションの動作を変更できます。
手順
Java キーストアを作成する場合は、次の手順を実行します。
キーストアを作成する ターゲットホスト にログインします。
注記JDK がすでにインストールされており、
JAVA_HOME変数がターゲットホストに設定されていることを確認します。キーストアを作成するには、次のコマンドを入力します。
$JAVA_HOME/bin/keytool -genkeypair -alias tomcat -keyalg RSA -keystore <path_to_keystore>
$JAVA_HOME/bin/keytool -genkeypair -alias tomcat -keyalg RSA -keystore <path_to_keystore>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 上記のコマンドで、<path_to_keystore> を、作成するキーストアファイルへのフルパスに置き換えます。
-keystoreオプションを指定しない場合、コマンドは、インストールした JDK のバージョンに応じたデフォルトの場所にキーストアファイルを作成します。たとえば、Red Hat build of OpenJDK を使用している場合、キーストアのデフォルトの場所は/etc/ssl/keystore.jksです。上記のコマンドは、公開鍵と秘密鍵のペアと、サーバー認証用の単一の自己署名証明書を含むキーストアファイルを生成します。キーペアと自己署名証明書は、
-aliasオプション (tomcatなど) で識別される単一のキーストアエントリーに格納されます。keytoolコマンドで次の情報の入力を求めるプロンプトが表示されたら、セットアップに適した値を入力します。-
キーストアのパスワード (デフォルトでは
changeit) - 証明書に関する一般情報
- 証明書のキーパスワード (デフォルトでは、キーストアパスワード)
-
キーストアのパスワード (デフォルトでは
注記または、新しいキーストアを作成する代わりに、Linux の
scpコマンドを使用して、異なるホスト間で既存のキーストアファイルをコピーできます。HTTPS 接続のサポートを有効にするには、次の手順を実行します。
-
Ansible コントロールノード で、
vars.ymlファイルを開きます。 jws_listen_https_enabled変数をTrueに設定します。以下に例を示します。
[...] jws_listen_https_enabled: True
[...] jws_listen_https_enabled: TrueCopy to Clipboard Copied! Toggle word wrap Toggle overflow 各ターゲットホストの Java キーストアが
/etc/ssl/keystore.jks以外のパスにある場合は、jws_listen_https_keystore_file変数を適切な値に設定します。以下に例を示します。
[...] jws_listen_https_keystore_file: <keystore_path>
[...] jws_listen_https_keystore_file: <keystore_path>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 前の例の <keystore_path> を、各ターゲットホストにあるキーストアファイルへのフルパスに置き換えます。
注記jws_listen_https_keystore_file変数を設定しない場合、JBoss Web Server コレクションはserver.xmlファイルのcertificateKeystoreFile設定を/etc/ssl/keystore.jksの値で自動的に設定します。各ターゲットホストの Java キーストアが
changeit以外のパスワードを使用する場合は、jws_listen_https_keystore_password変数を適切な値に設定します。以下に例を示します。
[...] jws_listen_https_keystore_password: <keystore_password>
[...] jws_listen_https_keystore_password: <keystore_password>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 前の例の <keystore_password> を、各ターゲットホストにある Java キーストアの正しいパスワードに置き換えます。
注記jws_listen_https_keystore_password変数を設定しない場合、JBoss Web Server コレクションは、値がchangeitのserver.xmlでcertificateKeystorePassword設定を自動的に設定します。-
変更を
vars.ymlファイルに保存します。
-
Ansible コントロールノード で、
3.6.2. JBoss Web Server での mod_cluster サポートの自動設定の有効化 リンクのコピーリンクがクリップボードにコピーされました!
mod_cluster コネクターは、JBoss Web Server バックエンドへの Apache HTTP Server リクエストの負荷を分散するための、設定が少なくて済むインテリジェントなソリューションです。mod_cluster コネクターは、リアルタイムの負荷分散計算、アプリケーションライフサイクル制御、自動プロキシー検出、複数プロトコルサポートなどの機能も提供します。mod_cluster サポートを有効にするには、変数を定義して mod_cluster リスナーを有効にし、mod_cluster インスタンスの IP アドレスとポート値を指定します。
手順
-
Ansible コントロールノードで、
vars.ymlファイルを開きます。 mod_clusterリスナーを有効にするには、jws_modcluster_enabled変数をTrueに設定します。以下に例を示します。
[...] jws_modcluster_enabled: True
[...] jws_modcluster_enabled: TrueCopy to Clipboard Copied! Toggle word wrap Toggle overflow mod_clusterインスタンスの IP アドレスとポートを指定するには、jws_modcluster_ip変数とjws_modcluster_port変数を適切な値に設定します。デフォルトの IP アドレスは127.0.0.1です。デフォルトのポートは6666です。以下に例を示します。
[...] jws_modcluster_ip: <ip_address> jws_modcluster_port: <port>
[...] jws_modcluster_ip: <ip_address> jws_modcluster_port: <port>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 前の例で、<ip_address> をターゲットホスト上の
mod_clusterインスタンスの適切なバインドアドレスに置き換え、<port> をmod_clusterインスタンスが受信リクエストをリッスンするために使用する適切なポートに置き換えます。-
変更を
vars.ymlファイルに保存します。
mod_cluster の使用の詳細は、HTTP コネクターおよび負荷分散ガイド を参照してください。
3.6.3. JBoss Web Server でのパスワード vault の自動設定の有効化 リンクのコピーリンクがクリップボードにコピーされました!
JBoss Web Server のパスワード vault を使用して、パスワードやその他の機密性の高い文字列をマスクし、暗号化された Java キーストアに機密情報を格納できます。パスワード vault を使用すると、JBoss Web Server 設定ファイルに平文のパスワードを保存するのを停止できます。JBoss Web Server は、パスワード vault を使用して、パスワードやその他の機密性の高い文字列をキーストアから検索できます。パスワード vault を有効にするには、パスワード vault が使用するさまざまなファイルと構成を指定できる一連の変数を設定できます。
前提条件
- JBoss Web Server コレクションがインストールされている。
-
必要な
vault.keystore、VAULT.dat、およびvault.propertiesファイルを作成している。これらのファイルの作成に関する詳細は、Red Hat JBoss Web Server インストールガイド を参照してください。
手順
-
Ansible コントロールノードで、
vars.ymlファイルを開きます。 前提条件の手順の一部として作成した
vault.keystore、VAULT.dat、およびvault.propertiesファイルへのパスを指定するには、次の変数を適切な値に設定します。以下に例を示します。
[...] jws_vault_name: ./vault_files/vault.keystore jws_vault_data: ./vault_files/VAULT.dat jws_vault_properties: ./vault_files/vault.properties
[...] jws_vault_name: ./vault_files/vault.keystore jws_vault_data: ./vault_files/VAULT.dat jws_vault_properties: ./vault_files/vault.propertiesCopy to Clipboard Copied! Toggle word wrap Toggle overflow
前の例では、前提条件の手順の一部として設定した正しいパスを指定していることを確認してください。
パスワードボールト機能を有効にするには、
jws_tomcat_vault_enabled変数をTrueに設定します。以下に例を示します。
[...] jws_tomcat_vault_enabled: True
[...] jws_tomcat_vault_enabled: TrueCopy to Clipboard Copied! Toggle word wrap Toggle overflow パスワード vault 用に設定したキーストアエイリアス、キーストアパスワード、繰り返し回数、ソルト値を指定するには、次の変数を適切な値に設定します。
以下に例を示します。
[...] jws_tomcat_vault_alias: <keystore_alias> jws_tomcat_vault_storepass: <keystore_password> jws_tomcat_vault_iteration: <iteration_count> jws_tomcat_vault_salt: <salt>
[...] jws_tomcat_vault_alias: <keystore_alias> jws_tomcat_vault_storepass: <keystore_password> jws_tomcat_vault_iteration: <iteration_count> jws_tomcat_vault_salt: <salt>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 前の例では、前提条件の手順の一部として設定した適切な値を指定していることを確認してください。
-
変更を
vars.ymlファイルに保存します。
パスワード Vault の使用の詳細は、Red Hat JBoss Web Server インストールガイド を参照してください。
3.6.4. JBoss Web Server の SELinux ポリシー リンクのコピーリンクがクリップボードにコピーされました!
Security-Enhanced Linux (SELinux) ポリシーを使用して、JBoss Web Server のアクセス制御を定義できます。これらのポリシーは、製品へのアクセス権を決定する一連のルールです。SELinux ポリシー機能はデフォルトで有効になっています。
JBoss Web Server をアーカイブファイルからインストールする場合、SELinux ポリシー機能を使用するには、指定された製品バージョンのネイティブアーカイブファイルもインストールする必要があります。デフォルトでは、JBoss Web Server コレクションは、ターゲットホストのオペレーティングシステムバージョンに一致するネイティブアーカイブファイルをインストールするように設定されています。