5.9. 設定ファイルのパスワードの暗号化


デフォルトでは、AMQ Broker はすべてのパスワードをプレーンテキストとして設定ファイルに保存します。承認されていないアクセスを防ぐために、適切なパーミッションですべての設定ファイルのセキュリティーを保護するようにしてください。また、プレーンテキストのパスワードを暗号化するか、マスク して、不要なビューアーが読み込まれないようにすることもできます。

5.9.1. 暗号化パスワードについて

暗号化 (マスクされた ) パスワードは、プレーンテキストのパスワードが暗号化されたバージョンです。暗号化バージョンは、AMQ Broker によって提供される mask コマンドラインユーティリティーによって生成されます。mask ユーティリティーの詳細は、コマンドラインのヘルプドキュメントを参照してください。

$ <broker_instance_dir>/bin/artemis help mask

パスワードをマスクするには、プレーンテキストの値を暗号化された値に置き換えます。マスクされたパスワードは、実際の値が必要になったときに復号化されるように、識別子 ENC() でラップする必要があります。

以下の例では、<broker_instance_dir>/etc/bootstrap.xml 設定ファイルには、keyStorePassword パラメーターおよび trustStorePassword パラメーターのマスクされたパスワードが含まれます。

<web bind="https://localhost:8443" path="web"
     keyStorePassword="ENC(-342e71445830a32f95220e791dd51e82)"
     trustStorePassword="ENC(32f94e9a68c45d89d962ee7dc68cb9d1)">
    <app url="activemq-branding" war="activemq-branding.war"/>
</web>

以下の設定ファイルでは、マスクされたパスワードを使用できます。

  • broker.xml
  • bootstrap.xml
  • management.xml
  • artemis-users.properties
  • login.config(LDAPLoginModule で使用)

設定ファイルは <broker_instance_dir>/etc にあります。

注記

artemis-users.properties は、ハッシュ化されたパスワードをマスクする場合のみサポートします。ブローカーの作成時にユーザーが作成されると、artemis-users.properties にはデフォルトでハッシュ化されたパスワードが含まれます。デフォルトの PropertiesLoginModuleartemis-users.properties ファイルのパスワードを復号化しませんが、代わりに入力をハッシュ化してパスワード検証の 2 つのハッシュ値を比較します。ハッシュ化パスワードをマスクされたパスワードに変更しても、AMQ Broker 管理コンソールにはアクセスできません。

broker.xmlbootstrap.xmlmanagement.xml、および login.config はマスクされているが、ハッシュ化されていないパスワードをサポートします。

5.9.2. 設定ファイルでのパスワードの暗号化

以下の例は、broker.xml 設定ファイルで cluster-password の値をマスクする方法を示しています。

手順

  1. コマンドプロンプトで、mask ユーティリティーを使用してパスワードを暗号化します。

    $ <broker_instance_dir>/bin/artemis mask <password>
    result: 3a34fd21b82bf2a822fa49a8d8fa115d
  2. マスクするプレーンテキストのパスワードが含まれる <broker_instance_dir> /etc/broker.xml 設定ファイルを開きます。

    <cluster-password>
      <password>
    </cluster-password>
  3. プレーンテキストのパスワードは、暗号化された値に置き換えます。

    <cluster-password>
      3a34fd21b82bf2a822fa49a8d8fa115d
    </cluster-password>
  4. 暗号化された値を識別子 ENC() でラップします。

    <cluster-password>
      ENC(3a34fd21b82bf2a822fa49a8d8fa115d)
    </cluster-password>

設定ファイルには、暗号化されたパスワードが含まれるようになりました。パスワードは ENC() 識別子でラップされるため、AMQ Broker では使用前にこれを復号化します。

関連情報

5.9.3. パスワードを暗号化および復号化するためのコーデックキー設定

パスワードの暗号化と復号化にはコーデックが必要です。カスタムコーデックが設定されていない場合、mask ユーティリティーはデフォルトのコーデックを使用してパスワードを暗号化し、AMQ Broker は同じデフォルトのコーデックを使用してパスワードを復号化します。コーデックは、パスワードを暗号化および復号化するために、基礎となる暗号化アルゴリズムに提供するデフォルトキーで設定されます。デフォルトキーを使用すると、悪意のあるアクターがそのキーを使用してパスワードを解読するリスクが生じます。

mask ユーティリティーを使用してパスワードを暗号化する場合、独自のキー文字列を指定して、デフォルトコーデックキーの使用を回避できます。次に、同じキー文字列を ARTEMIS_DEFAULT_SENSITIVE_STRING_CODEC_KEY 環境変数に設定して、ブローカーがパスワードを復号化できるようにする必要があります。環境変数にキーを設定すると、設定ファイルに保持されないため、よりセキュアになります。さらに、ブローカーを開始する直前にキーを設定し、ブローカーの開始直後に設定を解除できます。

手順

  1. mask ユーティリティーを使用して、設定ファイル内の各パスワードを暗号化します。key パラメーターには、パスワードを暗号化する文字列を指定します。各パスワードの暗号化には同じキー文字列を使用してください。

    $ <broker_instance_dir>/bin/artemis mask --key <key> <password>
    警告

    mask ユーティリティーを実行してパスワードを暗号化するときに指定するキー文字列を記録しておいてください。ブローカーがパスワードを復号化できるようにするには、環境変数で同じキー値を設定する必要があります。

    設定ファイルでパスワードを暗号化する方法は、「設定ファイルでのパスワードの暗号化」 を参照してください。

  2. コマンドプロンプトから、ARTEMIS_DEFAULT_SENSITIVE_STRING_CODEC_KEY 環境変数を、各パスワードを暗号化したときに指定したキー文字列に設定します。

    $ export ARTEMIS_DEFAULT_SENSITIVE_STRING_CODEC_KEY= <key>
  3. ブローカーを起動します。

    $ ./artemis run
  4. ARTEMIS_DEFAULT_SENSITIVE_STRING_CODEC_KEY 環境変数の設定を解除します。

    $ unset ARTEMIS_DEFAULT_SENSITIVE_STRING_CODEC_KEY
    注記

    ブローカの開始後に ARTEMIS_DEFAULT_SENSITIVE_STRING_CODEC_KEY 環境変数の設定を解除した場合は、その後毎回ブローカを起動する前に、同じキー文字列に再度設定する必要があります。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.