novembre 2005 Blog Posts
Negli scenari in cui si presenta la necessità di linkare dati, presenti all'interno di un database, e la nostra applicazione dobbiamo sempre poter garantire due fattori importantissimi.
Confidenza dei messaggiI dati devono essere codificati e dobbiamo garantire che resteranno privati durante il viaggio.
Integrità del messaggioI dati devono essere firmati per assicurarci che siano rimasti inalterati. Esistono due categorie di scenari principali in cui questo dovrebbe essere applicato.
Full SecurityIn questo scenario TUTTI i dati trasmessi devono essere messi al sicuro.Es: Internet Home Banking, in questo caso tutte le informazioni devono essere messe al sicuro.Selected SecuritySolo una selezionata parte dei dati viene messa...
Questo post discute e propone le metodologie da
utilizzare quando s'intende utilizzare Microsoft SQL Server come Database e
Windows Authentication come metodo di autentificazione.
Windows Authentication
Windows authentication è decisamente la più sicura metodologia da applicare
quando ci si connette a Microsoft SQL Server per i seguenti motivi:
1) Al programmatore non è riservata alcuna operazione di
managing relative alle credenziali e sopratutto queste
non sono trasmesse in rete.
2) Le credenziali (username e password) non sono inglobate
nelle connection strings.
3) Avvalendosi di sistemi di password expiration periods, lunghezza minima ed
account lock successivo a multiple richieste invalide, Logon
Security fornisce un buon punto di partenza.
E'...
In
questo post si parlerà di tecniche atte a mettere in sicurezza i vari tipi di
stati che una normale web application può trovarsi a gestire.
Securing ViewState
Se la nostra Web Application utilizza il viewstate
è bene considerare di:Assicurarsi dell'integrità del messaggio, per far questo
è bene abilitare il direttiva enableViewStateMac a
true.<% @ Page enableViewStateMac=true > Questo comporta la generazione di un Message Authentication Code
(MAC) da parte di ASP.NET, durante l'evento
postback.
Configurare l'attributo
validation presente nel machine.config , per specificare il tipo di criptaggio
che sarà utilizzato per la validazione dei dati. (SHA1- 3DES per esempio).
Ricordiamo che SHA1 (Secure Hash Algorithm 1)...
I
vari settings di configurazione sono su base
gerarchica.Web.config posizionati in cartelle specifiche
possono eseguire overide del
Web.Config posizionato nella cartella principale del Virtual
Server. Allo stesso modo, quest’ultimi, possono eseguire overide del
Machine.Config del server Web.
E’
sicuramente utile sapere che è possibile bloccare i sistemi
di overide dei livelli più bassi utilizzando l’elemento
element in coppia con l’attributo
allowOveride.<location path="somepath" allowOverride="false" /> . . . arbitrary configuration settings . . .</location>
E’ da tener nota che la path per cui
si vuole agire può essere settata per il WebSite, la Directory Virutale, la
directory root o la sottodirectory. Quindi : Settando allowOverride a false, si...