web-dev-qa-db-fra.com

Indicateurs sécurisés et HttpOnly pour le cookie de session Websphere 7

Dans les serveurs d'applications de plainte Servlet 3.0, je peux définir les indicateurs HttpOnly et sécurisés pour le cookie de session (JSESSIONID) en ajoutant les éléments suivants au fichier 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, une plainte Servlet 2.5 qui ne démarre pas si j'ajoute ce qui précède au fichier web.xml.

Existe-t-il un autre moyen déclaratif ou paramètre dans la configuration de Websphere 7 pour activer les indicateurs HttpOnly et sécuriser le cookie de session?

Sinon, quelle serait la meilleure approche pour accomplir cela par programme? 

10
mmutilva

Je pense que dans WebSphere 7, vous devrez peut-être vous plonger dans la console d'administration. Comme toujours, la documentation WebSphere semble médiocre, mais semble suggérer la définition de la propriété com.ibm.ws.security.addHttpOnlyAttributeToCookies :

Les indicateurs Secure et HTTPOnly sont activés en définissant la propriété WebSphere Application Server: com.ibm.ws.security.addHttpOnlyAttributeToCookies.

J'ai trouvé this , qui, je l'espère, est applicable à WAS7. Pouvez-vous essayer s'il vous plaît (je n'ai que 8 pour le moment sur mon système):

cookie JSESSIONID:

Indicateur sécurisé:

L'indicateur Sécurisé peut être défini dans l'interface administrative de WebSphere Application Server En sélectionnant Serveur d'applications -> [Nom du serveur] -> Web Paramètres du conteneur-> Gestion de la session. Cochez la case pour «Limiter les cookies aux sessions HTTPS». 

Indicateur HTTPOnly:

L'attribut HTTPOnly ne peut actuellement pas être défini sur ce cookie. Ce Est enregistré sur le site IBM sous le nom APAR PK98436. Le correctif de cet APAR Est actuellement destiné à être inclus dans les groupes de correctifs 6.1.0.31 et 7.0.0.9, Qui ne sont pas encore disponibles. Avec cet APAR en place, l'indicateur HTTPOnly Peut être défini sur le cookie JSESSIONID à l'aide du nom de propriété: Com.ibm.ws.webcontainer.httpOnlyCookies. Reportez-vous à la note technique Suivante pour obtenir des instructions sur l'activation des propriétés personnalisées de WebContainer.

La propriété com.ibm.ws.webcontainer.httpOnlyCookies est documentée sur le site d'aide de WAS 7.

8
planetjones

Pour définir l'indicateur sécurisé sur le cookie JSESSIONID (identique pour WebSphere 7.x et 8.x):

  • se connecter se connecter à la console d'administration WebSphere
  • Accédez à Serveur> Types de serveur> Serveurs d'applications WebSphere
  • Cliquez sur le nom du serveur (la valeur par défaut est server1 )
  • Cliquez sur le lien Paramètres du conteneur Web> Conteneur Web
  • Cliquez sur le lien Session Management
  • Cliquez sur le lien Activer les cookies . Ce peu un peu déroutant, vous devez Cliquer sur le texte pas sur la case à cocher
  • sélectionnez l'option (case à cocher) Restreindre les cookies aux sessions HTTPS
  • Enregistrer changements

Pour définir l'indicateur HttpOnly dans WebSphere 8.x sur le cookie JSESSIONID

  • se connecter se connecter à la console d'administration WebSphere
  • Accédez à Serveur> Types de serveur> Serveurs d'applications WebSphere
  • Cliquez sur le nom du serveur (la valeur par défaut est server1 )
  • Cliquez sur le lien Paramètres du conteneur Web> Conteneur Web
  • Cliquez sur le lien Session Management
  • Cliquez sur le lien Activer les cookies . Ce peu un peu déroutant, vous devez cliquer sur le texte pas sur la case à cocher
  • select option (case à cocher) Définissez les cookies de session sur HTTPOnly pour empêcher les attaques de script entre sites
  • Enregistrer changements

Pour définir l'indicateur HttpOnly dans WebSphere 7.x sur le cookie JSESSIONID

  • se connecter se connecter à la console d'administration WebSphere
  • Accédez à Serveur> Types de serveur> Serveurs d'applications WebSphere
  • Cliquez sur le nom du serveur (la valeur par défaut est server1 )
  • Cliquez sur le lien Paramètres du conteneur Web> Conteneur Web
  • Cliquez sur le lien Propriétés personnalisées
  • Cliquez sur le bouton Nouveau
  • Entrez name : com.ibm.ws.webcontainer.httpOnlyCookies value : * (HttpOnly sera défini sur tous les cookies et pas seulement sur JSESSIONID)
  • Cliquez sur le boutonOK
  • Enregistrer changements 
3
zoran

Dans WebSphere 7, vous pouvez le trouver dans la console d'administration sous Serveurs > Serveurs d'applications WebSphere > [Nom du serveur] > Gestion de session (sous "Paramètres du conteneur" )> Activer les cookies > Limiter les cookies aux sessions HTTPS .

0
quietmint