Sicurezza nelle applicazioni ASP.NET
Pagina 1 di 5
Solitamente un sito web ASP.NET è accessibile da chiunque si connetta al server che lo ospita tramite una rete locale o Internet. Sebbene questa situazione sia ideale per diverse applicazioni web, essa tuttavia non rappresenta sempre la scelta progettuale appropriata (per esempio un sito di commercio elettronico ha come requisito fondamentale la sicurezza delle transazioni finanziarie effettuate dai propri utenti, cosa che non è favorita dalla suddetta accessibilità).
ASP.NET fornisce un modello di sicurezza per la protezione delle applicazioni web potente e profondamente flessibile che però all’inizio può creare un pò di confusione a causa dei diversi livelli che esso include.
La maggior parte del lavoro di un programmatore per la gestione della sicurezza di un’applicazione web non consiste nello scrivere codice ma nel determinare i punti appropriati per l’implementazione delle diverse strategie di sicurezza. Il primo passo è dunque quello di decidere quali aree dell’applicazione necessitano di controlli di sicurezza e cosa è necessario proteggere.
Il concetto di sicurezza non è complesso ma abbraccia diversi aspetti e livelli e per questo molto spesso finisce con l’essere considerato complesso. Consideriamo, ad esempio, un sito di commercio elettronico che permette agli utenti di visualizzare riepiloghi dei propri ordini recenti. La prima linea di difesa che un sito di questo tipo deve gestire è la procedura di login, tramite cui ciascun utente viene identificato, prima di poter consultare i propri dati. Questo è soltanto uno dei livelli di sicurezza che il sito deve gestire perchè un altro, ad esempio, riguarda la protezione del database contenente i dati sensibili e un altro ancora la protezione delle transazioni finanziarie (con l’uso della crittografia). Da questo semplice esempio si intuisce la varietà degli aspetti da considerare.
Quando si progetta un’applicazione web è quindi opportuno considerare i diversi scenari d’attacco in cui può essere coinvolta la stessa, anche se è molto difficoltoso individuarli tutti a priori. Per tale motivo è consigliabile suddividere la sicurezza su più livelli.
Nell’ambito delle applicazioni web le richieste vengono gestite nella fase iniziale dal server web IIS, che esamina il tipo di file. Se il tipo è valido per ASP.NET il server lascia passare la richiesta in modo che essa venga elaborata.
La seguente immagine (tratta dal sito Microsoft) esemplifica tali passaggi








