第6章 リバースプロキシーの使用
分散環境では、頻繁にリバースプロキシーの使用が必要になります。Red Hat build of Keycloak は、このような環境とのセキュアな統合を実現するためのオプションをいくつか備えています。
6.1. リバースプロキシーヘッダーの設定 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat build of Keycloak は、proxy-headers オプションに基づいてリバースプロキシーヘッダーを解析します。このオプションは、次のいくつかの値を受け入れます。
- デフォルトでは、オプションが指定されていない場合、リバースプロキシーヘッダーは解析されません。
-
forwardedは、RFC7239 に従ってForwardedヘッダーの解析を有効にします。 -
xforwardedは、X-Forwarded-For、X-Forwarded-Proto、X-Forwarded-Host、X-Forwarded-Portなどの非標準のX-Forwarded-*ヘッダーの解析を有効にします。
以下に例を示します。
bin/kc.[sh|bat] start --proxy-headers forwarded
bin/kc.[sh|bat] start --proxy-headers forwarded
forwarded または xforwarded のいずれかを選択した場合は、リバースプロキシーによって Forwarded または X-Forwarded-* ヘッダーが適切に設定して上書きされることを確認してください。これらのヘッダーを設定するには、リバースプロキシーのドキュメントを参照してください。設定を誤ると、Red Hat build of Keycloak がセキュリティー上の脆弱性にさらされることになります。
クライアントアドレスが、リバースプロキシーにより Forwarded ヘッダーまたは X-Forwarded-For ヘッダーを介して適切に設定されていることを、特に注意して確認してください。このヘッダーが正しく設定されていない場合、不正なクライアントがこのヘッダーを設定し、クライアントが実際のアドレスとは異なる IP アドレスから接続しているという誤った認識を Red Hat build of Keycloak が持つ可能性があります。IP アドレスの拒否リストまたは許可リストを作成する場合、このような注意はさらに重要です。
xforwarded 設定を使用する場合、X-Forwarded-Port は X-Forwarded-Host に含まれるポートよりも優先されます。