HTTP è un protocollo stateless. Tuttavia, quando l'utente accede a un'applicazione Web, gli piace che alcune informazioni sulla sessione vengano conservate, in modo che non debba effettuare nuovamente il login quando vuole andare avanti e indietro tra le pagine web della stessa applicazione.
Associato a ogni sessione è una durata della vita. Inoltre, alcune sessioni sono "transitorie", il che significa che vengono chiuse non appena l'utente chiude la pagina Web (anche se la sessione non è ancora scaduta).
Molti server applicazioni forniscono la nozione di sessione. Ad esempio, le documentazioni di WebLogic (che stiamo attualmente lavorando) discutono "Uso di sessioni e persistenza della sessione" (consultare il Capitolo 10 di Sviluppo di applicazioni Web, servlet e JSP per Oracle WebLogic Server 11g versione 1 ).
La domanda è:
Given the variety of possible attacks on sessions (session hijacking, session fixation, etc.), is it enough to rely on the session management features of the application server? In other words, can the application be "session agnostic," and everything be handled by proper configuration of the application server? (One can also assume that connections are over a properly implemented HTTPS connection.)
Credo che la risposta sia NO, ma ho bisogno di una giustificazione concreta su cosa possiamo e cosa non possiamo aspettarci dal server delle applicazioni.
Apprezzare le best practice e le possibili minacce / attacchi alla gestione delle sessioni è molto apprezzato.
Modifica (riguardante il commento di Andrew): Nella tua risposta, supponi che tutto il resto (firewall, file system, database, ecc.) sia configurato correttamente. Ora, il server delle applicazioni può essere configurato in modo tale che l'applicazione stessa non debba gestire le sessioni? Cioè, possiamo scrivere un'applicazione totalmente "agnostica di sessione" e inserirla in un ambiente che (tramite l'uso appropriato di server applicazioni, firewall, ecc.) Impedisce il dirottamento di sessione, la fissazione della sessione e altri attacchi relativi alla sessione? p>