[ImoLUG] [OT] JSESSIONID e sicurezza applicazioni java

Riccardo Govoni ☢ battlehorse@gmail.com
Ven 21 Maggio 2010 16:38:19 CEST


Ok, il giro e' chiaro (e piu' semplice di quello che pensavo).
Quello che stai facendo e' solamente sincronizzare le sessioni tra i 2
server, no? Ognuno dei quali fa riferimento ai propri meccanismi interni per
gestire l'autorizzazione delle singole azioni. Pentaho non richiede al tuo
portale se un certo jsessionid e' *autorizzato* a fare una certa azione, ma
vuole solo sapere a quale user_id corrisponde un certo jsessionid. giusto?

In questo scenario forse quanto sopra e' un po' overkill, visto che:
- il tuo portale agisce solamente come "session store" nei confronti di
Pentaho. Per Pentaho e' il sostituto di un lookup nella sessione locale.
- dal punto di vista esterno, non fa differenza quante macchine siano
coinvolte, c'e' una sola entita' remota con cui il client comunica tramite
un solo jsessionid.

Il tuo profilo di sicurezza non cambia rispetto ad utilizzare un server
singolo, posto che ti assicuri:
a) che la comunicazione tra Pentaho ed il tuo portale non possa essere
spoofata da una terza parte
b) che allo scadere delle sessioni sul tuo portale, il messaggio sia
propagato anche altrove.

L'utlizzo di un nonce puo' fare al caso tuo per il punto a) : il tuo portale
genera un nonce che viene mandato al client, il client lo passa a Pentaho
che lo ripassa al tuo server per il messaggio di sincronizzazione delle
sessioni. Il tuo server verifica il nonce e ritorna le credenziali
dell'utente. Da quel momento, Pentaho e il tuo portale fanno vite separate
fino allo scadere della sessione.

Fila (ho scritto un po' in fretta, sono un po' impelagato su altro codice in
contemporanea) ?

/R.


2010/5/21 virgilio pierini <virgilio.pierini@gmail.com>

>
>
>> Tuo portale
>>  /\
>>   |
>>   | 1.login
>>   |
>> Utente
>>
>>
>
> Tuo portale
>  /\
>    |
>   | 2.click su un link in un menu  (http://pentaho?id=jsessionid)
>   |
> Utente
>
> Pentaho ----------------------> Portale.servlet?verifica_id=jsessionid
>      (Header aggiunto via codice:
>      cookie JSESSIONID=jsessionid)
>
>
> Portale.servlet.response: ---------OK(userid=xyz) / NOK------------->
> Pentaho
>
> A questo punto se OK sono loggato in Pentaho con tale userid
> Le osservazioni che hanno fatto nascere i miei problemi sono che (1)
> costruisco a mano il cookie e (2) che se a distanza di tempo richiamo Portale.servlet?verifica_id=jsessionid
> (sempre col cookie) ovviamente ottengo ancora OK(userid=xyz)
>
> spero che il giro sia chiaro
>
>
>
> _______________________________________________
> ImoLUG mailing list
> imolug@lists.linux.it
> http://lists.linux.it/listinfo/imolug
> Connettivita' offerta da Waymedia - http://www.waymedia.it/
>
>
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.linux.it/private/imolug/attachments/20100521/56bfe206/attachment.htm>


Maggiori informazioni sulla lista ImoLUG