04/03/2008

Gestire le porte di Windows Firewall

A cura di Efran Cobisi
Tag: Network


Per gestire l'apertura o la chiusura di una porta in Windows Firewall è sufficiente utilizzare l'oggetto COM HNetCfg.FwMgr, in dotazione dei sistemi Windows XP SP2 e superiori.

Recuperare la lista delle porte aperte per il profilo corrente, ad esempio, è semplice come eseguire questo script:

$firewall = New-Object -ComObject HNetCfg.FwMgr $firewall.LocalPolicy.CurrentProfile.GloballyOpenPorts | Format-Table Name, Port, Protocol
Name                                             Port                  Protocol
----                                             ----                  --------
Windows Media Connect                           10280                        17
Windows Media Connect                           10281                        17
Windows Media Connect                           10282                        17
ActiveSync Service                              26675                         6

Il valore di Protocol, decodificabile utilizzando MSDN, corrisponde naturalmente alla tipologia di protocollo per il quale ciascuna porta è stata aperta (TCP/UDP).

Aggiungere una porta alla lista di quelle aperte comporta la creazione di un oggetto COM HNetCfg.FWOpenPort, da aggiungere alla collezione analizzata in precedenza.

$port = New-Object -ComObject HNetCfg.FWOpenPort $port.Name = "Secondary web server" $port.Port = 8080 $port.Protocol = 6 # (Valore per il protocollo TCP) $firewall.LocalPolicy.CurrentProfile.GloballyOpenPorts.Add($port)

La rimozione di una porta, invece, ne richiede semplicemente il numero ed il codice del protocollo:

$firewall.LocalPolicy.CurrentProfile.GloballyOpenPorts.Remove(8080, 6)
Commenti

Nessun commento disponibile.