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

セキュリティー

ここでは、Enterprise Server と Web アプリケーションのセキュリティーおよび証明書に関する既知の問題とその解決方法を示します。

負荷が非常に高い場合に SSL のシナリオで OutofMemory エラーが発生する (JDK 6 Issue 23)

説明

非常に負荷の高い状況で特定の SSL シナリオを実行すると、JDK6 Sun PKCS11 Provider の JDK バグ (https://jdk6.dev.java.net/issues/show_bug.cgi?id=23 を参照) により、OutOfMemory エラーが発生する場合があります。

解決方法

この問題が発生した場合は、JRE インストールの java.security ファイルから sun.security.pkcs11.SunPKCS11 プロバイダを削除してください。

AIX: サーバー側の証明書の検証でエラーが発生したために WSS 動的暗号化鍵のテストに失敗する (6627379)

説明

AIX プラットフォームで、応答用の暗号化鍵を判別するための動的な暗号化に失敗します。失敗は、サーバー側で証明書の検証中に発生します。

失敗に対して、次のエラーメッセージがサーバーのログファイル server.log に書き込まれます。


Unable to validate certificate

Error occurred while resolving key information
com.sun.xml.wss.impl.WssSoapFaultException: Certificate validation failed

解決方法

Enterprise Server 2.1 に Metro 1.1 をインストールします。

AIX: EJB モジュール承認テストで @RunAs のエラー AccessLocalException: クライアントが承認されない (6627385)

説明

@RunAs 注釈を使用して定義されている run-as (伝達された) セキュリティー ID を持つエンタープライズ Bean 内のメソッドが、別のエンタープライズ Bean 内のメソッドを呼び出そうとしました。run-as 主体が sun-ejb-jar.xml 配備記述子ファイルで定義されていない場合、呼び出しは javax.ejb.AccessLocalException 例外で失敗します。


javax.ejb.AccessLocalException: Client not authorized for this invocation.

解決方法

sun-ejb-jar.xml 配備記述子ファイルの principal-name 要素で、run-as ロールが指定されている主体名を定義します。

SSL 終了が機能しない (6269102)

説明

SSL 終了が機能しない。ロードバランサ (ハードウェア) を SSL 終了用に設定すると、リダイレクト中に Enterprise Server がプロトコルを https から http に変更する。

解決方法

ハードウェアロードバランサと Enterprise Server の間にソフトウェアロードバランサを追加します。

SSL でソケット接続リークが発生する (6492477)

説明

JVM バグのため、HTTP リスナで security-enabledtrue に設定すると、一部の JDK バージョンでリークの問題が起きます。具体的には、このバグを再現する手順は次のようになります。

  1. HTTP リスナで security-enabledtrue に設定します。


    <http-listener acceptor-threads="1" address="0.0.0.0" 
    blocking-enabled="false" default-virtual-server="server" enabled="true" 
    family="inet" id=" http-listener-1" port="8080" security-enabled="true" 
    server-name="" xpowered-by="true">
  2. クイックルックテストの末尾にあるドメイン停止をコメントにします。

  3. クイックルックテストを実行します。

  4. ソケット使用状況を確認します。


    netstat -an | grep 8080

    使用状況が次のように表示されます。


    *.8080               *.*                0      0 49152      0 LISTEN
    *.8080               *.*                0      0 49152      0 BOUND

この問題は、GlassFish サイトの https://glassfish.dev.java.net/issues/show_bug.cgi?id=849 で説明されています。

解決方法

最新の JDK バージョンにアップグレードします。