2012-02-08 24 views
10

In Servlet server applicativi 3.0 reclamo posso impostare i flag HttpOnly e sicure per il cookie di sessione (JSESSIONID) aggiungendo quanto segue al web.xml:bandiere Sicuro e HttpOnly per cookie di sessione Websphere 7

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

Tuttavia, l'applicazione su cui sto lavorando deve essere distribuita in Websphere 7, che è un reclamo Servlet 2.5 e non riesce ad avviarsi se aggiungo il precedente al web.xml

Esiste un altro modo o impostazione dichiarativa Configurazione di Websphere 7 per attivare i flag HttpOnly e secure per il cookie di sessione?

In caso contrario, quale sarebbe l'approccio migliore per eseguire ciò a livello di programmazione?

risposta

8

Penso che in WebSphere 7 potrebbe essere necessario approfondire la console di amministrazione. Come sempre la documentazione di WebSphere sembra povero, ma sembra suggerire l'impostazione della proprietà com.ibm.ws.security.addHttpOnlyAttributeToCookies:

sia la bandiera sicura e la HTTPOnly bandiera sono abilitati impostando la proprietà di WebSphere Application Server: com.ibm.ws.security.addHttpOnlyAttributeToCookies.

Ho trovato this, che spero sia applicabile a WAS7. Puoi provare favore, (ho solo è stato di 8 in questo momento sul mio sistema):

JSESSIONID biscotto:

Bandiera Sicuro:

La bandiera sicurezza può essere impostato nell'interfaccia amministrativa di WebSphere Application Server selezionando AppServer -> [Nome server] -> Web Impostazioni contenitore-> Gestione sessione. Seleziona la casella di controllo per "Limita i cookie alle sessioni HTTPS".

HTTPOnly Bandiera:

L'attributo HTTPOnly attualmente non può essere impostata su questo cookie. Questo è registrato sul sito IBM come APAR PK98436. La correzione per questo APAR è attualmente mirata per l'inclusione nei Fix Pack 6.1.0.31 e 7.0.0.9, che non sono ancora disponibili. Con questo APAR in posizione, il flag HTTPOnly può essere impostato sul cookie JSESSIONID tramite il nome della proprietà: com.ibm.ws.webcontainer.httpOnlyCookies. Fare riferimento alla nota tecnica per istruzioni sull'abilitazione delle proprietà personalizzate di WebContainer.

La proprietà com.ibm.ws.webcontainer.httpOnlyCookies è documentata nel sito della guida di WAS 7.

+0

Grazie per il collegamento. Tuttavia, il mio dubbio è che JSESSIONID (tra gli altri) non sarà influenzato da quella proprietà. Destra? – mmutilva

+0

Post originale ora modificato per indirizzo specifico JSESSIONID – planetjones

+0

Grazie. Il secondo collegamento che penso è specifico per Tivoli, non è vero? Da dove hai ottenuto il "flag" Sia il flag di sicurezza che il flag di HTTPOnly sono abilitati da ... "? – mmutilva

0

In WebSphere 7, è possibile trovare questo nella console di amministrazione sotto Server>WebSphere Application Server>[Nome server]>gestione Session (in "Impostazioni contenitore")>Attivi i cookies >Limita i cookie alle sessioni HTTPS.

3

Per impostare bandiera sicuro per JSESSIONID biscotto (uguale per WebSphere 7.xe 8.x):

  • Log in WebSphere Admin Console
  • Spostarsi Server> Tipi di server> application server WebSphere
  • Clicca sul nome del server (di default è server1)
  • Fare clic sul collegamento impostazioni Web container> Web Container
  • Fare clic sul collegamento Session Management
  • Fare clic sul collegamento Abilita i cookie. Questo bit un po 'litle di confusione, si deve click sul testo non sulla casella di controllo
  • selezionare l'opzione (casella di controllo) Limita i cookie per HTTPS sessioni
  • Salva cambia

Per impostare flag HttpOnly in WebSphere 8.x sul cookie JSESSIONID

  • Log in WebSphere Admin Console
  • Spostarsi Server> Tipi di server> application server WebSphere
  • Clicca sul nome del server (di default è server1)
  • Fare clic sul collegamento impostazioni Web container> Web contenitore
  • Fare clic sul collegamento Session Management
  • Fare clic sul collegamento abilitare i cookie. Questo bit un po 'litle di confusione, è necessario fare clic su un testo non sulla casella di controllo
  • selezionare l'opzione (casella di controllo) Definire i cookie per HTTPOnly per aiutare a prevenire attacchi cross-site scripting
  • Salva cambia

Per impostare HttpOnly bandiera in WebSphere 7.x per JSESSIONID biscotto

  • Log in WebSphere Admin Console
  • Spostarsi Server> Tipi di server> application server WebSphere
  • Clicca sul nome del server (di default è server1)
  • Clicca sul link Impostazioni web container> Web Container
  • Clicca sul link Personalizzato proprties
  • Cliccare sul pulsante Nuovo
  • Inserire nome: com.ibm.ws.webcontainer.httpOnlyCookiesvalore: * (HttpOnly sarà impostato su tutti i cookie non solo JSESSIONID)
  • Cliccare su OK pulsante
  • Salva cambia