Canonicalization, questo sconosciuto, anche per il dev team di ASP.NET

Daniele Bochicchio

di , in Windows Server and Security,

Premetto: è un bug pericoloso, ma i fattori mitiganti sono talmente tanti che devi proprio scegliere di essere esposto a questo richiscio.

In primis basta ed avanza IIS 6, che fa un lavoro di canonicalization sull'URL, trasformando tutto nell'equivalente carattere corrispondente. E se proprio siete ancora antichi ed avete deciso di non usare il miglior web server che esiste sulla faccia del pianeta (cioè state ancora usando IIS 5 ;) allora è arrivato il momento di far gestire i vostri server da qualcuno che prende sul serio la sicurezza. Perchè non installare, in 4 anni o quasi che esiste, UrlScan, è volere farsi del male. Spesso i bug sono pericolosi perchè li possiamo solo subire, senza poter essere proattivi, tante altre volte sfruttano solo errori di configurazione o mancanza di cultura della sicurezza. Ogni tanto rileggo questo articolo, per certi versi un po' estremo, e vedo che nonostante siano passati quasi due anni, più che migliorare siamo sullo stazionario.

Eppure avrò sentito non so quante volte la brava gente del dev team di ASP.NET parlare di canonicalization ed ora ci sono caduti :(

La soluzione migliore, comunque, quella che uso e che consiglio di utilizzare è un sistema di autorizzazione fatto ad hoc. Ultimamente mi è presa la mania del pattern Front Controller ed in questo ambito è davvero semplice sfruttare direttamente un controllo degli accessi, senza appoggiarsi ad ASP.NET (che in fin dei conti fa la stessa identica cosa).

Va comunque bene sfruttare il meccanismo di ASP.NET, che è comodissimo, ma se nelle pagina imparassimo a fare User.IsInRole(ruolo), in maniera programmatica oltre che sfruttando l'HttpModule UrlAuthorization di ASP.NET, forse vivremmo tutti più felici. E' una ripetizione, certamente, ma la sicurezza è anche e soprattutto ripetere più e più volte gli stessi, a volte noiosi, controlli. Perchè il software lo scrivono gli esseri umani e finchè sarà così, gli errori ci saranno sempre. L'importante è farsi trovare pronti ed applicare le patch (ufficiali o auto prodotte) a mano. E cercare di pensare sempre oltre le apparenze. Scrivere codice è un'arte e come tale richiede un po' di fantasia, oltre che tantissima buona tecnica!

Commenti
Canonicalization, questo sconosciuto, anche per il dev team di ASP.NET

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Nella stessa categoria
I più letti del mese
TAG CLOUD
.NET Framework, .NET Framework 2.0, .NET Framework 3.0, .NET Framework 3.5, .NET Framework 4.0, .NET Micro Framework, 10annidi, ADO.NET, AJAX, Architettura, ASP, ASP.NET, ASP.NET 2.0, ASP.NET 2.0 per tutti, ASP.NET 3.5, ASP.NET 3.5 per tutti, ASP.NET 4.0, ASP.NET 4.0 Guida completa, ASP.NET AJAX, ASP.NET Charting, ASP.NET MVC, ASPItalia.com, C# 4 Guida completa, Cache, Community Days 2010, Community Days 2012, CSS, Custom Control, Database, Databinding, Datagrid, Deployment, Dynamic Data Control, Entity Framework, Expression Blend, HTML 5 Espresso, HTML5, HttpHandler, HttpModule, HttpRuntime, IIS, ISAPI, Javascript, jQuery, LINQ, LINQ to Entities, LINQ to SQL, LogParser, Master Pages, Media Center, Membership API, Metro, Microsoft Expression, MIX11, Model Virtual Casting, Mono, MySQL, Object Oriented Programming, Off Topic, Office, ORM, Parallel FX, Pattern, PDC 2008, Profile API, Provider Model, Real Code Day 6, Report, Roles API, Security, SEO, Silverlight, Silverlight 2.0, Silverlight 3.0, Silverlight 3.0 Guida Completa, Silverlight 4.0, SQL Server, User Control, Visual Basic 2010 Guida completa, Visual Studio, WCF Data Services, WCF RIA Services, Web Service, web.config, Windows 7, Windows 8, Windows Azure, Windows Client, Windows Communication Foundation, Windows Identity Foundation, Windows Live Services, Windows Phone, Windows Phone - il libro, Windows Phone 7, Windows Phone 7.1, Windows Presentation Foundation, Windows Server, Windows Vista, WinRT, XAML, XBox 360, XHTML, XML, XNA, XSLT
BLOG INFO
  • 1.019 post, 438 commenti, 195 trackback
  • Feed blog: RSS Atom
In evidenza