2012-02-08 54 views
10

En Servlet servidores de aplicaciones 3.0 de queja que puedo configurar las banderas HTTPOnly y seguros para la cookie de sesión (JSESSIONID) añadiendo lo siguiente a la web.xml:banderas seguros y HTTPOnly para WebSphere cookie de sesión 7

<session-config> 
    <cookie-config> 
    <secure>true</secure> 
    <http-only>true</http-only> 
    </cookie-config> 
</session-config> 

Sin embargo, la aplicación en la que estoy trabajando debe implementarse en Websphere 7, que es queja de Servlet 2.5 y no se puede iniciar si agrego lo anterior a la web.xml

¿Hay alguna otra forma o configuración declarativa en Configuración de Websphere 7 para activar las banderas de HttpOnly y de seguridad para la cookie de sesión?

Si no, ¿cuál sería el mejor enfoque para lograrlo programáticamente?

Respuesta

8

Creo que en WebSphere 7 es posible que tenga que profundizar en la consola administrativa. Como siempre la documentación de WebSphere parece pobre, pero parece sugerir el establecimiento de la propiedad com.ibm.ws.security.addHttpOnlyAttributeToCookies:

Tanto la bandera de seguro y la bandera HTTPOnly están habilitados estableciendo la propiedad de WebSphere Application Server: com.ibm.ws.security.addHttpOnlyAttributeToCookies.

Encontré this, que espero sea aplicable a WAS7. Se puede tratar por favor (sólo he tenía 8 años en el momento en mi sistema):

JSESSIONID cookie:

Bandera seguro:

La bandera seguro puede ser cambiada dentro de la interfaz administrativa de WebSphere Application Server al seleccionar AppServer -> [Nombre del servidor] -> Web Configuración de contenedor-> Gestión de sesión. Marque la casilla de verificación "Restringir cookies a sesiones HTTPS".

HTTPOnly Bandera:

El atributo HTTPOnly actualmente no puede ajustarse en este cookie. Este está registrado en el sitio de IBM como APAR PK98436. La solución para este APAR está actualmente orientada para su inclusión en los fixpacks 6.1.0.31 y 7.0.0.9, que aún no están disponibles. Con este APAR en su lugar, el indicador HTTPOnly se puede establecer en la cookie JSESSIONID mediante el nombre de la propiedad: com.ibm.ws.webcontainer.httpOnlyCookies. Consulte la siguiente nota técnica para obtener instrucciones sobre cómo habilitar las propiedades personalizadas de WebContainer.

La propiedad com.ibm.ws.webcontainer.httpOnlyCookies está documentada en el sitio de ayuda de WAS 7.

+0

Gracias por el enlace. Sin embargo, mi comprensión de esto es que el JSESSIONID (entre otros) no se verá afectado por esa propiedad. ¿Derecha? – mmutilva

+0

Publicación original ahora editada para dirigirse específicamente a JSESSIONID – planetjones

+0

Gracias. El segundo enlace creo que es específico de Tivoli, ¿no? ¿De dónde sacaste la frase "Bandera segura y bandera HTTPOnly habilitada por ..."? – mmutilva

0

En WebSphere 7, se puede encontrar esto en la consola de administración bajo Servidores>WebSphere servidores de aplicaciones>[Nombre del servidor]>Gestión de sesiones (en "Valores de contenedor")>, activa las cookies >Restringir cookies a sesiones HTTPS.

3

Para establecer la bandera de seguro a JSESSIONID galletas (lo mismo para WebSphere 7.xy 8.x):

  • Conectarse WebSphere consola de administración
  • Vaya a servidor> Tipos de servidor> servidores de aplicaciones WebSphere
  • Haga clic en el nombre del servidor (por defecto es server1)
  • Haga clic en el enlace Valores del contenedor web> Contenedor web
  • Haga clic en el enlace administración de sesiones
  • Haga clic en el enlace , activa las cookies. Este bit un poco corta confuso, usted tiene que clic en el texto no en la casilla de verificación
  • seleccione la opción (casilla de verificación) restringir las cookies de sesiones HTTPS
  • Guardar cambia

Para establecer el indicador HttpOnly en WebSphere 8.x en la cookie JSESSIONID

  • Conectarse WebSphere consola de administración
  • Vaya a servidor> Tipos de servidor> Servidores de aplicaciones WebSphere
  • Haga clic en el nombre del servidor (por defecto es server1)
  • Haga clic en el enlace Valores del contenedor web> Web recipiente
  • Haga clic en el enlace administración de sesiones
  • Haga clic en el enlace habilitar las cookies. Este bit un poco corta confuso, hay que hacer clic en el texto no en la casilla de verificación
  • opción de selección (casilla de verificación) cookies de sesión SET para HTTPOnly para ayudar a prevenir ataques entre sitios mediante secuencias de comandos
  • Guardar cambia

Para establecer HttpOnly bandera en WebSphere 7.x para JSESSIONID galletas

  • Conectarse WebSphere consola de administración
  • Vaya a servidor> Tipos de servidor> Servidores de aplicaciones WebSphere
  • Haga clic en el nombre del servidor (por defecto es server1)
  • Haga clic en el enlace Configuración del contenedor web> Contenedor web
  • Haga clic en el enlace Costumbre parámetros fisico
  • Haga clic en el botón Nuevo
  • Introduzca nombre: com.ibm.ws.webcontainer.httpOnlyCookiesvalor: * (HttpOnly se establecerá en todas las cookies no sólo JSESSIONID)
  • Haga clic en OK botón
  • Guardar cambia
Cuestiones relacionadas