Versionshinweise zu Sun GlassFish Enterprise Server 2.1

Sicherheit

In diesem Abschnitt werden die bekannten Probleme und ihre Lösungen von Sicherheitsfunktionen in Enterprise Server, Webanwendungen sowie Zertifikaten beschrieben.

OutofMemory-Fehler in SSL-Szenarien aufgrund hoher Belastung (JDK 6 Problem 23)

Beschreibung

Ein JDK-Bug (beachten Sie https://jdk6.dev.java.net/issues/show_bug.cgi?id=23) in JDK6 Sun PKCS11 Anbieter konnte einen OutOfMemoryError verursachen, wenn bestimmte SSL-Szenarien unter hoher Belastung ausgeführt wurden.

Lösung

Wenn dieses Problem auftritt, entfernen Sie densun.security.pkcs11.SunPKCS11-Anbieter in der Datei java.security in Ihrer JRE-Installation.

AIX: Der Test des dynamischen WSS-Verschlüsselungsschlüssels schlägt aufgrund eines serverseitigen Zertifizierungsvalidierungsfehlers fehl (6627379)

Beschreibung

Auf der AIX-Plattform schlägt die dynamische Verschlüsselung zum Ermitteln eines Verschlüsselungsschlüssels für eine Antwort fehl. Der Fehler tritt während der Validierung des Zertifikats auf der Serverseite auf.

Aufgrund des Fehlers werden die folgenden Fehlermeldungen in die Protokolldatei server.log des Servers geschrieben:


Unable to validate certificate

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

Lösung

Installieren Sie Metro 1.1 auf Enterprise Server 2.1

AIX: @RunAs im EJB-Modul, Autorisierungstest fehlgeschlagen. AccessLocalException: Client nicht autorisiert (6627385)

Beschreibung

Eine Methode in einer Enterprise-Bean, deren Sicherheitsidentität (run-as oder propagiert) über die @RunAs-Annotation definiert ist, versucht, eine Methode in einer anderen Enterprise-Bean aufzurufen. Wenn in der Bereitstellungsbeschreibungsdatei sun-ejb-jar.xml kein run-as-Prinzipal definiert ist, kann er Versuch mit einer javax.ejb.AccessLocalException -Ausnahme fehlschlagen.


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

Lösung

Definieren Sie in der Bereitstellungsbeschreibungsdatei sun-ejb-jar.xml im Element principal-name den Principalnamen, für den die run-as-Rolle angegeben ist.

SSL-Beendigung funktioniert nicht (6269102)

Beschreibung

Die SSL-Beendigung funktioniert nicht; wenn Load Balancer (Hardware) für die SSL-Beendigung konfiguriert ist, ändert Enterprise Server das Protokoll während der Umleitung von https zu http.

Lösung

Fügen Sie zwischen dem Hardware-Lastausgleich und Enterprise Server einen Software-Lastausgleich hinzu.

Socket-Verbindungsleck mit SSL (6492477)

Beschreibung

Aufgrund eines JVM-Fehlers tritt bei einigen JDK-Versionen ein Leckproblem auf, wenn security-enabled für ein HTTP-Zielgerät auf true gesetzt ist. Im Folgenden sind die Schritte zum Reproduzieren dieses Fehlers aufgelistet:

  1. Setzen Sie security-enabled für das HTTP-Zielgerät auf true:


    <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. Kommentieren Sie das Anhalten der Domäne am Ende von Quicklook-Tests heraus.

  3. Führen Sie Quicklook-Tests aus.

  4. Überprüfen Sie die Socket-Verwendung:


    netstat -an | grep 8080

    Die folgenden Elemente werden als verwendet angezeigt:


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

Das Problem wird auf der GlassFish-Website dargestellt unter: https://glassfish.dev.java.net/issues/show_bug.cgi?id=849.

Lösung

Führen Sie ein Upgrade auf die aktuellste JDK-Version durch.