Semplice Protezione per Autenticazione Web Forms

Una delle caratteristiche che uso più spesso nelle piccole applicazioni web che faccio è la creazione di un'area riservata alla quale un singolo utente può accedere, autenticandosi ed eseguire operazioni di aggiornamento del proprio sito.

L'unica preoccupazione è che un visitatore del sito trovi la pagina di login e provi ad accedervi, o che un qualunque smanettone provi ad portare un attacco di tipo 'Brute force' o 'Dictionary' alla mia area protetta: non è difficile scrivere un'applicazione che inizi a generare utenti e password casuali (o basati su parole chiave) e le invii alla pagina di login nella speranza di indovinare quelli giusti.

Il primo livello di difesa è sicuramente imporre dei requisiti minimi di complessità ad utente e password: lunghezza minima, presenza di cifre, segni di interpunzione, maiuscole, etc. Ma a volte questo non è abbastanza o impone alla persona che deve accedere all'area protetta condizioni troppo restrittve...si tratta quasi sempre di utenti con conoscenze informatiche pressochè nulle.

Ho creato quindi una pagina di login che dopo tre tentativi di accesso falliti non presenta più la possibilità di inserire utente e password per un certo numero di minuti. Il metodo è quello della Black List: viene tracciato l'IP di chi prova ad accedere all'area protetta, in caso di fallimento un contatore viene decrementato, quando il contatore è a 0 le textbox e i pulsanti non vengono abilitati per un certo numero di minuti.

Il codice lo potete trovare qui, anche se non si tratta di un'applicazione completa è intuitivo e comunque non fatevi problemi a chiedere, se ci sarà interesse nella cosa magari butto giù un articolo...

Ricordate comunque che questa è una soluzione semplice e che non risolve tutti i problemi relativi alla protezione, non protegge da 'sniffing' o da attacchi DoS, e può essere bloccata da programmi che mascherano o cambiano l'indirizzo IP, ma permette comunque di ridurre le possibilità di attacco.

Postate gente, postate...

Nella stessa categoria

Commenti

Aggiungi un nuovo commento »»»
Per inserire un commento, devi registrarti alla nostra community.

© 1998-2008 - DotNet e dintorni - Il blog di Maurizio Alberti

TagCloud
BLOG INFO
  • Post: 19
  • Commenti: 17
  • TrackBacks: 0
  • Feed blog e contenuti tecnici: RSS
  • Feed blog: RSS Atom OPML
CATEGORIE
I PIÙ LETTI DEL MESE
IN EVIDENZA