Protezione

Esplorazione di Windows Firewall

Steve Riley

 

Panoramica:

  • Protezione in entrata e in uscita
  • Windows Filtering Platform
  • Interfaccia di protezione avanzata
  • Profili di rete

Agli albori dell'era informatica, nessuno aveva mai pensato di installare firewall su singoli computer. Chi ne aveva bisogno? Pochissimi avevano sentito parlare di Internet, TCP/IP era ancora lontano e i protocolli LAN non venivano inoltrati al di là del proprio edificio o campus. I dati di un certo rilievo venivano conservati nel

mainframe o in file server. Le informazioni che gli utenti conservavano nei propri computer desktop erano raramente di importanza critica, pertanto si riusciva a mantenere un livello di protezione adeguato. Se era disponibile una connessione Internet, probabilmente erano disponibili alcuni convertitori di protocolli e un router di filtraggio dei pacchetti (ossia il "firewall"), configurati con molta probabilità con troppe regole ed eccezioni.

Gli ambienti informatici moderni sono molto diversi da quelli del passato. Oggi tutto è connesso a Internet (si parla di TCP/IP) e i dispositivi portatili rappresentano la norma. È molto probabile che il tuo datore di lavoro ti fornisca un computer portatile, non perché si preoccupi di te ma perché spera così di ottenere il massimo, dandoti la possibilità di lavorare ovunque sia disponibile una connessione Wi-Fi. I computer portatili hanno un costo maggiore rispetto ai desktop, ma tale investimento viene sicuramente ripagato dalla produttività. È proprio la mobilità che li rende così allettanti per te e per i tuoi avversari.

Prova a pensare: del tempo totale in cui il tuo computer portatile è acceso e connesso a una rete, in che percentuale è connesso alla rete aziendale? Se sei come me, forse il 20 percento massimo. Ciò significa che il computer portatile è al sicuro solo per il 20 percento del tempo quando si trova nei confini della rete aziendale Microsoft, protetto da attacchi esterni dalle difese perimetrali della rete. Ma cosa accade nell'80 percento del tempo durante il quale il mio computer portatile è, per scopi pratici, connesso direttamente a Internet? Molto spesso sono connesso alla rete più pericolosa del mondo: la LAN dell'hotel durante una conferenza sulla protezione dei computer. Nelle ore in cui sono connesso alla rete aziendale, quali sono i rischi rappresentati da altri computer all'interno dello stesso ambiente?

I controlli di protezione si evolvono, a volte troppo a rilento, per stare al passo con i rischi. I virus erano un problema che riguardava i client perché gli utenti utilizzavano dischetti per le loro transazioni commerciali, pertanto i primi programmi antivirus erano destinati ai client. In seguito, man mano che i messaggi di posta elettronica sono diventati di uso comune e il malware si è evoluto in worm (che agiscono direttamente sui messaggi di posta elettronica), i programmi anti-malware si sono evoluti e sono stati applicati ai gateway di posta elettronica. Con la comparsa del Web, il malware si è trasformato in trojan horse e i software anti-malware hanno seguito i server proxy di accesso a Internet. Si tratta di un percorso evolutivo noto su cui nessuno si è mai soffermato.

Applichiamo ora la stessa logica ai firewall. In passato i firewall rappresentavano una protezione sufficiente contro i pericoli della rete. Attualmente non è più così, in quanto i rischi sono diversi, più sofisticati e più diffusi. Senza considerare che sono cambiati notevolmente anche i dispositivi e gli stili di lavoro. Molti computer contengono informazioni riservate memorizzate localmente e vengono utilizzati spesso al di fuori della rete aziendale. Pertanto, è necessario che il firewall si evolva in un meccanismo di protezione client singolo. Non fare errori: i firewall client non sono più facoltativi. Per proteggere i computer dalla rete corpnet e da Internet, sono necessari i firewall client.

Firewall client e misure apparenti di protezione

