Drapeaux Secure et HttpOnly pour le cookie de session Websphere 7
dans les serveurs D'applications Servlet 3.0 complaint, je peux définir les options HttpOnly et secure pour le cookie de session (JSESSIONID) en ajoutant ce qui suit au web.xml:
<session-config>
<cookie-config>
<secure>true</secure>
<http-only>true</http-only>
</cookie-config>
</session-config>
cependant, l'application sur laquelle je travaille doit être déployée dans Websphere 7, qui est Servlet 2.5 plainte et il ne démarre pas si je Ajoute ce qui précède au web.xml
y a-t-il une autre façon déclarative ou un autre paramétrage dans la configuration Websphere 7 pour activer les options HttpOnly et secure pour le cookie de session?
Si non, quelle serait la meilleure approche pour accomplir que par programmation?
3 réponses
je pense que dans WebSphere 7 vous pourriez avoir à plonger dans la console administrative. Comme toujours, la documentation de la WebSphere semble pauvre mais semble suggérer de définir le com.ibm.ws.sécurité.addHttpOnlyAttributeToCookies propriété:
le drapeau Secure et le drapeau HTTPOnly sont activés en paramétrant la propriété WebSphere Application Server:
com.ibm.ws.security.addHttpOnlyAttributeToCookies
.
j'ai trouvé , qui, je l'espère, s'applique à WAS7. Pouvez-vous essayer s'il vous plaît (je n'ai eu 8 à l'instant sur mon système):
jsessionid cookie:
Indicateur De Sécurité:
le drapeau Secure peut être placé dans le serveur D'Application WebSphere interface d'administration en sélectionnant AppServer- > [nom du serveur] - > Web Paramètres Des Conteneurs - > Gestion Des Sessions. Cochez la case pour la "Restreindre les cookies aux Sessions HTTPS".
HTTPOnly Drapeau:
L'attribut HTTPOnly ne peut pas actuellement être défini sur ce cookie. Ce est enregistré sur le site IBM sous le nom APAR PK98436. La solution pour cet APAR est actuellement prévu pour inclusion dans les paquets Fix 6.1.0.31 et 7.0.0.9, qui ne sont pas encore disponibles. Avec cette APAR en place, le HTTPOnly le drapeau peut être placé sur le cookie JSESSIONID par le biais du nom de la propriété: com.ibm.ws.webcontainer.httpOnlyCookies. Se référer à ce qui suit note technique pour obtenir des instructions sur l'activation de Propriétés personnalisées de WebContainer.
Le com.ibm.ws.webcontainer.httpOnlyCookies la propriété est documentée sur le site D'aide DE WAS 7.
pour mettre le drapeau de sécurité sur le cookie JSESSIONID (même chose pour WebSphere 7.x et 8.x):
- journal dans le journal de la console d'administration WebSphere
- naviguez vers types de Serveurs > Serveurs WebSphere
- cliquez sur le nom du serveur (la valeur par défaut est serveur1)
- Cliquez sur le lien paramètres du conteneur Web > conteneur Web
- Cliquez sur le lien Session Gestion
- Cliquez sur le lien Activer Les Cookies. Ce peu un peu confus, vous devez cliquez sur le texte, pas sur la case à cocher
- sélectionnez l'option (case à cocher) restreindre les cookies aux sessions HTTPS
- Save change
pour mettre HttpOnly flag dans WebSphere 8.X to jsessionid cookie
- journal dans le journal de WebSphere admin console
- naviguez vers types de Serveurs > Serveurs WebSphere
- cliquez sur le nom du serveur (la valeur par défaut est serveur1)
- Cliquez sur le lien paramètres du conteneur Web > conteneur Web
- Cliquez sur le lien Gestion Des Sessions
- Cliquez sur le lien Activer Les Cookies. Ce morceau un peu confus, vous devez cliquer sur le texte pas sur la case à cocher
- sélectionner option (cochez la case) configurer les cookies de session à HTTPOnly pour aider à prévenir les attaques de scripting cross-site
- Save change
pour mettre le drapeau HttpOnly dans la WebSphere 7.X to jsessionid cookie
- journal dans le journal de la console d'administration WebSphere
- naviguez vers types de Serveurs > Serveurs WebSphere
- Cliquez sur le nom du serveur (par défaut serveur1)
- Cliquez sur le lien paramètres du conteneur Web > conteneur Web
- Cliquez sur le lien Qualités Sur Mesure
- Cliquez sur le bouton
- Entrée nom: com.ibm.ws.webcontainer.httpOnlyCookiesvaleur:* (HttpOnly sera installé sur tous les cookies ne sont pas seulement JSESSIONID)
- Cliquez sur OK bouton
- Save les modifications
dans WebSphere 7, vous pouvez trouver ceci dans la console d'administration sous Serveurs > WebSphere application de serveurs > [Nom Du Serveur]> gestion des sessions (sous "Paramètres du Conteneur") > activer les cookies > restreindre les cookies aux sessions HTTPS.