2.4. リモート JMX SSL の有効化
概要 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat JBoss Fuse は、MBean を使用した Karaf コンテナーのリモート監視および管理を可能にする JMX ポートを提供します。ただし、デフォルトでは、JMX 接続を介して送信するクレデンシャルは暗号化されておらず、スヌーピングに対して脆弱です。JMX 接続を暗号化し、パスワードスヌーピングから保護するには、SSL で JMX を設定して JMX 通信を保護する必要があります。
SSL で JMX を設定するには、次の手順を実行します。
SSL アクセスで JMX を設定した後、接続をテストする必要があります。
SSL/TLS セキュリティーを有効にする予定がある場合は、Poodle 脆弱性 (CVE-2014-3566) に対して保護するために、SSLv3 プロトコルを明示的に無効にする必要があります。詳細は、Disabling SSLv3 in JBoss Fuse 6.x and JBoss A-MQ 6.x を参照してください。
Red Hat JBoss Fuse の実行中に SSL で JMX を設定した場合は、再起動する必要があります。
前提条件 リンクのコピーリンクがクリップボードにコピーされました!
以下を実行していない場合、実行する必要があります。
-
JAVA_HOME
環境変数を設定します。 admin
ロールでの Karaf ユーザーの設定InstallDir/etc/users.properties
ファイルを編集し、以下のエントリーを 1 行に追加します。admin=YourPassword,admin
admin=YourPassword,admin
Copy to Clipboard Copied! Toggle word wrap Toggle overflow これにより、ユーザー名
admin
、パスワードYourPassword
、およびadmin
ロールを持つ新規ユーザーが作成されます。
jbossweb.keystore ファイルを作成します リンクのコピーリンクがクリップボードにコピーされました!
コマンドプロンプトを開き、現在の場所が Karaf インストールの etc/
ディレクトリーであることを確認します。
cd etc
cd etc
コマンドラインで、アプリケーションに適した -dname
値 (識別名) を使用して、以下のコマンドを入力します。
$JAVA_HOME/bin/keytool -genkey -v -alias jbossalias -keyalg RSA -keysize 1024 -keystore jbossweb.keystore -validity 3650 -keypass JbossPassword -storepass JbossPassword -dname "CN=127.0.0.1, OU=RedHat Software Unit, O=RedHat, L=Boston, S=Mass, C=USA"
$JAVA_HOME/bin/keytool -genkey -v -alias jbossalias -keyalg RSA -keysize 1024 -keystore jbossweb.keystore -validity 3650 -keypass JbossPassword -storepass JbossPassword -dname "CN=127.0.0.1, OU=RedHat Software Unit, O=RedHat, L=Boston, S=Mass, C=USA"
1 つのコマンドラインでコマンド全体を入力します。
このコマンドは、次のような出力を返します。
InstallDir/etc
にファイル jbossweb.keystore
が含まれるかどうかを確認します。
keystore.xml ファイルを作成してデプロイします リンクのコピーリンクがクリップボードにコピーされました!
-
好みの XML エディターを使用し、
<installDir>/jboss-fuse-7.13.0.fuse-7_13_0-00012-redhat-00001/etc
ディレクトリーにkeystore.xml
ファイルを作成して保存します。 このテキストをファイルに含めます。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow keystore.xml
ファイルをInstallDir/deploy
ディレクトリー (ホットデプロイディレクトリー) にコピーして、Karaf コンテナーにデプロイします。注記その後、
keystore.xml
ファイルをアンデプロイする必要がある場合は、Karaf コンテナーの実行中 にdeploy/
ディレクトリーからkeystore.xml
ファイルを削除して実行できます。
必要なプロパティーを org.apache.karaf.management.cfg に追加します リンクのコピーリンクがクリップボードにコピーされました!
InstallDir/etc/org.apache.karaf.management.cfg
ファイルを編集して、ファイルの最後に次のプロパティーを含めます。
secured = true secureProtocol = TLSv1 keyAlias = jbossalias keyStore = sample_keystore trustStore = sample_keystore
secured = true
secureProtocol = TLSv1
keyAlias = jbossalias
keyStore = sample_keystore
trustStore = sample_keystore
Poodle 脆弱性 (CVE-2014-3566) から保護するには、secureProtocol
を TLSv1
に設定する必要があります。
必要に応じて、enabledCipherSuites
プロパティーを設定して、JMX TLS 接続に使用する特定の暗号スイートをリストできます。このプロパティーを設定すると、デフォルトの暗号スイートがオーバーライドされます。
Karaf コンテナーを再起動します。 リンクのコピーリンクがクリップボードにコピーされました!
新しい JMX SSL/TLS 設定を有効にするには、Karaf コンテナーを再起動する必要があります。
セキュアな JMX 接続のテスト リンクのコピーリンクがクリップボードにコピーされました!
コマンドプロンプトを開き、現在の場所が Fuse インストールの
etc/
ディレクトリーであることを確認します。cd <installDir>/jboss-fuse-7.13.0.fuse-7_13_0-00012-redhat-00001/etc
cd <installDir>/jboss-fuse-7.13.0.fuse-7_13_0-00012-redhat-00001/etc
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ターミナルを開き、次のコマンドを入力して JConsole を起動します。
jconsole -J-Djavax.net.debug=ssl -J-Djavax.net.ssl.trustStore=jbossweb.keystore -J-Djavax.net.ssl.trustStoreType=JKS -J-Djavax.net.ssl.trustStorePassword=JbossPassword
jconsole -J-Djavax.net.debug=ssl -J-Djavax.net.ssl.trustStore=jbossweb.keystore -J-Djavax.net.ssl.trustStoreType=JKS -J-Djavax.net.ssl.trustStorePassword=JbossPassword
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -J-Djavax.net.ssl.trustStore
オプションは、jbossweb.keystore
ファイルの場所を指定します (この場所を正しく指定しないと、SSL/TLS ハンドシェイクに失敗します)。-J-Djavax.net.debug=ssl
設定により SSL/TLS ハンドシェイクメッセージのロギングが有効になるため、SSL/TLS が正常に有効になっていることを確認できます。重要同じコマンドラインでコマンド全体を入力します。
-
JConsole が開いたら、
New Connection
ウィザードでRemote Process
オプションを選択します。 Remote Process
オプションで、service:jmx:<protocol>:<sap>
接続 URL に、次の値を入力します。service:jmx:rmi://localhost:44444/jndi/rmi://localhost:1099/karaf-root
service:jmx:rmi://localhost:44444/jndi/rmi://localhost:1099/karaf-root
Copy to Clipboard Copied! Toggle word wrap Toggle overflow (
etc/users.properties
ファイルに設定されているように)Username
およびPassword
フィールドに有効な JAAS 認証情報を入力します。Username: admin Password: YourPassword
Username: admin Password: YourPassword
Copy to Clipboard Copied! Toggle word wrap Toggle overflow