5.7. HTTPS 用の管理コンソールの設定
HTTPS 経由で のみ 通信するように JBoss EAP 管理コンソールを設定すると、セキュリティーが強化されます。クライアント(Web ブラウザー)と管理コンソール間のネットワークトラフィックはすべて暗号化されるため、中間者攻撃などのセキュリティー攻撃のリスクが軽減されます。JBoss EAP インスタンスを管理するユーザーは、そのインスタンスに対して非特権ユーザーよりも多くのパーミッションを持ち、HTTPS を使用すると、そのインスタンスの整合性と可用性の保護に役立ちます。
この手順では、JBoss EAP スタンドアロンインスタンスまたはドメインとの暗号化されていない通信を無効にします。これらの通信で使用されるパスワードは、JBoss EAP vault 機能を使用して暗号化され、設定ファイルで使用されるパスワードはマスクされます。
この手順は、
スタンドアロン
モードと ドメイン
モードの設定の両方に適用されます。ドメイン
モードでは、管理 CLI コマンドの前にホストの名前(例: /host=master )を付けます。
手順5.2
キーストアを作成して管理コンソールをセキュアにします。
注記管理コンソールは JCEKS 形式のキーストアと互換性がないため、このキーストアは JKS 形式である必要があります。端末エミュレーターで以下のコマンドを入力します。パラメーターエイリアス
、keypass
、keystore
、storepass
、およびdname
の場合は、サンプル値を任意の値に置き換えます。パラメーターvalidity
は、キーが有効な日数を指定します。730 の値は 2 年と等しくなります。keytool -genkeypair -alias appserver -storetype jks -keyalg RSA -keysize 2048 -keypass password1 -keystore
EAP_HOME/standalone/configuration/identity.jks
-storepass password1 -dname "CN=appserver,OU=Sales,O=Systems Inc,L=Raleigh,ST=NC,C=US" -validity 730 -v管理コンソールが HTTPS にバインドされていることを確認します。
スタンドアロンモード
management-https
設定を追加し、management-http
設定を削除して、管理コンソールがインターフェースのHTTPS
にバインドされていることを確認します。JBoss EAP インスタンスが稼働していることを確認してから、以下の管理 CLI コマンドを入力します。/core-service=management/management-interface=http-interface:write-attribute(name=secure-socket-binding, value=management-https)
/core-service=management/management-interface=http-interface:undefine-attribute(name=socket-binding)
これらのコマンドの出力は以下のようになります。{"outcome" => "success"}
注記この時点で、JBoss EAP ログに以下のエラーメッセージが表示されることがあります。SSL 設定が完了していないため、これは想定されています。JBAS015103: A secure port has been specified for the HTTP interface but no SSL configuration in the realm.
ドメインモード
secure-port を追加し、ポート設定を削除して、management-interface セクション内の socket 要素を変更します。JBoss EAP インスタンスが稼働していることを確認してから、以下の管理 CLI コマンドを入力します。/host=master/core-service=management/management-interface=http-interface:write-attribute(name=secure-port,value=9443) /host=master/core-service=management/management-interface=http-interface:undefine-attribute(name=port)
注記この時点で、JBoss EAP ログに以下のエラーメッセージが表示されることがあります。SSL 設定が完了していないため、これは想定されています。JBAS015103: A secure port has been specified for the HTTP interface but no SSL configuration in the realm.
オプション: カスタムの socket-binding グループ
カスタムのsocket-binding
グループを使用している場合は、management-https
バインディングが定義されていることを確認します(デフォルトではポート9443
にバインドされます)。マスター設定ファイル(例:standalone.xml
)を編集して以下と一致させます。<socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:0}"> <socket-binding name="management-native" interface="management" port="${jboss.management.native.port:9999}"/> <socket-binding name="management-http" interface="management" port="${jboss.management.http.port:9990}"/> <socket-binding name="management-https" interface="management" port="${jboss.management.https.port:9443}"/>
セキュリティーレルムを新たに作成します。
以下のコマンドを入力してManagementRealmHTTPS
という名前の新規セキュリティーレルムを作成します。/host=master/core-service=management/security-realm=ManagementRealmHTTPS/:add /host=master/core-service=management/security-realm=ManagementRealmHTTPS/authentication=properties/:add(path=ManagementUsers.properties, relative-to=jboss.domain.config.dir)
新しいセキュリティーレルムを使用するように管理インターフェースを設定
以下のコマンドを実行します。/host=master/core-service=management/management-interface=http-interface/:write-attribute(name=security-realm,value=ManagementRealmHTTPS)
キーストアを使用するように管理コンソールを設定します。
以下の管理 CLI コマンドを入力します。パラメーターファイル
では、パスワード
とエイリアス
の値を手順からコピーして 『管理コンソールをセキュアにする』 必要があります。/core-service=management/security-realm=ManagementRealmHTTPS/server-identity=ssl:add(keystore-path=
identity.jks
,keystore-relative-to=jboss.server.config.dir, keystore-password=password1, alias=appserver)このコマンドからの出力は以下のようになります。{ "outcome" => "success", "response-headers" => { "operation-requires-reload" => true, "process-state" => "reload-required" } }
JBoss EAP サーバーを再起動します。
サーバーの再起動時には、起動したサービスの数を示すテキストの直前にログが含まれるはずです。管理コンソールはポート 9443 でリッスンし、手順が成功したことを確認します。14:53:14,720 INFO [org.jboss.as] (Controller Boot Thread) JBAS015962: Http management interface listening on https://127.0.0.1:9443/management 14:53:14,721 INFO [org.jboss.as] (Controller Boot Thread) JBAS015952: Admin console listening on https://127.0.0.1:9443
注記
セキュリティー上の理由から、キーストアパスワードをマスクすることが推奨されます。これを行う方法は、「パスワード vault システム」 を参照してください。