Home | Chi sono | Contattami
 

Progr. lineare

Delphi
 
Componenti
  Database
 
Miei articoli

Windows

Miei articoli 

 

Firewall nel service pack 2 di windows xp: alcune impostazioni
 

Col Service Pack 2 di Windows XP, nel Pannello di Controllo sono presenti il "Centro Sicurezza del PC" (wscui.cpl) ed il "Windows Firewall" (firewall.cpl). Soffermiamoci un attimo su quest' ultimo e guardiamo un attimo quali sono le chiavi di registro che corrispondono ad alcune delle impostazioni

La chiave base è

HKLM\System\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy

che ha come sottochiavi:

DomainProfile  --> usata se il computer è client di Dominio
StandardProfile --> usata se il computer è in un Gruppo di lavoro

Prendiamo come riferimento per gli esempi lo StandardProfile

HKLM\System\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile

Facendo riferimento al primo tab della maschera di impostazioni e cioè

 

Si hanno le seguenti corrispondenze coi valori della suddetta chiave

"EnableFirewall"=dword:00000000 (Attivato (impostazione consigliata))
"DoNotAllowExceptions"=dword:00000000 (Non consentire eccezioni)

Spostandosi invece sul secondo tab



abbiamo

"DisableNotifications"=dword:00000000
(Visualizza un avviso quando Windows Firewall blocca un programma)


L'elenco definito in "Programmi e servizi" è l' unione degli elenchi presenti nelle seguenti chiavi

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\AuthorizedApplications\List]
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\GloballyOpenPorts\List]

In pratica in trafico in ingresso può essere filtrato per applicazione e per porta:

ad esempio ho un'applicazione che gira sul mio computer e che consente ad altre utenze su computer remoti di interagire col mio computer; non mi interessa quale o quali porte utilizza, mi interessa solo che da remoto possano interagire utilizzando tale applicazione: faccio "Aggiungi Programma"

e seleziono il programma in questione. Un esempio lampante può essere un programma di p2p come Kazaa, Shareaza, Emule, DCPro, etc... Lo seleziono ed a questo punto funziona come se il firewall non fosse abilitato: può aprire tutte le porte locali che vuole e non cambia nulla perchè ho stabilito che quel programma sia accessibile dall' esterno. L' elenco di tutti i programmi così inseriti va a popolare i valori della chiave

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\DomainProfile\AuthorizedApplications\List]

Poi vedremo in seguito i dettagli.

Così come posso consentire l' accesso dall' esterno al mio computer interagendo con un determinato programma sul mio computer, analogamente posso andare più nei dettagli e specificare quale porta di comunicazione sul mio computer voglio aprire all' esterno e che tipo di pacchetti sono disposto ad accettare in ingresso su questa porta. Faccio "Aggiungi porta"

e posso specificare porta e protocollo (e dare anche un nome identificativo al filtro che stiamo creando). Ad esempio se ho un programma che apre la porta 4567 TCP e quindi dall'esterno interagiscono con tale programma inviando pacchetti al mio computer su porta TCP 4567 allora scriverò "Numero porta" 4567 e seleziono TCP.

L' elenco di tutte le porte così inserite va a popolare i valori della chiave

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\GloballyOpenPorts\List]


Ma come vengono creati i valori nelle 2 chiave appena descritte??

per le applicazioni:

valore: <nome applicazione (eseguibile con percorso completo)>
tipo : REG_SZ
contenuto: <nome applicazione (eseguibile con percorso completo)>:<elenco computer che possono accedere>:<abilitato o disabilitato>:<etichetta che compare nell' elenco "programmi e servizi">

per le porte:

valore: <numeroporta>:<protocollo>
tipo: REG_SZ
contenuto: <numeroporta>:<protocollo>:<elenco computer che possono accedere>:<abilitato o disabilitato>:<etichetta che compare nell' elenco "programmi e servizi">

Andiamo un pò più nei dettagli ed analizziamo il concetto di "<elenco computer che possono accedere>"

Se voglio aprire una porta all' esterno ma voglio definire anche quali computer possono accedere dall' esterno al mio computer inviando pacchetti a quella porta allora seleziono la porta nell' elenco "programmi e servizi", faccio "modifica", click su "Cambia ambito"




Di default è selezionata la prima voce ma ad esempio se voglio che solo il computer 192.168.1.140 possa inviare pacchetti TCP alla porta 4567 allora scriverò come da figura (o anche più semplicemente 192.168.1.140). Se avessi voluto consentire l'accesso ad esempio a tutti i computer da 192.168.3.1 a 192.168.3.254 allora avrei scritto

192.168.3.0/255.255.255.0

Immediato il significato dell' opzione "Solo la rete (subnet) locale

A livello del valore nel registro avremo:

Tutti i computer (compresi quelli in internet) = *
Solo la rete (subnet) locale = LocalSubNet
Elenco Personalizzato = 192.168.1.140, 192.168.3.0/255.255.255.0 (in pratica quello che compare nella casella di testo relativa)

Con riferimento all' immagine avremo

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\GloballyOpenPorts\List]
"4567:TCP"="4567:TCP:192.168.1.140/255.255.255.255:Enabled:mio_programma"

Un discorso analogo vale naturalmente per i Programmi: ad esempio abilitando Kazaa per tutti avremo

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\AuthorizedApplications\List]
"C:\\Programmi\\Kazaa Lite K++\\KazaaLite.kpp"="C:\\Programmi\\Kazaa Lite K++\\KazaaLite.kpp:*:Enabled:KazaaLite"

Se ad esempio volessi consentire il collegamento in terminal emulation al mio computer solo ai computer 10.0.0.5 e 192.168.5.1 allora andrei a modificare la riga già esistente

"3389:TCP"="3389:TCP:*:Disabled:@xpsp2res.dll,-22009"

e scriverei

"3389:TCP"="3389:TCP:10.0.0.5,192.168.5.1*:Enabled:@xpsp2res.dll,-22009"

Si noti qui l' utilizzo di una stringa di risorsa invece del testo per definire l' etichetta (@xpsp2res.dll,-22009)

 


 

Elenco tips di registro

 

 
 
 
Your Ad Here