Molte persone non sapevano che la versione iniziale di Windows® XP conteneva un firewall client. La cosa non sorprende molto poiché il firewall era disattivato per impostazione predefinita ed erano necessari troppi clic del mouse per accedervi. Il firewall appariva furtivamente senza alcuna indicazione reale relativa al suo scopo o senza una guida su come utilizzarlo. Ma funzionava. Se avessi attivato quel firewall, ti avrebbe protetto da Nimda, Slammer, Blaster, Sasser, Zotob e da qualsiasi altro tentativo di traffico indesiderato alla porta di rete. Vista l'importanza della protezione client, in Windows XP Service Pack 2 (SP2) il firewall è attivato per impostazione predefinita, esistono due profili (Internet e Corpnet) ed è consentita l'abilitazione di Criteri di gruppo.

Sfortunatamente, due ostacoli hanno rallentato l'adozione del firewall di Windows XP SP2: problemi relativi all'applicazione e misure apparenti di protezione. Molte persone erano preoccupate che il firewall avrebbe potuto impedire il corretto funzionamento delle applicazioni, sebbene ciò accadesse raramente visto come era concepito il firewall. Il firewall consentiva tutto il traffico in uscita dal computer, ma bloccava tutto il traffico in entrata che non era in risposta a una precedente richiesta in uscita. L'unica occasione in cui questo tipo di concezione avrebbe bloccato un'applicazione su un client sarebbe stato nel caso in cui l'applicazione avesse creato un socket di ascolto e prevedesse di ricevere richieste in entrata. Il firewall di Windows XP consentiva la configurazione semplice di eccezioni per programmi o porte (ma, sfortunatamente, non tramite Criteri di gruppo).

Il maggiore deterrente era rappresentato da misure apparenti di protezione eseguite dai produttori di altri firewall client. Alcuni credevano che il modo in cui il firewall di Windows XP era concepito, dal momento che consentiva tutto il traffico in uscita, non fosse sufficiente per un firewall client. L'obiezione si basava sul fatto che un buon firewall client dovrebbe bloccare tutto il traffico, in entrata e in uscita, a meno che l'utente non disponga dell'autorizzazione specifica.

Soffermiamoci per un momento su questo punto. Emergono due scenari.

  • Se si accede come amministratore locale e si viene infettati da malware, il malware disattiverà semplicemente il firewall. Tu sei 0wn3d.
  • Se non si accede come amministratore locale e si viene infettati da malware, il malware provocherà l'apertura di una finestra di dialogo da parte di un firewall di terze parti contenente una lingua straniera, porte e indirizzi IP e una domanda molto seria: "Si desidera consentire questa operazione?" L'unica risposta, naturalmente, è "Sì, stupido computer, smetti di tormentarmi!". E una volta disattivata la finestra di dialogo, viene disattivata anche la protezione. O, più comunemente, il malware controllerà semplicemente una sessione esistente di un programma già autorizzato e la finestra di dialogo non verrà neanche visualizzata. Ancora una volta sei 0wn3d.

C'è un assioma importante di protezione di cui è necessario essere a conoscenza: la protezione appartiene all'elemento che si desidera proteggere, non alla cosa da cui si sta tentando di proteggersi. L'approccio corretto consiste nell'eseguire l'agile ma efficace Windows Firewall su ogni computer all'interno della propria organizzazione, per proteggerli da qualsiasi altro computer nel mondo. Se si tenta di bloccare le connessioni in uscita da un computer già compromesso, come è possibile essere certi che il computer esegua effettivamente l'operazione richiesta? Ovviamente non è possibile. La protezione in uscita è una misura apparente di protezione, un espediente che dà soltanto l'impressione di migliorare la protezione senza migliorarla effettivamente. Questo è il motivo per cui la protezione in uscita non esisteva nel firewall di Windows XP e non esiste nel firewall di Windows Vista™. Parlerò del controllo in uscita in Windows Vista più avanti.

Quali sono le novità in Windows Vista?

