第2章 Fuse Console のセキュア化


以下のセキュリティー機能の一部またはすべてを実装して、スタンドアロンデプロイメントの Fuse コンテナーをセキュアにすることができます。

2.1. 必要なプロトコルとして HTTPS を設定

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

プロパティーの構文の説明は、HTTP Strict Transport Security (HSTS) 応答ヘッダーの説明ページを参照してください。

hawtio.http.strictTransportSecurity プロパティーを以下の例のように設定します。

  • Karaf スタンドアロンの場合

    以下の例のように、このプロパティーを $KARAF_HOME/etc/system.properties ファイルに設定します。

    hawtio.http.strictTransportSecurity = max-age=31536000; includeSubDomains; preload
  • JBoss EAP スタンドアロンの場合

    以下の例のように、$EAP_HOME/standalone/configuration/standalone*.xml ファイルの system-properties セクションでこのプロパティーを設定します。

    <property name="hawtio.http.strictTransportSecurity" value="max-age=31536000; includeSubDomains; preload"/>
  • Spring Boot スタンドアロンの場合

    このプロパティーを以下の例のように設定します。

    public static void main(String[] args) {
        System.setProperty("hawtio.http.strictTransportSecurity", "max-age=31536000; includeSubDomains; preload");
        SpringApplication.run(YourSpringBootApplication.class, args);
    }

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

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

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

hawtio.http.publicKeyPins プロパティーを以下の例のように設定します。

  • Karaf スタンドアロンの場合

    以下の例のように、このプロパティーを $KARAF_HOME/etc/system.properties ファイルに設定します。

    hawtio.http.publicKeyPins = pin-sha256="cUPcTAZWKaASuYWhhneDttWpY3oBAkE3h2+soZS7sWs"; max-age=5184000; includeSubDomains
  • JBoss EAP スタンドアロンの場合

    以下の例のように、$EAP_HOME/standalone/configuration/standalone*.xml ファイルの system-properties セクションでこのプロパティーを設定します。

    <property name="hawtio.http.publicKeyPins" value="pin-sha256=cUPcTAZWKaASuYWhhneDttWpY3oBAkE3h2+soZS7sWs"; max-age=5184000; includeSubDomains"/>
  • Spring Boot スタンドアロンの場合

    このプロパティーを以下の例のように設定します。

    public static void main(String[] args) {
        System.setProperty("hawtio.http.publicKeyPins", "pin-sha256=cUPcTAZWKaASuYWhhneDttWpY3oBAkE3h2+soZS7sWs"; max-age=5184000; includeSubDomains");
        SpringApplication.run(YourSpringBootApplication.class, args);
    }

2.3. SSL/TLS セキュリティーの有効化 (Karaf のみ)

SSL/TLS セキュリティーは、Fuse Console ではデフォルトで有効になっていません。Fuse Console で SSL/TLS セキュリティーを有効にして、ユーザー名およびパスワードのクレデンシャルをスヌーピングから保護することが推奨されます。SSL/TLS セキュリティーを有効にする方法の詳細は、『Apache Karaf Security Guide』の「Enabling SSL/TLS for Undertow in an Apache Karaf container」を参照してください。

2.4. Red Hat Single Sign On (Karaf)

Red Hat Single Sign-On で Fuse Console をセキュアにする方法については、『Red Hat Single Sign-on Securing Applications and Services Guide』の「Securing the Hawtio Administration Console」セクションを参照してください。

2.5. ユーザーアクセスの制御 (Karaf のみ)

注記

本リリースでは、Fuse Console のロールベースアクセス制御は Fuse on Karaf スタンドアロンのみで有効になっています。

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

実行する必要のある Fuse Console 操作を実行するため、ユーザーに必要なユーザーロールの権限があることを確認してください。

ユーザーロールを設定するには、以下を行います。

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

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

    admin = secretpass,admin
  3. ファイルを保存します。
表2.1 Karaf スタンドアロンでのロールベースアクセス
操作adminmanager (マネージャー)viewer

ログイン/ログアウト

可能

可能

可能

ヘルプトピックの表示

可能

可能

可能

ユーザー設定の指定

可能

可能

可能

接続

   

リモートインテグレーションの検出および接続

可能

可能

可能

ローカルインテグレーションの検出および接続

可能

可能

可能

Camel

   

実行中の Camel アプリケーションをすべて表示

可能

可能

可能

Camel コンテキストの開始、一時停止、再開、および削除

可能

可能

 

メッセージの送信

可能

可能

 

エンドポイントの追加

可能

可能

 

ルート、ルート図、およびランタイム統計の表示

可能

可能

可能

ルートの起動と停止

可能

可能

 

ルートの削除

可能

可能

 

JMX

   

属性値の変更

可能

可能

 

タイムベースチャートで属性を選択および表示

可能

可能

可能

操作の表示

可能

可能

可能

OSGI

   

バンドル、機能、パッケージ、サービス、サーバー、フレームワーク、および設定を表示

可能

可能

可能

バンドルの追加および削除

可能

可能

 

設定の追加

可能

可能

 

機能のインストールおよびアンインストール

可能

  

Runtime

   

システムプロパティー、メトリクス、およびスレッドの表示

可能

可能

可能

Logs

   

ログの表示

可能

可能

可能

ロールベースアクセス制御の詳細は、『Deploying into Apache Karaf』を参照してください。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.