2.4. Fuse Console のセキュア化
Spring Boot で 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 プロトコルをセキュアにできます。
手順
hawtio.http.strictTransportSecurity
およびhawtio.http.publicKeyPins
プロパティーを以下の例のように設定します。public static void main(String[] args) { System.setProperty("hawtio.http.strictTransportSecurity", "max-age=31536000; includeSubDomains; preload"); System.setProperty("hawtio.http.publicKeyPins", "pin-sha256=cUPcTAZWKaASuYWhhneDttWpY3oBAkE3h2+soZS7sWs"; max-age=5184000; includeSubDomains"); SpringApplication.run(YourSpringBootApplication.class, args); }
(AWS のみにデプロイする場合) Fuse Console のプロキシーサーブレットを無効にするには、以下の例のように
hawtio.disableProxy
プロキシーを設定します。public static void main(String[] args) { System.setProperty("hawtio.disableProxy", "true"); }
関連情報
-
hawtio.http.strictTransportSecurity
プロパティーの構文の説明は、HTTP Strict Transport Security (HSTS) 応答ヘッダーの説明ページを参照してください。 -
hawtio.http.publicKeyPins
プロパティーの構文や、Base64 でエンコードされた公開鍵の抽出方法の説明は、HTTP Public Key Pinning 応答ヘッダーの説明ページを参照してください。