Windows Filtering Platform, parte del nuovo stack di rete, è l'elemento base per il firewall di Windows Vista. Come Windows XP, Windows Vista blocca il traffico in entrata per impostazione predefinita. A seconda del profilo del computer che si sta utilizzando, potrebbero esservi delle eccezioni predefinite per i servizi di rete (tratterò dei profili più avanti). È possibile, se si desidera, scrivere delle regole per consentire connessioni in entrata. Anche Windows Vista, come Windows XP, consente per impostazione predefinita tutto il traffico in uscita dai processi interattivi, ma limita il traffico in uscita dai servizi che partecipano alla restrizione del servizio. E, ancora una volta, è possibile scrivere delle regole per bloccare ulteriori connessioni in uscita.

La grande differenza tra Windows XP e Windows Vista è rappresentata dalla nuova interfaccia di protezione avanzata e dal supporto completo di Criteri di gruppo per la configurazione e per le regole (vedere la Figura 1). La vecchia UI del Pannello di controllo rimane sempre a disposizione e pressoché inalterata tranne per quanto concerne le impostazioni di registrazione e le impostazioni di Internet Control Message Protocol (ICMP), che si trovano ora nella nuova UI. Questa nuova UI, lo snap-in MMC con protezione avanzata, offre tutte le nuove funzionalità, senza tralasciare la flessibilità. È anche disponibile un contesto nuovo nel comando netsh, netsh advfirewall, attraverso cui è possibile eseguire lo script di aggiunta o eliminazione della regola, impostare e illustrare criteri globali e per profilo, nonché visualizzare lo stato attivo del firewall. Inoltre, per gli sviluppatori, FirewallAPI.dll e Netfw.h forniscono il controllo programmatico su tutte le impostazioni del firewall.

Figura 1 Windows Firewall con protezione avanzata

