Menu Close

3.3. Fuse Console のセキュア化

Apache Karaf で Fuse Console をセキュアにするには、以下を行います。

  • AWS へのデプロイ時に Fuse Console のプロキシーサーブレットを無効化

    スタンドアロン Fuse アプリケーションを Amazon Web Services (AWS) にデプロイする場合、hawtio.disableProxy システムプロパティーを true に設定して、Fuse Console のプロキシーサーブレットを無効にする必要があります。

    注記

    Fuse Console のプロキシーサーブレットを無効にすると、Fuse Console の Connect タブが無効になり、Fuse Console から他の JVM に接続できなくなります。AWS に複数の Fuse アプリケーションをデプロイする場合は、アプリケーションごとに Fuse Console をデプロイする必要があります。

  • 必要なプロトコルとして HTTPS を設定する

    hawtio.http.strictTransportSecurity プロパティーを使用すると、Web ブラウザーでセキュア HTTPS プロトコルを使用して Fuse Console にアクセスするよう要求できます。このプロパティーでは、HTTP を使用して Fuse Console へのアクセスを試みる Web ブラウザーは、要求を自動的に変換して HTTPS を使用する必要があることが指定されます。

  • 公開鍵を使用して応答をセキュアにする

    特定の暗号の公開鍵を Fuse Console に関連付けし、偽造された証明書を使用した「中間者攻撃」のリスクを軽減するよう Web ブラウザーに要求すると、hawtio.http.publicKeyPins プロパティーを使用して HTTPS プロトコルをセキュアにすることができます。

  • SSL/TLS セキュリティーを有効にする

    SSL/TLS セキュリティーは、Fuse Console ではデフォルトで有効になっていません。Fuse Console で SSL/TLS セキュリティーを有効にして、ユーザー名およびパスワードのクレデンシャルをスヌーピングから保護することが推奨されます。

  • Red Hat Single Sign On を実装する
  • ユーザーのアクセスを制御する

    表3.1「Karaf スタンドアロンでのロールベースアクセス」 に記載されているとおり、認証されたユーザーが実行できる操作はそのユーザーに割り当てられたロールによって異なります。

手順

  1. HTTPS を必須のプロトコルとして設定するには、$KARAF_HOME/etc/system.properties ファイルの hawtio.http.strictTransportSecurity プロパティーを以下の例のように設定します。

    hawtio.http.strictTransportSecurity = max-age=31536000; includeSubDomains; preload
  2. 公開鍵を使用して応答をセキュアにするには、$KARAF_HOME/etc/system.properties ファイルの hawtio.http.publicKeyPins プロパティーを以下の例のように設定します。

    hawtio.http.publicKeyPins = pin-sha256="cUPcTAZWKaASuYWhhneDttWpY3oBAkE3h2+soZS7sWs"; max-age=5184000; includeSubDomains
  3. (AWS のみにデプロイする場合) Fuse Console のプロキシーサーブレットを無効にするには、以下の例のように $KARAF_HOME/etc/system.properties ファイルで hawtio.disableProxy プロパティーを true に設定します。

    hawtio.disableProxy = true;
  4. SSL/TLS セキュリティーを有効にする方法の詳細は、『Apache Karaf Security Guide』の「Enabling SSL/TLS for Undertow in an Apache Karaf container」を参照してください。
  5. Red Hat Single Sign-On で Fuse Console をセキュアにする方法については、『Red Hat Single Sign-on Securing Applications and Services Guide』の「Securing the Hawtio Administration Console」セクションを参照してください。
  6. 以下の手順にしたがってユーザーロールを設定し、必要な Fuse Console 操作を実行できる権限をユーザーに付与します。

    1. エディターで Red Hat Fuse etc/users.properties ファイルを開きます。
    2. ユーザー名、パスワード、およびロールのエントリーを追加します。

      たとえば、etc/users.properties ファイルの以下のエントリーは管理ユーザーを定義し、管理ロールを割り当てます。

      admin = secretpass,admin
    3. ファイルを保存します。

その他のリソース

  • hawtio.http.strictTransportSecurity プロパティーの構文の説明は、HTTP Strict Transport Security (HSTS) 応答ヘッダーの説明ページを参照してください。
  • hawtio.http.publicKeyPins プロパティーの構文や、Base64 でエンコードされた公開鍵の抽出方法の説明は、HTTP Public Key Pinning 応答ヘッダーの説明ページを参照してください。