Sun GlassFish Enterprise Server 2.1 リリースノート

Enterprise Server で、auth-passthrough Web Server 6.1 アドオンがサポートされない (6188932)

説明

Sun GlassFish Enterprise Server 2.1 では、Sun GlassFish Enterprise Server Enterprise Edition 7.1 で使用できる auth-passthrough プラグインが提供する機能に対するサポートが追加されています。ただし、ProductName; 2.1 での auth-passthrough プラグイン機能の設定方法は異なります。

Enterprise Server Enterprise Edition 7.1 での auth-passthrough プラグイン関数は、次に示す 2 層配備のシナリオで有効でした。

このようなネットワークアーキテクチャーの場合、クライアントは、service-passthrough プラグイン関数で設定されたフロントエンド Web サーバーに接続し、HTTP 要求を、プロキシされた Application Server インスタンスに転送して処理します。Application Server インスタンスは、要求をクライアントホストから直接にではなく、Web サーバープロキシからしか受信できません。その結果、プロキシされた Application Server インスタンス上に配備され、クライアントの IP アドレスなどのクライアント情報を照会する任意のアプリケーションは、中継された要求の実際の発信元ホストであるプロキシホストの IP を受信します。

解決方法

Application Server Enterprise Edition 7.1 では、プロキシされた Application Server インスタンス上で、そのインスタンスに配備された任意のアプリケーションがリモートクライアントの情報を直接使用するように auth-passthrough プラグイン関数を設定できました。その場合は、プロキシされた Application Server インスタンスが、service-passthrough プラグインを実行している中間の Web サーバー経由ではなく、要求を直接受信したかのように見えます。

Enterprise Server 2.1 では、domain.xml 内の <http-service> 要素の authPassthroughEnabled プロパティーを TRUE に設定することにより、auth-passthrough 機能を有効にすることができます。次に例を示します。


<property name="authPassthroughEnabled" value="true"/>

Application Server Enterprise Edition 7.1 の auth-passthrough プラグインと同じセキュリティーの問題が、Enterprise Server の authPassthroughEnabled プロパティーにも適用されます。authPassthroughEnabled は、認証に使用される情報 (要求の送信元 IP アドレスや SSL クライアント証明書など) を上書き可能にするため、authPassthroughEnabled を TRUE に設定した信頼できるクラスタまたはサーバーのみに、Enterprise Server 2.1 インスタンスへの接続を許可することが必要です。予防措置として、authPassthroughEnabled を TRUE に設定するのは、企業ファイアウォールの内側にあるサーバーだけにすることをお勧めします。インターネット経由でアクセス可能なサーバーでは、決して authPassthroughEnabled を TRUE に設定しないでください。

プロキシ Web サーバーが service-passthrough プラグインを使用して設定されており、要求を authPassthroughEnabled が TRUE に設定された Enterprise Server インスタンスに転送するシナリオでは、SSL クライアント認証は Web サーバープロキシ上で有効になり、プロキシされた Enterprise Server インスタンス上で無効になる可能性があることに注意してください。この場合、プロキシされた Enterprise Server インスタンスは、SSL 経由で認証されたかのように引き続き要求を処理し、クライアントの SSL 証明書を、それを要求している任意の配備されたアプリケーションに提供します。