Notes de version de Sun GlassFish Enterprise Server 2.1

Sécurité

Cette section décrit les problèmes connus liés aux certificats et à la sécurité des applications Web sous Enterprise Server ainsi que les solutions associées.

Erreur de mémoire saturée dans les scénarios SSL lors d'un stress important (JDK 6 Problème 23)

Description

Un bogue JDK (Voir : https://jdk6.dev.java.net/issues/show_bug.cgi?id=23) dans JDK6 Sun PKCS11 Provider pourrait entraîner une erreur de mémoire saturée (OutOfMemoryError) lors de l'exécution de certains scénarios SSL en situation de stress important.

Solution

Si vous rencontrez ce problème, supprimez le fournisseur sun.security.pkcs11.SunPKCS11 du fichier java.security dans votre installation JRE.

AIX : échec du test de la clé de chiffrement dynamique WSS suite à une erreur de validation de certification côté serveur (6627379)

Description

Sur la plate-forme AIX, le chiffrement dynamique destiné à la détermination d'une clé de chiffrement pour une réponse échoue. Cet échec survient lors de la validation du certificat côté serveur.

En réponse à cet échec, les messages d'erreur suivants sont écrits dans le fichier journal du serveur server.log :


Unable to validate certificate

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

Solution

Installez Metro 1.1 sur Enterprise Server 2.1

AIX : @RunAs échec du test d'autorisation au niveau du module EJB AccessLocalException: Client not authorized (6627385)

Description

Une méthode, dans un bean entreprise pour lequel l'identité de sécurité run-as ou propagée est définie à l'aide de l'annotation @RunAs, tente d'invoquer une méthode dans un autre bean entreprise. Si aucune identité principale run-as n'est définie dans le fichier du descripteur de déploiement sun-ejb-jar.xml, la tentative risque d'échouer avec une exception javax.ejb.AccessLocalException .


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

Solution

Dans le fichier du descripteur de déploiement sun-ejb-jar.xml, définissez dans l'élément principal-name le nom principal pour lequel le rôle run-as a été spécifié.

La terminaison SSL ne fonctionne pas (6269102)

Description

La terminaison SSL ne fonctionne pas ; lorsque l'équilibreur de charge (matériel) est configuré pour la terminaison SSL, Enterprise Server passe du protocole https à http au cours de la redirection.

Solution

Ajoutez un équilibreur de charge logiciel entre l'équilibreur de charge matériel et Enterprise Server.

Fuites sur la connexion du socket avec SSL (6492477)

Description

À cause d'un bogue JVM, un problème de fuite survient avec certaines versions JDK lorsque security-enabled est défini sur true sur un listener HTTP. Les étapes de reproduction de ce bogue sont les suivantes :

  1. Définissez security-enabled sur true sur le listener HTTP :


    <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. Commentez l'arrêt du domaine à la fin des tests quicklook.

  3. Exécutez les tests quicklook.

  4. Vérifiez l'utilisation du socket :


    netstat -an | grep 8080

    Les éléments suivants doivent être utilisés :


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

Ce problème fait l'objet d'un suivi sur le site GlassFish https://glassfish.dev.java.net/issues/show_bug.cgi?id=849.

Solution

Procédez à une mise à niveau vers la dernière version de JDK.