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 を使用するようにリクエストを自動的に変換することが必須になります。公開鍵を使用して応答をセキュアにする
hawtio.http.publicKeyPins
プロパティーを使用すると、特定の暗号化の公開鍵を Fuse Console に関連付けるように Web ブラウザーに指示し、偽造証明書による "中間者攻撃" のリスクを軽減することで、HTTPS プロトコルをセキュアにできます。SSL/TLS セキュリティーを有効にする
SSL/TLS セキュリティーは、Fuse Console ではデフォルトで有効になっていません。Fuse Console で SSL/TLS セキュリティーを有効にして、ユーザー名およびパスワードのクレデンシャルをスヌーピングから保護することが推奨されます。
- Red Hat Single Sign On を実装する
ユーザーのアクセスを制御する
認証されたユーザーが実行できる操作は、そのユーザーに割り当てられたロールによって異なります。表3.1「Karaf スタンドアロンでのロールベースアクセス」 を参照してください。
手順
HTTPS を必須のプロトコルとして設定するには、
$KARAF_HOME/etc/system.properties
ファイルのhawtio.http.strictTransportSecurity
プロパティーを以下の例のように設定します。hawtio.http.strictTransportSecurity = max-age=31536000; includeSubDomains; preload
公開鍵を使用して応答をセキュアにするには、
$KARAF_HOME/etc/system.properties
ファイルのhawtio.http.publicKeyPins
プロパティーを以下の例のように設定します。hawtio.http.publicKeyPins = pin-sha256="cUPcTAZWKaASuYWhhneDttWpY3oBAkE3h2+soZS7sWs"; max-age=5184000; includeSubDomains
(AWS のみにデプロイする場合) Fuse Console のプロキシーサーブレットを無効にするには、以下の例のように
$KARAF_HOME/etc/system.properties
ファイルでhawtio.disableProxy
プロパティーをtrue
に設定します。hawtio.disableProxy = true;
- SSL/TLS セキュリティーを有効にする方法の詳細は、Apache Karaf Security Guide の Enabling SSL/TLS for Undertow in an Apache Karaf container を参照してください。
- Red Hat Single Sign-On で Fuse Console をセキュアにする方法は、Red Hat Single Sign On アプリケーションおよびサービスのセキュリティー保護ガイド の「Hawtio 管理コンソールのセキュリティー保護」セクションを参照してください。
以下の手順に従ってユーザーロールを設定し、必要な Fuse Console 操作を実行できる権限をユーザーに付与します。
-
エディターで Red Hat Fuse
etc/users.properties
ファイルを開きます。 ユーザー名、パスワード、およびロールのエントリーを追加します。
たとえば、
etc/users.properties
ファイルの以下のエントリーは管理ユーザーを定義し、管理ロールを割り当てます。admin = secretpass,admin
- ファイルを保存します。
-
エディターで Red Hat Fuse
関連情報
-
hawtio.http.strictTransportSecurity
プロパティーの構文の説明は、HTTP Strict Transport Security (HSTS) 応答ヘッダーの説明ページを参照してください。 -
hawtio.http.publicKeyPins
プロパティーの構文や、Base64 でエンコードされた公開鍵の抽出方法の説明は、HTTP Public Key Pinning 応答ヘッダーの説明ページを参照してください。