<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Security &amp; Architecture : Sicurezza</title><link>http://blogs.msdn.com/mariofontana/archive/tags/Sicurezza/default.aspx</link><description>Tags: Sicurezza</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Bug Hunter … ovvero una passione</title><link>http://blogs.msdn.com/mariofontana/archive/2009/11/10/bug-hunter-ovvero-una-passione.aspx</link><pubDate>Tue, 10 Nov 2009 12:27:57 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9920113</guid><dc:creator>mfontana</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/mariofontana/comments/9920113.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mariofontana/commentrss.aspx?PostID=9920113</wfw:commentRss><description>&lt;p&gt;Conosco &lt;strong&gt;&lt;a href=" http://www.matteocarli.com/" target="_blank"&gt;Matteo Carli&lt;/a&gt; &lt;/strong&gt;(sulla destra) diciamo … da moltissimi anni ormai :-) e mi ha fatto veramente piacere vederlo parlare a &lt;strong&gt;RAI 3 &lt;/strong&gt;riguardo all’ottimo lavoro di analisi e ricerca sulle vulnerabilità in campo sicurezza applicativa che ha svolto insieme a Rosario Valotta.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt; &lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/gav4Im06X4Y&amp;amp;hl=it&amp;amp;fs=1&amp;amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/gav4Im06X4Y&amp;amp;hl=it&amp;amp;fs=1&amp;amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;  &lt;p&gt;Per maggiori informazioni tecniche su quanto scoperto da Matteo e Rosario leggete il post di Matteo &lt;a href="http://www.matteocarli.com/2009/03/le-webmail-sono-morte-viva-le-webmail.html" target="_blank"&gt;le-webmail-sono-morte-viva-le-webmail&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;BRAVO MATTEO ! anche perchè a breve ci sarà un altro video… no?? ;-)&lt;/p&gt;  &lt;p&gt;--Mario&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9920113" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/mariofontana/archive/tags/Sicurezza/default.aspx">Sicurezza</category></item><item><title>Il nuovo Microsoft Baseline Security Analyzer 2.1.1 per Windows 7 e Windows Server 2008 R2</title><link>http://blogs.msdn.com/mariofontana/archive/2009/10/27/il-nuovo-microsoft-baseline-security-analyzer-2-1-1-per-windows-7-e-windows-server-2008-r2.aspx</link><pubDate>Tue, 27 Oct 2009 04:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9913084</guid><dc:creator>mfontana</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/mariofontana/comments/9913084.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mariofontana/commentrss.aspx?PostID=9913084</wfw:commentRss><description>&lt;p&gt;E’ disponibile la nuova versione del Microsoft Baseline Security Analyzer (MBSA), un’utility per verificare la compliancy ai Microsoft Security Standars della propria infrastruttura.&lt;/p&gt;  &lt;p&gt;Tra le novità spicca il supporto a Windows 7 e Windows Server 2008 R2.&lt;/p&gt;  &lt;p&gt;&lt;a title="http://www.microsoft.com/downloads/details.aspx?FamilyID=b1e76bbe-71df-41e8-8b52-c871d012ba78&amp;amp;displaylang=en" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=b1e76bbe-71df-41e8-8b52-c871d012ba78&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=b1e76bbe-71df-41e8-8b52-c871d012ba78&amp;amp;displaylang=en&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;--Mario&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9913084" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/mariofontana/archive/tags/Sicurezza/default.aspx">Sicurezza</category></item><item><title>Questionario Osservatorio Attacchi Informatici in Italia</title><link>http://blogs.msdn.com/mariofontana/archive/2009/10/20/questionario-osservatorio-attacchi-informatici-in-italia.aspx</link><pubDate>Tue, 20 Oct 2009 04:10:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9908978</guid><dc:creator>mfontana</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/mariofontana/comments/9908978.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mariofontana/commentrss.aspx?PostID=9908978</wfw:commentRss><description>&lt;p&gt;Segnalo l’ importante iniziativa&amp;#160; della &lt;strong&gt;FidaInform&lt;/strong&gt;, la Federazione dei ClubTI Italiani distribuiti sul territorio nazionale, nel voler ricostituire l’ &lt;strong&gt;Osservatorio sugli attacchi informatici &lt;/strong&gt;in Italia (OAI) tramite un breve questionario aninimo indirizzato ai responsabili IT di aziende di qualsiasi dimensione. L’iniziativa è a livello nazionale con cadenza annuale e vuole rappresentare una fotografia aggiornata della situazione in Italia.&lt;/p&gt;  &lt;p&gt;Vi invito a dire la vostra al seguente &lt;a href="http://www.soiel.it/FIDA/pagina1.html" target="_blank"&gt;link&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;--Mario&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9908978" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/mariofontana/archive/tags/Sicurezza/default.aspx">Sicurezza</category></item><item><title>The Microsoft SDL : Developer Starter Kit</title><link>http://blogs.msdn.com/mariofontana/archive/2009/10/17/the-microsoft-sdl-developer-starter-kit.aspx</link><pubDate>Sat, 17 Oct 2009 04:15:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9908250</guid><dc:creator>mfontana</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/mariofontana/comments/9908250.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mariofontana/commentrss.aspx?PostID=9908250</wfw:commentRss><description>&lt;p&gt;This is a great news !! It’s available for download the new &lt;strong&gt;&lt;a href="http://msdn.microsoft.com/en-us/security/ee361993.aspx" target="_blank"&gt;The Microsoft SDL Developer Starter Kit&lt;/a&gt; &lt;/strong&gt;with slides, documents and labs to help you establish a standardized approach to rolling out the Microsoft Security Development Lifecycle (SDL) in your organization—or enrich your existing development practices.&lt;/p&gt;  &lt;p&gt;You can decide to download the kit and run it into your environment or you can try it through our Security Virtual Labs.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://go.microsoft.com/?linkid=9664141"&gt;MSDN Virtual Lab: Microsoft SDL: Developer Starter Kit: Buffer Overflows&lt;/a&gt;New!&lt;/li&gt;    &lt;li&gt;&lt;a href="http://go.microsoft.com/?linkid=9664142"&gt;MSDN Virtual Lab: Microsoft SDL: Developer Starter Kit: Code Analysis&lt;/a&gt;New!&lt;/li&gt;    &lt;li&gt;&lt;a href="http://go.microsoft.com/?linkid=9664143"&gt;MSDN Virtual Lab: Microsoft SDL: Developer Starter Kit: Compiler Defenses&lt;/a&gt;New!&lt;/li&gt;    &lt;li&gt;&lt;a href="http://go.microsoft.com/?linkid=9664144"&gt;MSDN Virtual Lab: Microsoft SDL: Developer Starter Kit: Cross-Site Scripting Vulnerabilities&lt;/a&gt;New!&lt;/li&gt;    &lt;li&gt;&lt;a href="http://go.microsoft.com/?linkid=9664145"&gt;MSDN Virtual Lab: Microsoft SDL: Developer Starter Kit: Fuzz Testing&lt;/a&gt;New!&lt;/li&gt;    &lt;li&gt;&lt;a href="http://go.microsoft.com/?linkid=9664146"&gt;MSDN Virtual Lab: Microsoft SDL: Developer Starter Kit: Security Code Review&lt;/a&gt;New!&lt;/li&gt;    &lt;li&gt;&lt;a href="http://go.microsoft.com/?linkid=9664147"&gt;MSDN Virtual Lab: Microsoft SDL: Developer Starter Kit: Source Code Annotation Language&lt;/a&gt;New!&lt;/li&gt;    &lt;li&gt;&lt;a href="http://go.microsoft.com/?linkid=9664148"&gt;MSDN Virtual Lab: Microsoft SDL: Developer Starter Kit: SQL Injection Vulnerabilities&lt;/a&gt;New!&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;This material is also correlated to the &lt;a href="http://go.microsoft.com/?linkid=9672892" target="_blank"&gt;SDL Optimization model&lt;/a&gt; to introduce a gradual and &lt;strong&gt;cost-effective&lt;/strong&gt; implementation of the SDL into the organization.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;--Mario&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9908250" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/mariofontana/archive/tags/Sicurezza/default.aspx">Sicurezza</category><category domain="http://blogs.msdn.com/mariofontana/archive/tags/SDL/default.aspx">SDL</category></item><item><title>Microsoft SDL : Return On Investment</title><link>http://blogs.msdn.com/mariofontana/archive/2009/10/16/microsoft-sdl-return-on-investment.aspx</link><pubDate>Fri, 16 Oct 2009 10:10:11 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9908069</guid><dc:creator>mfontana</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/mariofontana/comments/9908069.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mariofontana/commentrss.aspx?PostID=9908069</wfw:commentRss><description>&lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/mariofontana/WindowsLiveWriter/MicrosoftSDLReturnOnInvestment_AB09/image_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/mariofontana/WindowsLiveWriter/MicrosoftSDLReturnOnInvestment_AB09/image_thumb.png" width="244" height="44" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Microsoft &lt;/strong&gt;and &lt;strong&gt;ISec Partners &lt;/strong&gt;just published a joint &lt;a href="http://go.microsoft.com/?linkid=9684360" target="_blank"&gt;whitepaper&lt;/a&gt; about &lt;strong&gt;Microsoft SDL and the return of Investment &lt;/strong&gt;to help IT architects and business architects to :&lt;/p&gt;  &lt;p&gt;· Understand and communicate the benefits of a structured approach to &lt;strong&gt;software security&lt;/strong&gt;.&lt;/p&gt;  &lt;p&gt;· Develop and use metrics for &lt;strong&gt;ROI &lt;/strong&gt;to guide process improvement.&lt;/p&gt;  &lt;p&gt;· Get meaningful results from a new program or optimize existing efforts on a limited budget.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;You can read more information &lt;a href="http://blogs.msdn.com/sdl/archive/2009/10/05/getting-the-most-for-your-security-investment.aspx" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;--Mario&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9908069" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/mariofontana/archive/tags/Sicurezza/default.aspx">Sicurezza</category><category domain="http://blogs.msdn.com/mariofontana/archive/tags/SDL/default.aspx">SDL</category></item><item><title>Windows 7 SDK : tutti gli esempi di security</title><link>http://blogs.msdn.com/mariofontana/archive/2009/07/22/windows-7-sdk-tutti-gli-esempi-di-security.aspx</link><pubDate>Wed, 22 Jul 2009 15:19:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9844745</guid><dc:creator>mfontana</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/mariofontana/comments/9844745.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mariofontana/commentrss.aspx?PostID=9844745</wfw:commentRss><description>&lt;p&gt;[New/updated Security services samples in the Windows SDK for Windows 7]&lt;/p&gt;  &lt;p&gt;Può tornare utile questa &lt;a href="http://blogs.msdn.com/windowssdk/archive/2009/07/06/new-win32-samples-in-windows-sdk-for-windows-7-security.aspx" target="_blank"&gt;lista&lt;/a&gt; di tutti gli esempi (nuovi e aggiornati) in ambito sicurezza presenti nel nuovo &lt;strong&gt;SDK per Windows 7&lt;/strong&gt;.&lt;/p&gt;  &lt;p&gt;Guardo con un filo di commozione gli esempi &lt;em&gt;Retrieve and embed an OCSP response &lt;/em&gt;e &lt;em&gt;Sample Certificate Store Provider &lt;/em&gt;che in giovinezza (5 o 6 annni fa) dovetti scrivere da zero con le CryptoAPI per un progetto :-)&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;--Mario&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9844745" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/mariofontana/archive/tags/Sicurezza/default.aspx">Sicurezza</category><category domain="http://blogs.msdn.com/mariofontana/archive/tags/Win7/default.aspx">Win7</category></item><item><title>Ancora sull’Application Security : SSL è superato dalle specifiche WS-* ??</title><link>http://blogs.msdn.com/mariofontana/archive/2009/06/22/ancora-sull-application-security-ssl-superato-dalle-specifiche-ws.aspx</link><pubDate>Mon, 22 Jun 2009 08:01:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9784759</guid><dc:creator>mfontana</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/mariofontana/comments/9784759.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mariofontana/commentrss.aspx?PostID=9784759</wfw:commentRss><description>&lt;P&gt;Non credevo di suscitare tanto interesse &lt;A href="http://blogs.msdn.com/mariofontana/archive/2009/06/16/la-sicurezza-applicativa-indietro-di-almeno-10-anni-rispetto-al-software-development.aspx" target=_blank mce_href="http://blogs.msdn.com/mariofontana/archive/2009/06/16/la-sicurezza-applicativa-indietro-di-almeno-10-anni-rispetto-al-software-development.aspx"&gt;con questo mio precedente post&lt;/A&gt; :-)&amp;nbsp;ma ne sono contento perchè questo conferma una buona sensibilità verso l’application security.&lt;/P&gt;
&lt;P&gt;Ho ricevuto molte email riguardo l’uso di SSL alcune delle quali mi chiedevano se&amp;nbsp; tale protocollo è da considerarsi ancora sicuro. Vedo di sintetizzare un po’ di miei pensieri… sperando di continuare il dibattito :-)&lt;/P&gt;
&lt;H3&gt;&lt;B&gt;SSL è superato dal WS-*?&lt;/B&gt; &lt;/H3&gt;
&lt;P&gt;Assolutamente NO... e ci mancherebbe altro! Sono due mattoni importanti per la messa in sicurezza di un sistema. Sono complementari anche se hanno molte "funzionalità" in comune. Infatti, in alcuni contesti devono essere utilizzati obbligatoriamente entrambi, come ad esempio durante lo scambio di un &lt;STRONG&gt;UsernameToken &lt;/STRONG&gt;definito dalla specifica WS-Security:&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xsd:element name="&lt;B&gt;UsernameToken&lt;/B&gt;"&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp; &amp;lt;xsd:complexType&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsd:sequence&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsd:element ref="Username"/&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsd:element ref="Password" minOccurs="0"/&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/xsd:sequence&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsd:attribute name="Id" type="xsd:ID"/&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsd:anyAttribute namespace="##other"/&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp; &amp;lt;/xsd:complexType&amp;gt; &lt;BR&gt;&amp;lt;/xsd:element&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;Infatti, in questo caso durante lo scambio del token il network si deve fare carico dell’encryption del canale! Volendo schematizzare le affinità e le differenze tra l’uso di SSL e lo stack WS-*:&lt;/P&gt;
&lt;H4&gt;Affinità: &lt;/H4&gt;
&lt;P&gt;- Entrambi garantiscono Autenticazione, Integrità e riservatezza sebbene lo stack WS-* tramite XMLENC e XMLDSIG sia molto più espressivo. &lt;/P&gt;
&lt;P&gt;- E’ sempre il sistemista che interviene sulle configurazioni del server per SSL come può intervenire sulle policy del servizio per modificare le caratteristiche dei messaggi SOAP (+ o -).&lt;/P&gt;
&lt;H4&gt;Differenze:&lt;/H4&gt;
&lt;P&gt;molte! Prima di tutto WS-* prevede il supporto a SOAP mentre SSL no, WS-* NON è applicabile in tutti i contesti di Web-Applications invece SSL si. &lt;/P&gt;
&lt;P&gt;SSL è implementato al livello 5 della famosa pila mentre i WS-* sono in quello definito “nuovo layer 8”. Questo comporta alcune considerazioni di sicurezza importanti..prima tra tutte che il livello 4 (TCP) e 5 da un punto di vista di sicurezza si occupano solamente del mittente. Non è una cosa da poco. Si pensi agli scenari &lt;B&gt;SOA&lt;/B&gt; e &lt;B&gt;SaaS&lt;/B&gt;. SSL è semplicemente un canale cifrato &lt;U&gt;tra due end-point&lt;/U&gt; e non è possibile estendere il conteso di cifratura ad altri server (intermediari) creando possibili “vulnerabilità” nel flusso dei dati. &lt;B&gt;Il contesto di sicurezza dell’applicazione NON è la sommatoria dei singoli contesti&lt;/B&gt;. WS-Security &amp;amp; family, al contrario spostando le informazioni di sicurezza direttamente all’interno dell’header del messaggio SOAP, consente di avere un numero arbitrario di intermediari e di protocolli di rete anche non sicuri garantendo però il contesto di sicurezza dell’applicazione.&lt;/P&gt;
&lt;P&gt;SSL è un protocollo“state-full” ovvero deve mantenere uno “stato” tra il client e il server; il client instaura una connessione con un determinato server e il suo flusso non può essere deviato ad altri server (l’handshake tra il client e il server ha lo scopo di scambiarsi delle chiavi simmetriche – tramite delle chiavi asimmetriche - che entrambi utilizzano per cifrare il canale) perchè non sono in possesso delle corrette chiavi simmetriche per decifrare i dati. In questo scenario è indispensabile ricorrere ad un intervento sistemistico impostando i valori di “&lt;STRONG&gt;affinity&lt;/STRONG&gt;” che associano un client sempre allo stesso server riducendo notevolmente la scalabilità applicativa. Al contrario &lt;B&gt;WS-Security&lt;/B&gt;, basando interamente la propria struttura a livello del messaggio può usufruire di scelte infrastrutturali più scalabili. &lt;/P&gt;
&lt;P&gt;Se ci spostiamo su &lt;B&gt;WS-SecureConversation&lt;/B&gt;, lo scenario cambia nuovamente, ritorniamo alla necessità di avere una chiave simmetrica condivisa, o meglio, un contesto di sicurezza condiviso (SCT- Security Context Token).Per risolvere la ridondanza dei servizi si hanno 3 opzioni: &lt;/P&gt;
&lt;P&gt;1) Sistemistico tramite affinity proprio come SSL.&lt;/P&gt;
&lt;P&gt;2) Misto:tramite un database di SCT condiviso da tutti i server bilanciati.&lt;/P&gt;
&lt;P&gt;3) Applicativo, estendendo lo schema del SCT. (possibili problemi di compatibilità con terze parti o comunque con software non aware del nuovo schema)&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;/B&gt;&lt;/P&gt;
&lt;H4&gt;Considerazioni su SSL&lt;/H4&gt;
&lt;P&gt;SSL è un ottimo protocollo crittografico ma per quanto riguarda la sicurezza (non la crittografia) siamo ben lontani !! Innanzitutto il meccanismo di protezione non è efficace per quegli utenti “distratti” che non vanno a verificare TUTTE LE VOLTE l’URL nel browser con l’indirizzo specificato nel certificato. Inoltre, il famoso warning di incongruenza di dati del certificato viene sempre ignorato (= OK) permettendo, se va male, l’attacchi basato su ip-spoofing,ecc... E’ anche vera una riflessioncina : a prescindere da tutto, se un amministratore di un sito gestisce così il protocollo SSL c’è da chiedersi come gestisca l’intero sistema ...Mah..&lt;/P&gt;
&lt;P&gt;A questo proposito a partire da &lt;STRONG&gt;Windows Vista&lt;/STRONG&gt; è stato introdotto il supporto agli &lt;B&gt;Extended Validation SSL Certificates &lt;/B&gt;&lt;A href="http://www.microsoft.com/windows/ev" mce_href="http://www.microsoft.com/windows/ev"&gt;http://www.microsoft.com/windows/ev&lt;/A&gt;. Sicuramente utile ma prima di tutto devono essere adottatti largamente dai gestori dei siti!!!!&lt;/P&gt;
&lt;P&gt;SSL fonda la sua sicurezza pesantemente sulla robustezza dei cifrari asimmetrici e simmetrici utilizzati (come anche WS-*), cambia spesso la chiave di sessione (5min di default) e mitiga il reply tramite il &lt;I&gt;Connect_id.&lt;/I&gt;&lt;/P&gt;
&lt;P&gt;A questo punto volendo schematizzare i pro e i contro nell’ uso di SSL : 
&lt;TABLE border=1 cellSpacing=0 cellPadding=0 width=594&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD vAlign=top width=316&gt;
&lt;P&gt;&lt;B&gt;&lt;I&gt;SSL PRO&lt;/I&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=276&gt;
&lt;P&gt;&lt;B&gt;&lt;I&gt;SSL CONTRO&lt;/I&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD vAlign=top width=316&gt;
&lt;P&gt;Standard&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=276&gt;
&lt;P&gt;Dispendioso per la CPU&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD vAlign=top width=316&gt;
&lt;P&gt;Autenticazione, integrità e riservatezza&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=276&gt;
&lt;P&gt;Session oriented&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD vAlign=top width=316&gt;
&lt;P&gt;Nessun vincolo di linguaggi di programmazione&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=276&gt;
&lt;P&gt;Implementazione solo su HTTP (non per motivi tecnici o di specifica).&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD vAlign=top width=316&gt;
&lt;P&gt;Nessun vincolo di pattern di sicurezza applicativa&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=276&gt;
&lt;P&gt;Valido solo su singolo hop&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD vAlign=top width=316&gt;
&lt;P&gt;“Gratis” per chi disegna ed implementa le applicazioni.&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=276&gt;
&lt;P&gt;Non assicura i dati una volta arrivati al server.&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD vAlign=top width=316&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD vAlign=top width=276&gt;
&lt;P&gt;NON ESONERA GLI SVILUPPATORI DALLO SCRIVERE CODICE SICURO J&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;H3&gt;Attacchi e Contromisure&lt;/H3&gt;
&lt;P&gt;Di &lt;STRONG&gt;SSL &lt;/STRONG&gt;ormai si sa (quasi) tutto. Gli attacchi principali al protocollo SSL sono noti mentre per lo stack WS-* se ne conoscono ancora relativamente pochi. &lt;/P&gt;
&lt;P&gt;Per quanto riguarda SSL l’ultimo in ordine di tempo è l’ attacco basato sul &lt;B&gt;&lt;I&gt;BVO(Bad-version Oracle)&lt;/I&gt;&lt;/B&gt;. (nulla a che vedere con il famoso produttore di Database :-) )&lt;/P&gt;
&lt;P&gt;SSL/TLS utilizza l’encoding &lt;STRONG&gt;PKCS#1 &lt;/STRONG&gt;(v1.5) per l’encryption del pre-master-secret (valore utilizzato per la derivazione delle session keys).Un hacker che riesce a recuperare il premaster-secret può decifrare l’intera sessione SSL.L’attacco principale è una derivazione dell’attacco di &lt;STRONG&gt;Bleichenbacher &lt;/STRONG&gt;per il PKCS#1.Parte dal presupposto che il meccanismo di versioning del PKCS#1 permette di creare un side-channel che permetta di invertire l’encryption recuperando il premaster-secret e/o firmarndosi come server!Questo attacco riesce entro le 54 ore con chiavi asimmetriche a 1024.&lt;/P&gt;
&lt;P&gt;Inoltre, se si dispone di proxy server sarebbe consigliato configurare l’analisi dei primi passi del traffico dell’handshake di SSL per evitare che venga fatto del tunneling di un protocollo non autorizzato su una porta aperta (443 di default). &lt;/P&gt;
&lt;P&gt;Per quanto riguarda le contromisure agli attacchi a &lt;STRONG&gt;SOAP/WS-* siamo messi (forse) peggio&lt;/STRONG&gt;! Già durante la WPC 2007 ho presentato un sunto di vari attacchi a partire da SOAP fino alle specifiche più complesse come WS-Security e spero a breve di riuscire a sintetizzarli in uno o più post !! In questo articolo prendiamo in esame uno degli aspetti più importanti di WS-Security : la dipendenza da &lt;STRONG&gt;XMLENC &lt;/STRONG&gt;e &lt;STRONG&gt;XMLDISG (&lt;/STRONG&gt;per sapere come sono fatti leggete &lt;A href="http://blogs.msdn.com/mariofontana/archive/2007/10/30/specifiche-di-base-xml-digital-signature-in-pillole.aspx" target=_blank mce_href="http://blogs.msdn.com/mariofontana/archive/2007/10/30/specifiche-di-base-xml-digital-signature-in-pillole.aspx"&gt;qui&lt;/A&gt; e &lt;A href="http://blogs.msdn.com/mariofontana/archive/2007/11/22/specifiche-di-base-xml-encryption-in-pillole.aspx" target=_blank mce_href="http://blogs.msdn.com/mariofontana/archive/2007/11/22/specifiche-di-base-xml-encryption-in-pillole.aspx"&gt;qui&lt;/A&gt;&lt;STRONG&gt;). &lt;/STRONG&gt;Infatti da alcuni anni orami sono noti vari attacchi di tipo DoS a queste strutture. L’attacco verte sulla funzione di &lt;STRONG&gt;verifica/decrypt dei dati&lt;/STRONG&gt;. Ad esempio in XMLDSIG l’elemento &lt;EM&gt;Reference &lt;/EM&gt;raccoglie l’informazione da firmare. Lo schema di Reference :&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;element name="Reference" type="ds:ReferenceType"/&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp; &amp;lt;complexType name="ReferenceType"&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;sequence&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;element ref="ds:Transforms" minOccurs="0"/&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;element ref="ds:DigestMethod"/&amp;gt;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;element ref="ds:DigestValue"/&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/sequence&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;attribute name="Id" type="ID" use="optional"/&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;attribute name="URI" type="anyURI" use="optional"/&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;attribute name="Type" type="anyURI" use="optional"/&amp;gt; &lt;BR&gt;&amp;nbsp; &amp;lt;/complexType&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;mostra chiaramente che il contenuto da firmare non è il documento stesso, ma bensi l’hash del documento (&lt;EM&gt;DigestMethod &lt;/EM&gt;e &lt;EM&gt;DigestValue&lt;/EM&gt;) più le informazioni di rappresentazione.&lt;/P&gt;
&lt;P&gt;Poichè il processo di verifica della firma prevede il ricalcolo dell’hash dell’oggetto firmato, cosa succede se l’URI del Reference indica ad esempio il SP1 di Windows 2003 ?? Il Thread di IIS che sta processando il codice applicativo si scarica 315 Mb per poter calcolare l’hash... moltiplichiamo la richiesta n volte e, etvoilà...&lt;STRONG&gt;HABEMUS DoS Attack&lt;/STRONG&gt;...&lt;/P&gt;
&lt;P&gt;Contromisure? Beh, applicative e di content analisys da parte dei firewall. In alcuni contesti è possibile implementare alcuni pattern di sicurezza come il &lt;I&gt;Message Validator&lt;/I&gt; oppure dedicare uno o più &lt;I&gt;Perimeter Service Router&lt;/I&gt; applicativi.&lt;/P&gt;
&lt;P&gt;In sintesi le contromisure per gli attacchi a SSL sono di competenza dei sistemisti :-) mentre quelli a livello applicativo spesso sono distribuiti tra sistemisti e architetti/sviluppatori. &lt;/P&gt;
&lt;P&gt;E’ però importante sottolineare che &lt;U&gt;per quanto riguarda la messa in sicurezza di una applicazione l’uso di SSL o WS-* &lt;B&gt;non significa NULLA o quasi&lt;/B&gt;&lt;/U&gt;. &lt;B&gt;Gli attacchi applicativi tipo Buffer Overrun, SQL-Injection, XSS, Code-inj.,Canonicalization attacks, Ecc... avvengono ne più ne meno...perchè il 95% di codesti attacchi è riconducibile ad un unico antipattern tipico di chi sviluppa : (mancanza) di INPUT VALIDATION !!!!&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;Qunidi, alla domanda più ricorrente che ci sia in questo ambito &lt;STRONG&gt;:”quando una applicazione può esserer considerata (più) sicura? &lt;/STRONG&gt;non posso che rispondere in questo&amp;nbsp; modo &lt;STRONG&gt;: quando è stata sviluppata seguendo il processo di SDL fin dal principio :-)&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;--Mario&lt;/P&gt;
&lt;P&gt;PS : Se volete saperne di più sulla sicurezza applicativa, da cosa è composta e come dovrebbe essere affrontata leggete questo mio post dal titolo : &lt;A href="http://blogs.msdn.com/mariofontana/archive/2007/11/02/perch-la-sicurezza-applicativa-cos-ostica.aspx" target=_blank mce_href="http://blogs.msdn.com/mariofontana/archive/2007/11/02/perch-la-sicurezza-applicativa-cos-ostica.aspx"&gt;Perchè la sicurezza applicativa è così ostica ?&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9784759" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/mariofontana/archive/tags/Sicurezza/default.aspx">Sicurezza</category><category domain="http://blogs.msdn.com/mariofontana/archive/tags/Crittografia/default.aspx">Crittografia</category></item><item><title>L' Application Security è indietro 10 anni rispetto al Software Development ?</title><link>http://blogs.msdn.com/mariofontana/archive/2009/06/16/la-sicurezza-applicativa-indietro-di-almeno-10-anni-rispetto-al-software-development.aspx</link><pubDate>Tue, 16 Jun 2009 08:01:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9751007</guid><dc:creator>mfontana</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/mariofontana/comments/9751007.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mariofontana/commentrss.aspx?PostID=9751007</wfw:commentRss><description>&lt;P&gt;&lt;EM&gt;“In evolutionary terms, the information security field is more than a decade behind software development” &lt;/EM&gt;con queste parole inizia &lt;A href="http://arctecgroup.net/pdf/sosindications.pdf" target=_blank mce_href="http://arctecgroup.net/pdf/sosindications.pdf"&gt;un interessante articolo di Gunnar Peterson&lt;/A&gt; dal titolo &lt;EM&gt;“Service-Oriented Security Indications for Use”&lt;/EM&gt;. In sistesi Gunner sostiene che a partire dagli anni 90 abbiamo assistito a molteplici evoluzioni nel campo del software development mentre in ambito security siamo rimasti pressochè fermi, immobili. &lt;/P&gt;
&lt;P&gt;Io mi trovo pressochè d’accordo con lui anche se man mano proseguivo nella lettura dell’articolo le ragioni del mio essere d’accordo divergevano sempre più da quelle presentate da Gunner. Mi spiego meglio.&lt;/P&gt;
&lt;P&gt;In sintesi Gunner sostine cha se dal lato applicativo c’è stata una forte evoluzione partendo dagli anni 90 con lo sviluppo delle prime Web Applications con CGI, passando poi per l’era ASP/JSP, le 3-tiers Apps nel 1998 per arrivare agli anni 2000 dove si inizia a progettare con SOAP, XML e REST per arrivare agli albori del Web 2.0, &lt;STRONG&gt;dal lato security non siamo mai andati oltre i firewalls e SSL&lt;/STRONG&gt;. Su questo sono d’accordo anche se a mio avviso è necessario fare un ulteriore distinguo tra le definizione di standard per la sicurezza e relativa adozione di quest’ultimi da parte dell’industria per capire meglio il fenomeno. Infatti non è vero che lato security non c’è stata innovazione! &lt;/P&gt;
&lt;P&gt;Tra il 2001 e il 2002 sono comparsi i primi draft delle specifiche che volevano andare oltre la sicurezza del protocollo SSL e di infrastruttura (comunque lato sicurezza applicativa i firewall erano già bypassati con l’introduzione di SOAP/XML, fino alla comparsa delle prime versioni capaci di fare content control su formati XML based). Nacque il così detto stack &lt;STRONG&gt;WS-* &lt;/STRONG&gt;ovvero l’insieme di tutte quelle specifiche dedicate prevalentemente al mondo dei &lt;STRONG&gt;Web Services &lt;/STRONG&gt;(non solo in ambito Security) e che oggi si riconoscono perchè iniziano tutte con &lt;STRONG&gt;&lt;EM&gt;WS-&lt;/EM&gt;&lt;/STRONG&gt; !!&lt;/P&gt;
&lt;P&gt;Quindi già dai primi anni del nuovo millennio abbiamo assistito alla comparsa di specifiche che volevano in qualche modo superare i limiti imposti da SSL e indirizzare il problema della sicurezza nel messaggio non solo tra due end-point ma fino al raggiungimento del destinatario finale. Questo scenario diventò sempre più importante in scenari &lt;STRONG&gt;SOA &lt;/STRONG&gt;dove la sicurezza è o dovrebbe essere gestita più da un punto di vista delle operations che tecnologico e dove i servizi possono essere distribuiti in security context diversi e/o geograficamente.&amp;nbsp; Una breve analisi del concetto di infrastruttura applicativa a servizi e relativi modelli di autenticazione li potete trovare in questi post : &lt;A href="http://blogs.msdn.com/mariofontana/archive/2008/04/22/cosa-intendiamo-per-infrastruttura-applicativa.aspx" target=_blank mce_href="http://blogs.msdn.com/mariofontana/archive/2008/04/22/cosa-intendiamo-per-infrastruttura-applicativa.aspx"&gt;cosa intendiamo per infrastruttura applicativa&lt;/A&gt;,&amp;nbsp; &lt;A href="http://blogs.msdn.com/mariofontana/archive/2008/03/29/autenticazione-nelle-comunicazioni-sicurezza-a-livello-di-canale.aspx" target=_blank mce_href="http://blogs.msdn.com/mariofontana/archive/2008/03/29/autenticazione-nelle-comunicazioni-sicurezza-a-livello-di-canale.aspx"&gt;autenticazione a livello di canale&lt;/A&gt;, &lt;A href="http://blogs.msdn.com/mariofontana/archive/2008/03/30/autenticazione-nelle-comunicazioni-sicurezza-a-livello-applicativo.aspx" target=_blank mce_href="http://blogs.msdn.com/mariofontana/archive/2008/03/30/autenticazione-nelle-comunicazioni-sicurezza-a-livello-applicativo.aspx"&gt;autenticazione a livello applicativo&lt;/A&gt;, &lt;A href="http://blogs.msdn.com/mariofontana/archive/2008/04/04/autenticazione-nelle-comunicazioni-sicurezza-a-livello-di-messaggio.aspx" target=_blank mce_href="http://blogs.msdn.com/mariofontana/archive/2008/04/04/autenticazione-nelle-comunicazioni-sicurezza-a-livello-di-messaggio.aspx"&gt;autenticazione a livello di messaggio&lt;/A&gt;. Già a partire da Dicembre 2002 con &lt;STRONG&gt;WSE 1.0&lt;/STRONG&gt; (per chi lavorava in ambito .NET) erano a disposizione di architetti e developers i primi bit per disegnare e soprattutto implementare scenari basati su queste nuove specifiche (&lt;STRONG&gt;WS-Security, WS-Routing &lt;/STRONG&gt;(ora chiamata WS-Addressing) e poco più. &lt;/P&gt;
&lt;P&gt;Questo lato innovazione. Lato adozione lo scenario è effettivamente diverso; tali innovazioni non furono prese molto in considerazione per vari motivi (novità, poca esperienza, pigrizia (tanto c’era SSL) e a mio avviso perchè negli anni le vere potenzialità che possono fornire le architetture a servizi come SOA/EDA sono sempre state sottovalutate. Personalmente lavoro con le specifiche WS-* dalla primissima BETA di WSE (Luglio/Agosto 2002) e ho realizzato molte soluzioni in ambito Enterprise e posso riassumere la mia esperienza in questo modo: &lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;le competenze sui patterns di sicurezza in ambito SOA sono conosciuti e adottati in bassissima percentuale nella fascia dei grandi clienti e quindi non mi meraviglio che in scenari meno enterprise non ci sia traccia di sicurezza se non con firewalls e SSL. &lt;U&gt;Questo almeno fino ad un paio di anni fa&lt;/U&gt;.&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Fortunatamente questo scenario sta cambiando… l’adozione di patterns per la federazione via &lt;STRONG&gt;WS-Federation &lt;/STRONG&gt;e &lt;STRONG&gt;SAML 2.0 Protocol oltre i modelli basati sulla Claims-Based Security &lt;/STRONG&gt;ne sono una conferma. Anche in questo caso però sto notando una adozione prima da parte delle aziende ed enti pubblici e poi man mano in scenari sempre meno Enterprise. Personalmente conto molto sulla “democratizzazione” di questi aspetti di security con il &lt;STRONG&gt;Cloud Computing &lt;/STRONG&gt;perchè diventa (fortunatamente) sempre più difficile realizzare soluzioni silos e totalmente custom dove al contrario gli aspetti di interoperabilità, sicurezza e distribuzione geografica sono un must fin dalle prime fasi della progettazione!!&lt;/P&gt;
&lt;P&gt;Altro ambito in cui negli ultimi anni sto iniziando a vedere un discreto aumento di sensibilità in tutti i settori del mercato IT è quello legato alle best practices sullo &lt;STRONG&gt;sviluppo di codice sicuro&lt;/STRONG&gt;. Da qui l’adozione di modelli derivanti dal &lt;STRONG&gt;SDL&lt;/STRONG&gt; – &lt;EM&gt;Security Development LifeCycle &lt;/EM&gt;– (ad esempio &lt;A href="http://blogs.msdn.com/mariofontana/archive/2009/05/25/integrare-il-processo-di-security-development-lifecycle-sdl-con-visual-studio-team-system.aspx" target=_blank mce_href="http://blogs.msdn.com/mariofontana/archive/2009/05/25/integrare-il-processo-di-security-development-lifecycle-sdl-con-visual-studio-team-system.aspx"&gt;qui&lt;/A&gt; trovate i tool per integrare i principi del SDL con i vari aspetti dell’ ingegneria del software via Visual Studio Team System) e degli sforzi di &lt;STRONG&gt;OWASP &lt;/STRONG&gt;– Open Web Application Security Project - per rendere esplicite le best practices in questo ambito.&lt;/P&gt;
&lt;P&gt;Quindi tornando all’articolo in oggetto non credo che il mondo della sicurezza sia stato alla finestra a guardare il resto dell’ IT che si evolveva restando inerte. Credo invece che l’intriseca fatica nel capire le evoluzioni in ambito sicurezza legate alla complessità dei nuovi scenari architetturali abbia di fatto rallentato se non fermato per anni l’adozione in ambito IT. Da qui il mio essere d’accordo con l’articolo ma per ragioni diverse. &lt;/P&gt;
&lt;P&gt;Mi piacerebbe molto sapere cosa ne pensate :-)&lt;/P&gt;
&lt;P&gt;--Mario&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9751007" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/mariofontana/archive/tags/Sicurezza/default.aspx">Sicurezza</category><category domain="http://blogs.msdn.com/mariofontana/archive/tags/WS-_2A00_/default.aspx">WS-*</category><category domain="http://blogs.msdn.com/mariofontana/archive/tags/Architetture+applicative/default.aspx">Architetture applicative</category></item><item><title>Le basi per un Common Identity Framework</title><link>http://blogs.msdn.com/mariofontana/archive/2009/06/09/le-basi-per-un-common-identity-framework.aspx</link><pubDate>Tue, 09 Jun 2009 12:41:55 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9714541</guid><dc:creator>mfontana</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/mariofontana/comments/9714541.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mariofontana/commentrss.aspx?PostID=9714541</wfw:commentRss><description>&lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/mariofontana/WindowsLiveWriter/LebasiperunCommonIdentityFramework_85DB/image_2.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="image" border="0" alt="image" align="left" src="http://blogs.msdn.com/blogfiles/mariofontana/WindowsLiveWriter/LebasiperunCommonIdentityFramework_85DB/image_thumb.png" width="117" height="121" /&gt;&lt;/a&gt; Per chi come me sta lavorando assiduamente sull’inserimento del modello &lt;strong&gt;claims-based &lt;/strong&gt;nelle attuali architetture dei clienti non può perdere il &lt;a href="http://www.identityblog.com/?p=1048" target="_blank"&gt;post&lt;/a&gt; e relativo documento di &lt;strong&gt;Kim Cameron &lt;/strong&gt;dal titolo :&lt;strong&gt;&lt;em&gt;“Proposal fo a Common Identity Framework: A User-Centric Identity Metasystem”&lt;/em&gt;&lt;/strong&gt; scritto da &lt;strong&gt;Kim Cameron&lt;/strong&gt;, &lt;strong&gt;Reinhard Posch &lt;/strong&gt;e &lt;strong&gt;Kai Rannenberg &lt;/strong&gt;tutti nomi molto conosciuti nell’ambito dell’Identity Management (come potrete leggere dal post di Kim). (download : &lt;a href="http://www.identityblog.com/wp-content/images/2009/06/UserCentricIdentityMetasystem.pdf" target="_blank"&gt;PDF&lt;/a&gt; o &lt;a href="http://www.identityblog.com/wp-content/images/2009/06/UserCentricIdentityMetasystem.doc" target="_blank"&gt;DOC&lt;/a&gt;)!!! &lt;/p&gt;  &lt;p&gt;In questo documento vengono esplicitati &lt;strong&gt;i principi base &lt;/strong&gt;su cui si può fondare un &lt;strong&gt;Identity Metasystem &lt;/strong&gt;capace di integrare e razionalizzare la gestione delle identità indipendentemente dagli stack tecnologici utilizzati. Il tutto, ovviamente, in conformità delle principali leggi sulla sicurezza e sorpattutto sulla privacy. Vi assicuro che questo documento è di estrema utilità perchè evidenzia con chiarezza i principali “blocchi” architetturali e relative dipendenze. &lt;/p&gt;  &lt;p&gt;Tra l’altro questo documento è stato inserito nel libro &lt;a href="http://www.amazon.com/Future-Identity-Information-Society-Opportunities/dp/3540884807/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1243988071&amp;amp;sr=1-1"&gt;The Future of Identity in the Information Society&lt;/a&gt; un trattato che raccoglie ricerche effettuate in vari stati europei sull’identificazione dei cittadini, le ID cards, gli impatti delle leggi sulla privacy e tutti gli aspetti di computer forensics legate ai crimini informatici basati sul furto di identità.&lt;/p&gt;  &lt;p&gt;Tre sono gli aspetti di questo whitepaper che mi hanno aiutato (più di tutto) a formalizzare meglio alcuni aspetti del lavoro che sto facendo in questo periodo sulla claims-based security: la suddivisione architetturale fatta tramite gli &lt;strong&gt;abstract services, &lt;/strong&gt;la &lt;strong&gt;tassonomia dei claims &lt;/strong&gt;e il concetto di &lt;strong&gt;Data Minimization&lt;/strong&gt;. Con la definizione degli abstract services si riesce ad avere una visione olistica dell’architettura di un Identity Metasystem senza entrare nei tecnicismi che inevitabilmente vengono introdotti quando si lavora con un determinato vendor/prodotto. Nel documento questi servizi vengono presentati come astratti perchè &lt;strong&gt;rappresentano le funzioni di base dell’architettura &lt;/strong&gt;e successivamente i vendor potranno realizzare i propri sistemi reali calando questa visione astratta nei propri modelli.&lt;/p&gt;  &lt;p&gt;Stiamo quindi parlando di abstract services come il &lt;strong&gt;Primordial Claim Abstract Service&lt;/strong&gt;, &lt;strong&gt;Registration Abstract Service&lt;/strong&gt;, &lt;strong&gt;Claims Provider Abstract Service&lt;/strong&gt;, &lt;strong&gt;Claims Selector Abstract Service&lt;/strong&gt;, &lt;strong&gt;Claims Approver Abstract Service&lt;/strong&gt;, &lt;strong&gt;Resource Matching Abstract Service&lt;/strong&gt;.&lt;/p&gt;  &lt;p&gt;La &lt;strong&gt;tassonomia dei claims &lt;/strong&gt;invece diventa utilissima quando si lavora a livello architetturale alla definizione dei claims gestibili in azienda e relativa suddivisione per applicazione:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;table border="0" cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td width="142"&gt;         &lt;p&gt;Type of Claim&lt;/p&gt;       &lt;/td&gt;        &lt;td width="218"&gt;         &lt;p&gt;Comment&lt;/p&gt;       &lt;/td&gt;        &lt;td width="274"&gt;         &lt;p&gt;Examples&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="142"&gt;         &lt;p&gt;Static&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="218"&gt;         &lt;p&gt;What we have traditionally called “properties” and “attributes” of the subject – static within &lt;i&gt;some window&lt;/i&gt; of time&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="274"&gt;         &lt;p&gt;National identifiers and employee numbers &lt;/p&gt;          &lt;p&gt;Date of Birth&lt;/p&gt;          &lt;p&gt;Name&lt;/p&gt;          &lt;p&gt;Address&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="142"&gt;         &lt;p&gt;Relationship&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="218"&gt;         &lt;p&gt;Subject is in some relationship with another subject (and open-ended model with multiple sources and viewpoints)&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="274"&gt;         &lt;p&gt;Member of arbitrary group&lt;/p&gt;          &lt;p&gt;Member of assigned role&lt;/p&gt;          &lt;p&gt;Relationship to another subject (e.g. Personal Assistant or Parent)&lt;/p&gt;          &lt;p&gt;Mandate (e.g. trustee)&lt;/p&gt;          &lt;p&gt;Acting-as / On-behalf-of relationships&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="142"&gt;         &lt;p&gt;Derived&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="218"&gt;         &lt;p&gt;Claims that convey minimum necessary information by deriving it from facts but not releasing the facts&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="274"&gt;         &lt;p&gt;Over 21 or Under 16&lt;/p&gt;          &lt;p&gt;University Student&lt;/p&gt;          &lt;p&gt;Person in Drug Trial&lt;/p&gt;          &lt;p&gt;Unmarried Female in 20’s&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="142"&gt;         &lt;p&gt;Capability&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="218"&gt;         &lt;p&gt;Authentication and authorization both based on claims transformation. Capabilities are determined by relying party within a defined scope&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="274"&gt;         &lt;p&gt;Can-read-calendar&lt;/p&gt;          &lt;p&gt;Can-access-write-operation&lt;/p&gt;          &lt;p&gt;Denied-update-in-given-scope&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="142"&gt;         &lt;p&gt;Contextual Claims&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="218"&gt;         &lt;p&gt;Factors useful in evaluating the security presentation.&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="274"&gt;         &lt;p&gt;Authentication technology, location, time&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Infine gli aspetti di &lt;strong&gt;Data Minimization&lt;/strong&gt; ci permettono di focalizzare quali sono gli ambiti in cui è necessario garantire il minor numero di informazioni personali degi utenti come le collezioni, aggregazioni, storage, retention,replication, distribution,linkage…&lt;/p&gt;  &lt;p&gt;Un documento quindi che &lt;strong&gt;NON si piò NON leggere &lt;/strong&gt;se si lavora nel campo dell’ Identity Management !!!&lt;/p&gt;  &lt;p&gt;--Mario&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9714541" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/mariofontana/archive/tags/Sicurezza/default.aspx">Sicurezza</category><category domain="http://blogs.msdn.com/mariofontana/archive/tags/Architetture+applicative/default.aspx">Architetture applicative</category><category domain="http://blogs.msdn.com/mariofontana/archive/tags/IDentity+Metasystem/default.aspx">IDentity Metasystem</category><category domain="http://blogs.msdn.com/mariofontana/archive/tags/ADFS/default.aspx">ADFS</category><category domain="http://blogs.msdn.com/mariofontana/archive/tags/Geneva/default.aspx">Geneva</category><category domain="http://blogs.msdn.com/mariofontana/archive/tags/Interoperabilit_E000_/default.aspx">Interoperabilità</category><category domain="http://blogs.msdn.com/mariofontana/archive/tags/Claims-Based+Security/default.aspx">Claims-Based Security</category></item><item><title>Microsoft, Apache… un ossimoro??</title><link>http://blogs.msdn.com/mariofontana/archive/2009/06/07/microsoft-apache-un-ossimoro.aspx</link><pubDate>Sun, 07 Jun 2009 11:06:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9702640</guid><dc:creator>mfontana</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/mariofontana/comments/9702640.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mariofontana/commentrss.aspx?PostID=9702640</wfw:commentRss><description>&lt;p&gt;Innanzitutto prima di generare uno sciopone a qualcuno vi prego di notare la punteggiatura nel titolo di questo post !!! Microsoft &lt;strong&gt;VIRGOLA &lt;/strong&gt;Apache e non &lt;strong&gt;Microsoft Apache &lt;/strong&gt;:-) Nessuna paura quindi , non abbiamo acquistato Apache !!!! Però c’è da dire che questa notizia, come architetto, mi ha reso proprio contento. Alzi la mano (tanto vi vedo) chi di voi si è trovato almeno una volta nella situazione di far parlare del codice .NET con quello JAVA e/o PHP o viceversa? E tenga su la mano chi ha incontrato qualche “piccolissima” difficoltà nella configurazione e settaggi vari nei rispettivi ambienti !!!! Nessuno ?? ok allora questo post non fa per voi :-)&lt;/p&gt;  &lt;p&gt;Diciamo che c’è stato un evento epocale…&lt;strong&gt; Microsoft partecipa alla keynote della conferenza JavaOne!! &lt;/strong&gt;Infatti durante la conferenza JavaOne &lt;strong&gt;Steven Martin&lt;/strong&gt; - Senior Director, Developer Platform Product Management – e &lt;strong&gt;Aisling MacRunnels &lt;/strong&gt;- Sun Vice President- hanno annunciato durante la keynote che &lt;strong&gt;Sun &lt;/strong&gt;parteciperà attivamente al progetto open-source &lt;strong&gt;Stonehenge &lt;/strong&gt;inizialmente creato da &lt;strong&gt;Microsoft&lt;/strong&gt;, &lt;strong&gt;WS02&lt;/strong&gt;, &lt;strong&gt;University of Moratuwa&lt;/strong&gt;, &lt;strong&gt;Progress Software&lt;/strong&gt;, &lt;strong&gt;Red Hat &lt;/strong&gt;e &lt;strong&gt;Eviware&lt;/strong&gt;. In particolare Sun si occuperà della realizzazione Java/Metro della soluzione &lt;a href="http://www.interoperabilitybridges.com/Project.aspx/Stonehenge_-_StockTrader_community_project" target="_blank"&gt;StockTrader&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Microsoft (anche se molti non lo sanno) ha partecipato e sta partecipando a &lt;a href="http://port25.technet.com/archive/2008/11/07/open-source-interoperability-projects-at-microsoft.aspx" target="_blank"&gt;molti progetti open source&lt;/a&gt; ma questa è la prima volta che Microsoft partecipa come &lt;strong&gt;code contributor &lt;/strong&gt;in un progetto Apache!!&lt;/p&gt;  &lt;p&gt;Lo scopo di questo progetto è nobile : realizzare &lt;strong&gt;&lt;u&gt;in concreto &lt;/u&gt;&lt;/strong&gt;degli scenari di interoperabilità e di best practices tra applicazioni e web services sviluppati su stack tecnologici diveri. &lt;a href="http://blogs.msdn.com/mariofontana/archive/2009/05/20/microsoft-e-saml-2-0-protocol.aspx" target="_blank"&gt;Come dissi in questo mio post&lt;/a&gt;&amp;#160; &lt;em&gt;“non basta avere delle specifiche standardizzate per realizzare veramente degli scenari di interoperabilità” (sintetizzato)&lt;/em&gt; !!! I motivi sono molteplici : non tutti i vendor implementano le medesime specifiche anche se standardizzate, non sempre è chiaro come configurare i vari ambienti e prodotti, spesso ci sono delle piccole differenze in termini di serializzazione, encoding che se non gestite possono rendere difficile la realizzazione del progetto… &lt;/p&gt;  &lt;p&gt;Per questo motivo il progetto Stonehenge &lt;strong&gt;&lt;u&gt;realizza &lt;/u&gt;&lt;/strong&gt;delle applicazioni di esempio basate su stack &lt;strong&gt;Java&lt;/strong&gt;, &lt;strong&gt;.NET, &lt;/strong&gt;&amp;#160;&lt;strong&gt;PHP ma anche Python e Ruby&amp;#160; &lt;/strong&gt;in grado di interoperare utilizzando un set comune di specifiche standard definte dal &lt;strong&gt;W3C &lt;/strong&gt;e &lt;strong&gt;OASIS&lt;/strong&gt;. Stiamo parlando in prevalenza di comunicazioni basate sugli standard WS-*. I vari sorgenti li potete trovare &lt;a href="https://svn.apache.org/repos/asf/incubator/stonehenge/contrib/stocktrader/" target="_blank"&gt;nel repository di stocktrader&lt;/a&gt; : &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/mariofontana/WindowsLiveWriter/e9279e09cf76_8B2A/image_2.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/mariofontana/WindowsLiveWriter/e9279e09cf76_8B2A/image_thumb.png" width="361" height="287" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;--Mario&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9702640" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/mariofontana/archive/tags/Sicurezza/default.aspx">Sicurezza</category><category domain="http://blogs.msdn.com/mariofontana/archive/tags/WS-_2A00_/default.aspx">WS-*</category><category domain="http://blogs.msdn.com/mariofontana/archive/tags/Architetture+applicative/default.aspx">Architetture applicative</category><category domain="http://blogs.msdn.com/mariofontana/archive/tags/XML/default.aspx">XML</category><category domain="http://blogs.msdn.com/mariofontana/archive/tags/Specifiche+di+Base/default.aspx">Specifiche di Base</category><category domain="http://blogs.msdn.com/mariofontana/archive/tags/SOA/default.aspx">SOA</category><category domain="http://blogs.msdn.com/mariofontana/archive/tags/Interoperabilit_E000_/default.aspx">Interoperabilità</category></item><item><title>Come rendere Sharepoint 2007 Claims-Aware e integrarlo in Geneva Server BETA 2</title><link>http://blogs.msdn.com/mariofontana/archive/2009/05/27/come-rendere-sharepoint-2007-claims-aware-e-integrarlo-in-geneva-server-beta-2.aspx</link><pubDate>Wed, 27 May 2009 22:40:51 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9644859</guid><dc:creator>mfontana</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/mariofontana/comments/9644859.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mariofontana/commentrss.aspx?PostID=9644859</wfw:commentRss><description>&lt;p&gt;Grande enfasi sto riscontrando nelle richieste di chiarimenti sulla configurazione di &lt;strong&gt;Sharepoint 2007 in &lt;/strong&gt;“versione”&lt;strong&gt; &lt;/strong&gt;Claims-aware ovvero come poterlo integrare nelle nuove architetture basate su &lt;strong&gt;Geneva Server&lt;/strong&gt;. &lt;a href="http://blogs.msdn.com/mariofontana/archive/2009/05/15/geneva-server-claims-based-security-con-office-sharepoint-server-2007.aspx"&gt;In questo mio precedente post&lt;/a&gt;&amp;#160;&lt;strong&gt; &lt;/strong&gt;avevo dato il link al laboratorio che abbiamo messo on-line ma i requirements sono un forte deterrente : &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Il laboratorio è composto da 4 macchine virtuali &lt;/li&gt;    &lt;li&gt;Il download è poco più di&amp;#160; &lt;strong&gt;14Gb&lt;/strong&gt; &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;L’ambiente &lt;/strong&gt;gira su &lt;strong&gt;Hyper-V. &lt;/strong&gt;&lt;/li&gt;    &lt;li&gt;Sono necessari un minimo di &lt;strong&gt;8 GB di RAM &lt;/strong&gt;sulla macchina Host per far girare l’ambiente. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;risultato … molte persone non possono provare il laboratorio ma (giustamente) vogliono capire come configurare Sharepoint per parlare la “nuova lingua franca dei claims” :-). A questo proposito nel post mi concentrerò su alcuni aspetti importanti di configurazione di Sharepoint che non sono descritti per intero nel documento di configurazione dello scenario (che è comunque disponibile insieme alle macchine virtuali ma con un download separato) e darò il link per scaricare i files mancanti per una configurazione “fai-da-te” :-) !!&lt;/p&gt;  &lt;p&gt;Lo scenario di riferimento è il seguente :&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/mariofontana/WindowsLiveWriter/ComeconfigurareSharepoint2007peraccettar_BB72/image_2.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/mariofontana/WindowsLiveWriter/ComeconfigurareSharepoint2007peraccettar_BB72/image_thumb.png" width="317" height="448" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Figura 1 : Struttura dello scenario implementato.&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Quindi di fatto stiamo lavorando sulla configurazione della macchina &lt;strong&gt;CONTOSOSRV02&lt;/strong&gt;.&lt;/p&gt;  &lt;p&gt;Tornando a noi, i passi &lt;u&gt;minimi &lt;/u&gt;per configurare Sharepoint in modalità claims-aware sono quelli descritti nei primi 4 step del documento, ovvero :&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Configurare Sharepoint affinchè accetti i token rilasciati da Geneva Server. &lt;/li&gt;    &lt;li&gt;Aggiungere il gruppo Domain Admins tra gli amministratori di Sharepoint. &lt;/li&gt;    &lt;li&gt;Configurare Geneva Server a rilasciare i token per Sharepoint &lt;/li&gt;    &lt;li&gt;Configurare i Ruoli in Sharepoint. &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Sebbene i punti 2-3-4 sono ben chiari, il primo viene trattato semplicemente come l’esecuzione dello script &lt;strong&gt;ConfigureSharepoint.bat&lt;/strong&gt; che altro non fa che lanciare lo script &lt;strong&gt;SetupSharePointIDFX.vbs &lt;/strong&gt;con i seguenti parametri:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;-appconfig &lt;/strong&gt;&lt;em&gt;&amp;lt;web.config del portale Sharepoint&amp;gt;.&lt;/em&gt; &lt;/li&gt;    &lt;li&gt;-&lt;strong&gt;adminconfig&lt;/strong&gt; &lt;em&gt;&amp;lt;web.config del portale di amministrazione di Sharepoint&amp;gt;.&lt;/em&gt; &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;-applicationuri &lt;/strong&gt;&lt;em&gt;&amp;lt;URL esatto dell’applicazione sharepoint&amp;gt;&lt;/em&gt;. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;-stsmetadataurl&lt;/strong&gt; &amp;lt;Il metadata URL del STS (Security Token Service) di Geneva per ottenere i federation metadata . Il formato di questo URL è il seguente : &lt;a href="https://server-name/FederationMetadata/spec-version/FederationMetadata.xml"&gt;https://&lt;i&gt;server-name&lt;/i&gt;/&lt;b&gt;FederationMetadata&lt;/b&gt;/&lt;i&gt;spec-version&lt;/i&gt;/&lt;strong&gt;FederationMetadata.xml&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;&amp;#160;&lt;/strong&gt;ed è definita direttamente al paragrafo 3.2.2 della specifica &lt;strong&gt;WS-Federation&amp;gt;.&lt;/strong&gt; &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;-fedutilmode&lt;/strong&gt; &amp;lt;modalità di esecuzione dell’ utility FedUtil.exe&amp;gt;. &lt;/li&gt;    &lt;li&gt;-&lt;strong&gt;urlZone &amp;lt;&lt;/strong&gt;la &lt;em&gt;zone &lt;/em&gt;di Sharepoint da configurare&amp;gt;. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Nel caso specifico dello scenario avremo i seguenti parametri:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;-appconfig C:\\inetpub\wwwroot\wss\VirtualDirectories\docs.contoso.com443\web.config. &lt;/li&gt;    &lt;li&gt;-adminconfig C:\\inetpub\wwwroot\wss\VirtualDirectories\3526\web.config. &lt;/li&gt;    &lt;li&gt;-stsmetadataurl &lt;a href="https://sts1.contoso.com/federationmetadata/2007-06/federationmetadata.xml"&gt;https://sts1.contoso.com/federationmetadata/2007-06/federationmetadata.xml&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;-fedutilmode &amp;quot;silent&amp;quot;. &lt;/li&gt;    &lt;li&gt;-urlZone &amp;quot;Extranet&amp;quot;. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Ma cosa fa esattamente questo script? &lt;/p&gt;  &lt;p&gt;Lo script inizia con l’invocazione dell’utility &lt;strong&gt;FEDUTIL.EXE &lt;/strong&gt;(fornita con Geneva Framework) per configurare il &lt;em&gt;Security Token Service &lt;/em&gt;(Geneva Server) come un trusted issuer per Sharepoint. Successivamente lo script modifica le configurazioni dei &lt;em&gt;web.config &lt;/em&gt;passati come parametro con lo scopo principale di aggiungere i nuovi provider per Sharepoint forniti all’interno di Geneva Framework : nel caso specifico avremo il &lt;strong&gt;MembershiProvider&lt;/strong&gt; (Microsoft.IdentityModel.SharePoint.SharePointClaimsMembershipProvider), il &lt;strong&gt;Role Provider &lt;/strong&gt;(Microsoft.IdentityModel.SharePoint.SharePointClaimsRoleProvider) e infine un &lt;em&gt;HttpModule &lt;/em&gt;per gestire correttamente la &lt;strong&gt;FBA&lt;/strong&gt; (Forms Based Authentication) di Sharepoint (Microsoft.IdentityModel.SharePoint.OfficeDiscoveryFormsAuthenticationModule). Infine lo script invoca l’utility &lt;strong&gt;STSADM.EXE &lt;/strong&gt;(fornita con sharepoint) per configurare l’ URL mapping e il metodo di autenticazione impostato a&amp;#160; ‘none’ e &lt;em&gt;ASP.NET imporsonate = false&lt;/em&gt;.&lt;/p&gt;  &lt;p&gt;Una volta terminato lo script con esito positivo (lo si vede dall’output) crea un file contenente i federation metadata per Sharepoint che successivamente dovrà essere dato in pasto a Geneva Server per completare la profilazione del STS o in gergo Geneva l’ &lt;strong&gt;Identity Provider &lt;/strong&gt;(&lt;strong&gt;IP&lt;/strong&gt;)!! That’s all !! A questo punto potete seguire passo passo il documento e continuare la configurazione a mano.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=57602615-e1ee-4775-8b79-367b7007e178"&gt;Qui&lt;/a&gt; trovi il link del documento di configurazione dello scenario.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://cid-058b7d5369e7f704.skydrive.live.com/self.aspx/SharepointConfiguration/ConfigureSharepoint.zip?lc=1040" target="_blank"&gt;Qui&lt;/a&gt; puoi scaricare gli script di configurazione.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Buon lavoro…&lt;/p&gt;  &lt;p&gt;--Mario&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9644859" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/mariofontana/archive/tags/Sicurezza/default.aspx">Sicurezza</category><category domain="http://blogs.msdn.com/mariofontana/archive/tags/Office+System+2007/default.aspx">Office System 2007</category><category domain="http://blogs.msdn.com/mariofontana/archive/tags/ADFS/default.aspx">ADFS</category><category domain="http://blogs.msdn.com/mariofontana/archive/tags/Geneva/default.aspx">Geneva</category></item><item><title>Integrare il processo di Security Development LifeCycle (SDL) con Visual Studio Team System</title><link>http://blogs.msdn.com/mariofontana/archive/2009/05/25/integrare-il-processo-di-security-development-lifecycle-sdl-con-visual-studio-team-system.aspx</link><pubDate>Mon, 25 May 2009 14:33:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9640394</guid><dc:creator>mfontana</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/mariofontana/comments/9640394.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mariofontana/commentrss.aspx?PostID=9640394</wfw:commentRss><description>&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/mariofontana/WindowsLiveWriter/SoftwareEngineeringNuovoTemplatediVisual_BACE/image_2.png" mce_href="http://blogs.msdn.com/blogfiles/mariofontana/WindowsLiveWriter/SoftwareEngineeringNuovoTemplatediVisual_BACE/image_2.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; MARGIN-LEFT: 0px; BORDER-TOP: 0px; MARGIN-RIGHT: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image align=left src="http://blogs.msdn.com/blogfiles/mariofontana/WindowsLiveWriter/SoftwareEngineeringNuovoTemplatediVisual_BACE/image_thumb.png" width=72 height=76 mce_src="http://blogs.msdn.com/blogfiles/mariofontana/WindowsLiveWriter/SoftwareEngineeringNuovoTemplatediVisual_BACE/image_thumb.png"&gt;&lt;/A&gt; Tra il dire e il&amp;nbsp;fare c’è di mezzo… il mare?? Beh, quasi sempre si, ma a volte anche &lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=79866b28-b03b-4bbb-91d2-0ed3f966dede&amp;amp;displaylang=en" target=_blank mce_href="http://www.microsoft.com/downloads/details.aspx?FamilyID=79866b28-b03b-4bbb-91d2-0ed3f966dede&amp;amp;displaylang=en"&gt;un template può bastare&lt;/A&gt; :-)&lt;/P&gt;
&lt;P&gt;Quindi tra il dire – ovvero tutte le best practices e i processi descritti nel SDL- e il fare – VIsual Studio 2008 e Team System – c’è di mezzo il nuovo template che permette di integrare le policy i processi e i tools aggiornati al &lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=967389d8-6ed0-4751-a8d2-9c2fad39adce&amp;amp;displaylang=en" target=_blank mce_href="http://www.microsoft.com/downloads/details.aspx?FamilyID=967389d8-6ed0-4751-a8d2-9c2fad39adce&amp;amp;displaylang=en"&gt;Security Development LifeCycle v4.1&lt;/A&gt; con l’operatività del programmatore e dei software architects.&lt;/P&gt;
&lt;P&gt;Di seguito le aree di estensione del template:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Installs SDL requirements as work items &lt;/LI&gt;
&lt;LI&gt;Includes SDL-based check-in policies &lt;/LI&gt;
&lt;LI&gt;Customizes security bugs and queries &lt;/LI&gt;
&lt;LI&gt;Includes extensive SDL how-to and guidance documentation&lt;/LI&gt;
&lt;LI&gt;Generates auditable Final Security Review report &lt;/LI&gt;
&lt;LI&gt;Accommodates third-party tool integration, e.g. the&lt;A href="http://msdn.microsoft.com/security/dd206731.aspx" mce_href="http://msdn.microsoft.com/security/dd206731.aspx"&gt; SDL Threat Modeling Tool&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;Includes project plans and security risk assessment templates&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;IMG title="" alt="" align=left src="http://i.msdn.microsoft.com/dd670265.SDLTemplate-FSRPage2(en-us,MSDN.10).jpg" width=502 height=324 mce_src="http://i.msdn.microsoft.com/dd670265.SDLTemplate-FSRPage2(en-us,MSDN.10).jpg"&gt;&lt;/P&gt;
&lt;P&gt;Sempre &lt;A href="http://msdn.microsoft.com/it-it/security/dd670265(en-us).aspx" target=_blank mce_href="http://msdn.microsoft.com/it-it/security/dd670265(en-us).aspx"&gt;qui&lt;/A&gt; trovate anche dei video in stile how-to per installare ed usare il template !!&lt;/P&gt;
&lt;P&gt;--Mario&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9640394" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/mariofontana/archive/tags/Sicurezza/default.aspx">Sicurezza</category><category domain="http://blogs.msdn.com/mariofontana/archive/tags/VS2008/default.aspx">VS2008</category></item><item><title>Gli scenari nell’ Identity Developer Training Kit</title><link>http://blogs.msdn.com/mariofontana/archive/2009/05/18/gli-scenari-nell-identity-developer-training-kit.aspx</link><pubDate>Mon, 18 May 2009 15:32:17 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9625171</guid><dc:creator>mfontana</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/mariofontana/comments/9625171.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mariofontana/commentrss.aspx?PostID=9625171</wfw:commentRss><description>&lt;p&gt;Il buon &lt;strong&gt;&lt;a href="http://blogs.msdn.com/vbertocci/" target="_blank"&gt;Vittorio&lt;/a&gt;,&lt;/strong&gt; tra un impegno e l’altro, &lt;a href="http://blogs.msdn.com/vbertocci/archive/2009/05/15/more-details-about-the-identity-developer-training-kit.aspx" target="_blank"&gt;ha fatto una utilissima lista esaustiva&lt;/a&gt; degli scenari presenti nei lab all’interno dell’ &lt;a title="kit" href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=c3e315fa-94e2-4028-99cb-904369f177c0"&gt;Identity Developer Training Kit&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;Un utile riferimento per capire se il Kit comprende lo scenario interessato!&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;--Mario&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9625171" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/mariofontana/archive/tags/Sicurezza/default.aspx">Sicurezza</category><category domain="http://blogs.msdn.com/mariofontana/archive/tags/Architetture+applicative/default.aspx">Architetture applicative</category><category domain="http://blogs.msdn.com/mariofontana/archive/tags/IDentity+Metasystem/default.aspx">IDentity Metasystem</category><category domain="http://blogs.msdn.com/mariofontana/archive/tags/Geneva/default.aspx">Geneva</category></item><item><title>Geneva Server : Single Sign On con i Microsoft Online Services</title><link>http://blogs.msdn.com/mariofontana/archive/2009/05/18/geneva-server-single-sign-on-con-i-microsoft-online-services.aspx</link><pubDate>Mon, 18 May 2009 08:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9618118</guid><dc:creator>mfontana</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/mariofontana/comments/9618118.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mariofontana/commentrss.aspx?PostID=9618118</wfw:commentRss><description>&lt;p&gt;In alcuni casi può essere utile creare una &lt;strong&gt;trust relationship &lt;/strong&gt;tra la propria azienda e il &lt;a href="http://msdn.microsoft.com/en-us/library/cc287610.aspx" target="_blank"&gt;Microsoft Federation Gateway&lt;/a&gt; (un Security Token Service/Identity Service in the cloud) per creare ai propri utenti interni una sorta di&lt;strong&gt; Signle Sign On&lt;/strong&gt; verso servizi e risorse Microsoft in the cloud (es: &lt;em&gt;Windows Live Spaces&lt;/em&gt;) oppure verso proprie applicazioni su &lt;strong&gt;Windows Azure&lt;/strong&gt;. &lt;/p&gt;  &lt;p&gt;In pratica gli utenti interni, una volta loggati al proprio dominio potranno accedere ad applicazioni di terze parti sviluppate su &lt;em&gt;Windows Azure&lt;/em&gt; o ai servizi offerti da Microsoft (posta,Skydrive,ecc..) senza dover specificare il proprio &lt;strong&gt;Live ID &lt;/strong&gt;(@hotmail o @live)&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/mariofontana/WindowsLiveWriter/b1783f4d10ba_9266/image_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/mariofontana/WindowsLiveWriter/b1783f4d10ba_9266/image_thumb.png" width="460" height="253" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Ecco il &lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=57602615-e1ee-4775-8b79-367b7007e178" target="_blank"&gt;Whitepaper&lt;/a&gt; che descrive step-by-step la procedura di configurazione !!&lt;/p&gt;  &lt;p&gt;Maggiori info sempre dal &lt;a href="http://blogs.msdn.com/card/archive/2009/05/15/step-by-step-guides-virtual-machines-and-geneva-whitepapers.aspx" target="_blank"&gt;Geneva Team&lt;/a&gt;!!!&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;--Mario &lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9618118" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/mariofontana/archive/tags/Sicurezza/default.aspx">Sicurezza</category><category domain="http://blogs.msdn.com/mariofontana/archive/tags/Architetture+applicative/default.aspx">Architetture applicative</category><category domain="http://blogs.msdn.com/mariofontana/archive/tags/Windows+Azure/default.aspx">Windows Azure</category><category domain="http://blogs.msdn.com/mariofontana/archive/tags/Geneva/default.aspx">Geneva</category></item><item><title>Geneva Server : Claims-Based Security con Office SharePoint Server 2007</title><link>http://blogs.msdn.com/mariofontana/archive/2009/05/15/geneva-server-claims-based-security-con-office-sharepoint-server-2007.aspx</link><pubDate>Fri, 15 May 2009 11:18:18 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9618073</guid><dc:creator>mfontana</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/mariofontana/comments/9618073.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mariofontana/commentrss.aspx?PostID=9618073</wfw:commentRss><description>&lt;p&gt;Oltre ai &lt;a href="http://blogs.msdn.com/italy/archive/2009/05/15/teched-na-disponibili-i-whitepaper-per-interoperabilit-con-novell-access-manager-e-sun-opensso-enterprise.aspx" target="_blank"&gt;whitepapers di interoperabilità&lt;/a&gt; tra &lt;strong&gt;Geneva Server&lt;/strong&gt; e &lt;strong&gt;Novell Access Manager &lt;/strong&gt;e &lt;strong&gt;Sun OpenSSO &lt;/strong&gt;&lt;a href="http://blogs.msdn.com/card/archive/2009/05/15/step-by-step-guides-virtual-machines-and-geneva-whitepapers.aspx" target="_blank"&gt;il team di Geneva&lt;/a&gt; ha pubblicato il &lt;strong&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=57602615-e1ee-4775-8b79-367b7007e178" target="_blank"&gt;laboratorio di Interoperabilità tra Geneva Server e Sharepoint 2007&lt;/a&gt;&lt;/strong&gt;!!&lt;/p&gt;  &lt;p&gt;Lo scenario descritto è un tipico caso di utilizzo di Sharepoint come portale di collaboration aziendale che vuole essere condiviso (tutto o spesso in parte) con dei business partners esterni.&lt;/p&gt;  &lt;p&gt;Nel whitepaper &lt;strong&gt;SharePoint 2007&lt;/strong&gt; in CONTOSO (questo brand secondo me vale oro :-)) viene configurato per ottenere le informazioni dell’utente (e rispettivi ruoli) per poter operare i criteri di autorizzazione dal proprio &lt;strong&gt;Geneva Server &lt;/strong&gt;il quale è federato con il Geneva Server della società partner (in questo caso FABRIKAM Suppliers). In questo modo alcuni utenti di FABRIKAM potranno accedere a delle porzioni del portale di Sharepoint in CONTOSO.&lt;/p&gt;  &lt;p&gt;Gli aspetti interessanti di questa demo che tra l’altro svelano alcune features introdotte dalla BETA 2 di Geneva sono ovviamente l’integrazione con Sharepoint ma anche l’uso di un attribute store diverso da AD (in questo caso un SQL Server) e l’integrazione con il Digital Rights Management (AD RMS) nell’ambiente federato.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/mariofontana/WindowsLiveWriter/FederatedDocumentCollaborationconOfficeS_8950/image_2.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/mariofontana/WindowsLiveWriter/FederatedDocumentCollaborationconOfficeS_8950/image_thumb.png" width="412" height="573" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;--Mario&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9618073" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/mariofontana/archive/tags/Sicurezza/default.aspx">Sicurezza</category><category domain="http://blogs.msdn.com/mariofontana/archive/tags/Architetture+applicative/default.aspx">Architetture applicative</category><category domain="http://blogs.msdn.com/mariofontana/archive/tags/Geneva/default.aspx">Geneva</category></item></channel></rss>