Figura 1** Windows Firewall con protezione avanzata **(Fare clic sull'immagine per ingrandirla)

MMC con protezione avanzata è basato su procedure guidate. Durante la creazione di una regola, è possibile scegliere tra quattro tipi: programma, porta, predefinito o personalizzato. La descrizione dei tipi è riportata in dettaglio nella Figura 2.

Figure 2 Quattro tipi di regole

Tipo Scopo
Programma Utilizzato per consentire o bloccare il traffico per un programma particolare.
Porta Utilizzato per consentire o bloccare il traffico su porte TCP o UDP particolari.
Predefined (Predefinito) Utilizza un gruppo di regole preesistente per attivare la funzionalità di Windows sulla rete (come la condivisione di file e stampanti o l'assistenza remota).
Personalizzato Illustra tutte le manopole, i pulsanti e le opzioni in modo da configurare come specifica una regola nel modo desiderato.

Esistono molti elementi a cui poter fare riferimento durante la scrittura delle regole, tutti disponibili per le regole locali e le regole applicate attraverso Criteri di gruppo tra cui: account e gruppi di utenti e computer di Active Directory®, indirizzi IP di origine e di destinazione, porte TCP e UDP di origine e di destinazione, numeri di protocollo IP, programmi e servizi, tipi di interfacce (cablate, wireless o accesso remoto) e tipi e codici ICMP.

Una volta configurato, il firewall elabora le regole nell'ordine seguente:

Restrizioni di servizio Alcuni dei servizi di Windows Vista limiteranno la probabilità di un altro attacco tipo Blaster. Una delle restrizioni è un elenco di porte richieste dal servizio. Il firewall impone tale restrizione e impedisce che il servizio utilizzi (o gli venga indicato di utilizzare) qualunque altra porta.

Regole per la protezione delle connessioni MMC con protezione avanzata incorpora IPsec e il firewall. Tutte le regole che contengono i criteri IPsec vengono elaborate successivamente.

Bypass autenticato I computer autenticati specificati possono ignorare altre regole.

Regole di blocco Queste regole bloccano esplicitamente il traffico specifico in entrata o in uscita.

Regole di autorizzazione Queste regole autorizzano esplicitamente il traffico specificato in entrata o in uscita.

Le regole del firewall vengono memorizzate nel Registro di sistema, ma non andrò a specificare esattamente dove. Va bene, le potrai trovare in queste posizioni:

  • HKEY_LOCAL_MACHINE\SYSTEM\ CurrentControlSet\Services\SharedAccess\Defaults\FirewallPolicy\FirewallRule
  • HKEY_LOCAL_MACHINE\SYSTEM\ CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules
  • HKEY_LOCAL_MACHINE\SYSTEM\ CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\RestrictedServices\Static\System

Non modificare le regole direttamente nel Registro di sistema. Se lo fai, lo scopriremo e dovrai vedertela con noi! Scherzo, ma l'unico modo per modificare le regole è utilizzare MMC con protezione avanzata.

Profili di rete

Windows Vista definisce tre profili di rete: dominio, privato e pubblico. Se il computer è associato al dominio ed è stato registrato correttamente all'interno di questo, viene applicato automaticamente il profilo di dominio. Non eseguire mai questa operazione di tua iniziativa. Quando il computer è connesso a una rete interna senza un dominio (come una rete domestica o una piccola rete aziendale), è compito tuo (o di un amministratore) applicare il profilo privato. Infine, quando il computer è connesso direttamente a Internet, sei tu che devi applicare il profilo pubblico.

In che modo Windows Vista decide dove collocare il computer? Ogni volta che si verifica una modifica di rete (nel caso in cui si riceva un nuovo indirizzo IP, venga visualizzato un nuovo gateway predefinito o si ottenga una nuova interfaccia), un servizio denominato NLA (Network Location Awareness) rileva tale modifica. Questo servizio crea un profilo di rete, che contiene informazioni su interfacce esistenti, se il computer è stato autenticato in un controller di dominio, l'indirizzo MAC del gateway e così via, infine assegna a tale profilo un GUID. NLA notifica poi il firewall che a sua volta applica i criteri corrispondenti (esiste un criterio definito per ciascuno dei tre profili).

Se si tratta di una nuova interfaccia che il computer non ha mai incontrato prima e se NLA non ha scelto il profilo di dominio, verrà visualizzata una finestra di dialogo in cui indicare il tipo di rete a cui si è connessi. Sono disponibili tre possibilità: domestica, aziendale e pubblica. Si potrebbe pensare che aziendale indichi il profilo di dominio, ma ciò non corrisponde a realtà. È necessario ricordare che non viene mai visualizzato il profilo di dominio perché NLA lo sceglie automaticamente quando il computer effettua il collegamento a un dominio. In realtà, sia domestica che aziendale corrispondono al profilo privato. Dal punto di vista funzionale sono equivalenti, solo le icone sono diverse. Nota: è necessario essere un amministratore locale o essere in grado di assumere i privilegi di amministratore locale, per scegliere il profilo privato. Come previsto, la rete pubblica corrisponde al profilo pubblico.

In Windows Vista, un profilo di rete si applica a tutte le interfacce nel computer. Di seguito è riportato un resoconto della struttura decisionale di NLA:

  1. Esaminare tutte le reti connesse.
  2. L'interfaccia è connessa a una rete classificata come pubblica? Se sì, impostare il profilo del computer su Pubblico e uscire.
  3. L'interfaccia è connessa a una rete classificata come privata? Se sì, impostare il profilo del computer su Privato e uscire.
  4. Tutte le interfacce visualizzano un controller di dominio e il computer ha effettuato correttamente l'accesso? Se sì, impostare il profilo del computer su Dominio e uscire.
  5. Inoltre, impostare il profilo del computer su Pubblico.

L'obiettivo consiste nel selezionare il profilo più restrittivo possibile. Esistono, tuttavia, due effetti indesiderati. Innanzitutto, se la porta Ethernet del proprio computer è connessa alla rete Corpnet e il NIC wireless è connesso a Starbucks al piano inferiore, il computer sceglierà il profilo pubblico, non quello di dominio. In seguito, se il computer è direttamente connesso a Internet (nel profilo pubblico) o alla LAN domestica (nel profilo privato) e si effettua una connessione VPN alla rete corpnet, il computer rimarrà nel profilo pubblico o privato.

Che cosa significa tutto questo? I criteri del firewall per il profilo di dominio contengono delle regole per l'assistenza remota, l'amministrazione remota, la condivisione di file e stampanti e così via. Se ci si basa su queste regole per ottenere un client in modalità remota, ciò non sarà possibile se il client ha scelto un altro profilo. Ma non disperare, puoi scrivere regole di firewall per consentire tutte le connessioni in entrata necessarie e applicarle soltanto alle connessioni VPN. A questo punto è possibile ancora amministrare i client tramite la connessione VPN anche quando non si trovano nel profilo di dominio.

Controllo delle connessioni in uscita

In precedenza è stato specificato che la forma tipica di protezione in uscita nei firewall del client è rappresentata dalle misure apparenti di protezione. Tuttavia, una forma di controllo in uscita è molto utile: il controllo amministrativo di determinati tipi di traffico che non si desidera consentire. Il firewall di Windows Vista consente già questo controllo per le restrizioni del servizio. Il firewall consente a un servizio di comunicare soltanto tramite le porte di cui necessita e di bloccare tutti i tentativi di servizio. È possibile scrivere ulteriori regole che consentono o bloccano il traffico specifico in modo da soddisfare i criteri di protezione dell'organizzazione (vedere la Figura 3).

Figura 3 Creazione guidata nuova regola connessioni in entrata

Figura 3** Creazione guidata nuova regola connessioni in entrata **(Fare clic sull'immagine per ingrandirla)

Ad esempio, è possibile che si desideri impedire agli utenti di eseguire un client di messaggistica immediata particolare. È possibile creare una regola (in Criteri di gruppo, ovviamente) per bloccare le connessioni ai server di accesso per quel client.

Esistono comunque alcune limitazioni pratiche a questo approccio. Ad esempio, Windows Live™ Messenger (noto come MSN® Messenger) dispone di diversi server da utilizzare per l'accesso e l'elenco di tali server non è mai definitivo. Inoltre, se la porta predefinita 1863/tcp è bloccata, si tornerà alla porta 80/tcp. Una regola per bloccare Windows Live Messenger dalla connessione ai server di accesso potrebbe risultare troppo complessa e soggetta a cambiamenti. Il controllo amministrativo in uscita può essere utile, ma non rappresenta un sostituto per i criteri di restrizione software se si ha la necessità di mantenere uno stretto controllo sugli utenti del software che hanno l'autorizzazione a installare ed eseguire.

Proteggi il tuo computer

Non esiste più alcun limite perimetrale. Ogni computer deve disporre di una protezione adeguata. Proprio come i software anti-malware sono passati dal client al confine della rete, i firewall devono passare dal confine della rete al client. È possibile agire immediatamente attivando il firewall già installato.

Se sui sistemi è in esecuzione Windows XP o si sta già passando a Windows Vista, Windows Firewall è disponibile per tutti i client e fornirà la protezione necessaria per migliorare la protezione all'interno della propria organizzazione, anche quando i lavoratori mobili sono lontani migliaia di chilometri dall'ufficio.

Ulteriori informazioni disponibili

Steve Riley è Senior Security Strategist presso Microsoft Security Technology Unit e collabora con TechNet Magazine come redattore. Tiene conferenze in tutto il mondo ed è costantemente impegnato con i clienti per garantire loro maggiore protezione. Il suo ultimo libro è Protect Your Windows Network (Addison-Wesley, 2005). È possibile contattarlo all'indirizzo steve.riley@microsoft.com.

© 2008 Microsoft Corporation e CMP Media, LLC. Tutti i diritti riservati. È vietata la riproduzione completa o parziale senza autorizzazione.