Versionshinweise zu Sun GlassFish Enterprise Server v2.1.1

Sicherheit

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

Das mit v2.1.1 gebündelte CA-Zertifikat ist abgelaufen.

Beschreibung

Das mit Sun GlassFish Enterprise Server v2.1.1 gebündelte CA-Zertifikat ist seit dem 8. Januar 2010 abgelaufen. Daher werden möglicherweise einige SEVERE-Meldungen angezeigt, wenn Sie die Domain starten.

Lösung

Entfernen Sie das abgelaufene Zertifikat aus dem Schlüsselspeicher. Um das Zertifikat aus dem JSK-Schlüsselspeicher zu entfernen, verwenden Sie den folgenden Befehl:

keytool delete -alias verisignserverca -keystore domain-dir /config/cacerts.jks

Um das Zertifikat aus dem NSS-Schlüsselspeicher zu entfernen, verwenden Sie den folgenden Befehl:

certutil -D -n verisignserverca -d domain-dir/config

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.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.