Le regole di filtro IPSec (Internet Protocol Security) possono essere utilizzate per aiutare a proteggere computer basati su Windows 2000 dalla minaccia di virus e worm provenienti dalla rete. In questo articolo viene descritto come filtrare il traffico di rete in entrata e in uscita in base a una particolare combinazione di protocollo e porta. Vengono anche descritte le procedure per determinare se esistono criteri IPSec attualmente assegnati a un computer basato su Windows 2000, per creare e assegnare un nuovo criterio IPSec e per annullare l’assegnazione ed eliminare un criterio IPSec.
Importante In questo articolo sono contenute informazioni su come modificare il Registro di sistema utilizzando Ipsecpol.exe. Prima di modificare il Registro di sistema, assicurarsi di sapere come ripristinarlo in caso di problemi.
Nota Le regole di filtro IPSec possono causare nei programmi di rete la perdita di dati o l’interruzione dell’attività di risposta alle richieste della rete, tra cui anche la mancata autenticazione degli utenti. Si consiglia pertanto di utilizzare le regole di filtro IPSec solo come ultima misura difensiva e solo dopo avere valutato attentamente l’impatto del blocco di specifiche porte sull’ambiente in uso. Se un criterio IPSec creato utilizzando la procedura elencata in questo articolo produce effetti indesiderati sui programmi di rete, vedere la sezione “Annullare l’assegnazione ed eliminare un criterio IPSec” di seguito in questo articolo per informazioni su come disabilitare ed eliminare immediatamente il criterio in questione.
I criteri IPSec possono essere applicati localmente o a un membro di dominio come parte dei criteri di gruppo di tale dominio. I criteri IPSec locali possono essere statici (preservati) oppure dinamici (non preservati). I criteri IPSec statici sono scritti nel Registro di sistema locale e vengono conservati anche dopo il riavvio del sistema operativo, mentre quelli dinamici non vengono scritti in maniera permanente nel Registro di sistema e vengono rimossi se il sistema operativo o il servizio Agente criteri IPSec viene riavviato.
Determinare se un criterio IPSec è assegnato
Prima di creare o assegnare qualsiasi nuovo criterio IPSec a un computer basato su Windows 2000, determinare se esistono criteri IPSec applicati mediante il Registro di sistema locale o un oggetto Criteri di gruppo. Per effettuare questa operazione:
1. | Installare Netdiag.exe dal CD di Windows 2000 eseguendo Setup.exe dalla cartella Support\Tools. |
2. | Aprire il prompt dei comandi e impostare la cartella di lavoro su C:\Programmi\Support Tools. |
3. | Eseguire il comando riportato per verificare che NON esista già un criterio IPSec assegnato al computer:netdiag /test:ipsecSe non è¨ assegnato alcun criterio verrà visualizzato il seguente messaggio:IP Security test . . . . . . . . . : Passed IPSec policy service is active, but no policy is assigned. |
Creare un criterio statico per il blocco del traffico
Nei sistemi in cui non è¨ abilitato localmente alcun criterio IPSec, attenersi alla procedura descritta di seguito per creare un nuovo criterio statico locale mediante cui bloccare il traffico diretto a uno specifico protocollo e a una specifica porta di un computer basato su Windows 2000 in cui non sia assegnato alcun criterio IPSec esistente:
1. | Verificare che il servizio Agente criteri IPSec sia abilitato e avviato nello snap-in MMC Servizi. |
2. | Visitare il seguente sito Web Microsoft per scaricare e installare Ipsecpol.exe (informazioni in lingua inglese): http://www.microsoft.com/windows2000/techinfo/reskit/tools/existing/ipsecpol-o.asp |
3. | Aprire un prompt dei comandi e impostare come cartella di lavoro la cartella di installazione di Ipsecpol.exe. Nota La cartella di installazione predefinita di Ipsecpol.exe è ¨ C:\Programmi\Resource Kit. |
4. | Per creare un nuovo criterio IPSec locale e una regola di filtro per il traffico di rete proveniente da qualsiasi indirizzo IP e diretto all’indirizzo IP del computer basato su Windows 2000 che si sta configurando, utilizzare la sintassi illustrata di seguito, dove protocollo e numero porta sono delle variabili:ipsecpol -w REG -p “Filtro blocco protocollonumero porta” -r “Regola blocco entrata protocollonumero porta” -f *=0:numero porta:protocollo -n BLOCK –xPer bloccare ad esempio il traffico di rete proveniente da qualsiasi indirizzo IP e qualsiasi porta di origine e diretto alla porta di destinazione UDP 1434 di un computer basato su Windows 2000, digitare quanto riportato di seguito (questo criterio è sufficiente a proteggere i computer che eseguono Microsoft SQL Server 2000 dal virus worm “Slammer”):ipsecpol -w REG -p “Filtro blocco UDP 1434” -r “Regola blocco entrata UDP 1434” -f *=0:1434:UDP -n BLOCK -xL’esempio riportato di seguito consente di bloccare l’accesso in entrata alla porta TCP 80 consentendo invece l’accesso in uscita da tale porta (questo criterio è sufficiente a proteggere i computer che eseguono Microsoft Internet Information Services (IIS) 5.0 dai virus worm “Code Red” e “Nimda”):ipsecpol -w REG -p “Filtro blocco TCP 80” -r “Regola blocco entrata TCP 80” -f *=0:80:TCP -n BLOCK -xNota Il parametro -x consente di assegnare immediatamente il criterio. Se si utilizza questo comando, verrà annullata l’assegnazione del criterio “Filtro blocco UDP 1434” e verrà assegnato il criterio “Filtro blocco TCP 80”. Per aggiungere quest’ultimo criterio senza tuttavia assegnarlo, digitare il comando senza parametro finale -x. |
5. | Per aggiungere un’ulteriore regola di filtro al criterio esistente “Filtro blocco UDP 1434” che blocca il traffico di rete proveniente dal computer basato su Windows 2000 e diretto a qualsiasi indirizzo IP, utilizzare la sintassi illustrata di seguito, dove protocollo e numero porta sono delle variabili:ipsecpol -w REG -p “Filtro blocco protocollonumero porta” -r “Regola blocco uscita protocollonumero porta” -f *0=:numero porta:protocollo -n BLOCKPer bloccare ad esempio tutto il traffico di rete proveniente dal computer basato su Windows 2000 e diretto alla porta UDP 1434 di qualsiasi altro host, digitare quanto riportato di seguito (questo criterio è sufficiente a proteggere i computer che eseguono Microsoft SQL Server 2000 dal virus worm “Slammer”):ipsecpol -w REG -p “Filtro blocco UDP 1434” -r “Regola blocco uscita UDP 1434” -f 0=*:1434:UDP -n BLOCKNota è possibile aggiungere quante regole di filtro si desidera a un criterio utilizzando questa sintassi, ad esempio per bloccare più¹ porte utilizzando lo stesso criterio. |
6. | Il criterio descritto al passaggio 5 sarà ora attivo e tale rimarrà anche dopo il riavvio del computer. Se tuttavia in seguito verrà assegnato al computer locale un criterio IPSec a livello di dominio, il criterio locale verrà ignorato e non più applicato. Per verificare che l’assegnazione della regola di filtro sia andata a buon fine, al prompt dei comandi impostare come cartella di lavoro la cartella C:\Programmi\Support Tools e digitare il seguente comando:netdiag /test:ipsec /debugSe, come in questi esempi, sono applicati criteri per il traffico in entrata e in uscita, verrà visualizzato il seguente messaggio:Test IPSec . . . . . . . . . : Passed Local IPSec Policy Active: ‘Filtro blocco UDP 1434’ IP Security Policy Path: SOFTWARE\Policies\Microsoft\Windows\IPSec\Policy\Local\ipsecPolicy{D239C599-F945-47A3-A4E3-B37BC12826B9} There are 2 filters No Name Filter Id: {5EC1FD53-EA98-4C1B-A99F-6D2A0FF94592} Policy Id: {509492EA-1214-4F50-BF43-9CAC2B538518} Src Addr: 0.0.0.0 Src Mask : 0.0.0.0 Dest Addr: 192.168.1.1 Dest Mask : 255.255.255.255 Tunnel Addr: 0.0.0.0 Src Port : 0 Dest Port : 1434 Protocollo: 17 TunnelFilter: No Flags: Inbound Block No Name Filter Id: {9B4144A6-774F-4AE5-B23A-51331E67BAB2} Policy Id: {2DEB01BD-9830-4067-B58A-AADFC8659BE5} Src Addr: 192.168.1.1 Src Mask : 255.255.255.255 Dest Addr: 0.0.0.0 Dest Mask : 0.0.0.0 Tunnel Addr: 0.0.0.0 Src Port : 0 Dest Port : 1434 Protocol : 17 TunnelFilter: No Flags: Outbound BlockNota Gli indirizzi IP e i GUID varieranno, in quanto relativi al computer basato su Windows 2000. |
Aggiungere una regola di blocco per una specifica combinazione di protocollo e porta
Per aggiungere una regola di blocco per una specifica combinazione di protocollo e porta in un computer basato su Windows 2000 a cui ha assegnato localmente un criterio IPSec statico, attenersi alla procedura seguente:
1. | Visitare il seguente sito Web Microsoft per scaricare e installare Ipsecpol.exe (informazioni in lingua inglese): http://www.microsoft.com/windows2000/techinfo/reskit/tools/existing/ipsecpol-o.asp |
2. | Identificare il nome del criterio IPSec attualmente assegnato. A tale scopo, al prompt dei comandi digitare quanto riportato di seguito:netdiag /test:ipsec Se è assegnato un criterio verrà visualizzato il seguente messaggio:IP Security test . . . . . . . . . : Passed Local IPSec Policy Active: ‘Filtro blocco UDP 1434’ |
3. | Se un criterio IPSec è già assegnato al computer, in locale o a livello di dominio, utilizzare la sintassi illustrata di seguito per aggiungere un’ulteriore regola di filtro di blocco al criterio IPSec esistente, dove nome criterio IPSec esistente, protocollo e numero porta sono delle variabili:ipsecpol -p “nome criterio IPSec esistente” -w REG -r “Regola blocco protocollo numero porta” -f *=0:numero porta:protocollo -n BLOCK Per aggiungere ad esempio al criterio “Filtro blocco UDP 1434” una regola di filtro per bloccare l’accesso in entrata alla porta TCP 80, digitare il comando seguente:ipsecpol -p “Filtro blocco UDP 1434” -w REG -r “Regola blocco entrata TCP 80” -f *=0:80:TCP -n BLOCK |
Aggiungere un criterio di blocco dinamico per una specifica combinazione di protocollo e porta
In alcuni casi può essere necessario bloccare temporaneamente una determinata porta, ad esempio finché non sia stata installato un aggiornamento rapido oppure se è già assegnato al computer un criterio IPSec a livello di dominio. Per bloccare temporaneamente l’accesso a una porta di un computer basato su Windows 2000 utilizzando i criteri IPSec, attenersi alla procedura seguente:
1. | Visitare il seguente sito Web Microsoft per scaricare e installare Ipsecpol.exe (informazioni in lingua inglese): http://www.microsoft.com/windows2000/techinfo/reskit/tools/existing/ipsecpol-o.asp |
2. | Per aggiungere un filtro dinamico che blocchi tutti i pacchetti provenienti da qualsiasi indirizzo IP e diretti all’indirizzo IP del proprio sistema e a una porta specifica, al prompt dei comandi digitare il comando riportato di seguito, dove protocollo e numero porta sono delle variabili:ipsecpol -f [*=0:numero porta:protocollo] Nota Questo comando crea il filtro di blocco in maniera dinamica in modo che il criterio rimanga assegnato fino a quando il servizio Agente criteri IPSec sarà in funzione. Se il servizio IPSec o il computer viene riavviato, l’impostazione andrà persa. Se si desidera riassegnare dinamicamente tale regola di filtro IPSec ogni volta che il sistema viene riavviato, creare uno script di avvio per riapplicare la regola. Se si desidera applicare in maniera permanente questo filtro, configurarlo come criterio IPSec statico. Lo snap-in MMC Gestione criteri IPSec offre un’interfaccia grafica utente mediante cui gestire la configurazione dei criteri IPSec. Se è¨ già applicato un criterio IPSec a livello di dominio, il comando netdiag /test:ipsec /debug potrebbe visualizzare solo i dettagli del filtro, se eseguito da un utente con credenziali di amministratore di dominio. Nel Service Pack 4 per Windows 2000 verrà resa disponibile una versione aggiornata di Netdiag.exe che consentirà agli amministratori di visualizzare i criteri IPSec applicati a livello di dominio. |
Regole di filtro IPSec e Criteri di gruppo
Negli ambienti in cui i criteri IPSec sono assegnati mediante un’impostazione dei Criteri di gruppo, è necessario aggiornare il criterio dell’intero dominio per bloccare una particolare combinazione di protocollo e porta. Una volta configurate correttamente le impostazioni IPSec dei Criteri di gruppo, è necessario aggiornare le impostazioni dei Criteri di gruppo di tutti i computer basati su Windows 2000 del dominio. Per effettuare questa operazione, utilizzare il comando seguente:secedit /refreshpolicy machine_policyLa modifica al criterio IPSec verrà rilevata entro uno o due intervalli di polling. Ogni nuovo criterio IPSec assegnato a un oggetto Criteri di gruppo verrà assegnato ai client entro il periodo di tempo impostato per l’intervallo di polling dei Criteri di gruppo oppure quando il comando secedit /refreshpolicy machine_policy verrà eseguito sui computer client. Se il criterio IPSec è già assegnato a un oggetto Criteri di gruppo e vengono aggiunti nuovi filtri o regole IPSec a un criterio esistente, il comando secedit non consentirà a IPSec di riconoscere le modifiche. In tal caso, le modifiche a un criterio IPSec basato su un oggetto Criteri di gruppo esistente verranno rilevate entro l’intervallo di polling di tale criterio IPSec. Tale intervallo è specificato nella scheda Generale del criterio IPSec. è anche possibile forzare un aggiornamento delle impostazioni del criteri IPSec riavviando il servizio Agente criteri IPSec. Se il servizio IPSec viene arrestato e riavviato, le comunicazioni protette IPSec verranno interrotte e ci vorranno alcuni secondi per riprenderle. Potrebbe causare la disconnessione del programma, particolarmente per le connessioni su cui è in corso il trasferimento di volumi elevati di dati. Nelle situazioni in cui il criterio IPSec è applicato solo al computer locale, non sarà necessario riavviare il servizio.
Annullare l’assegnazione ed eliminare un criterio IPSec
• | Computer in cui è¨ definito un criterio statico locale1.Aprire un prompt dei comandi e impostare come cartella di lavoro la cartella di installazione di Ipsecpol.exe.2. Per annullare l’assegnazione del filtro creato in precedenza, utilizzare la seguente sintassi:ipsecpol -w REG -p “Filtro blocco protocollonumero porta” –y Ad esempio, per annullare l’assegnazione del criterio “Filtro blocco UDP 1434” creato in precedenza, utilizzare il seguente comando:ipsecpol -w REG -p “Filtro blocco UDP 1434” -y3. Per eliminare il filtro creato in precedenza, utilizzare la seguente sintassi: ipsecpol -w REG -p “Filtro blocco protocollonumero porta” -r “Regola blocco protocollonumero porta” –o Per eliminare ad esempio il “Filtro blocco UDP 1434” ed entrambe le regole create in precedenza, utilizzare il seguente comando: ipsecpol -w REG -p “Filtro blocco UDP 1434” -r “Regola blocco entrata UDP 1434” -r “Regola blocco uscita UDP 1434” -o |
• | Computer in cui è definito un criterio dinamico locale L’applicazione del criterio IPSec dinamico verrà annullata se il servizio Agente criteri IPSec viene arrestato (utilizzando il comando net stop policyagent). Per eliminare tuttavia gli specifici comandi utilizzati in precedenza senza dover arrestare il servizio Agente criteri IPSec, attenersi alla seguente procedura:1. Aprire un prompt dei comandi e impostare come cartella di lavoro la cartella di installazione di Ipsecpol.exe.2. |
Applicare la regola di filtro a tutte le combinazioni di protocolli e porte
In base all’impostazione predefinita, in Microsoft Windows 2000 e Microsoft Windows XP, IPSec esonera il traffico Broadcast, Multicast, RSVP, IKE e Kerberos da tutte le limitazioni imposte da filtri e autenticazione.
Applicazione delle regole di filtro IPSec al riavvio del computer
L’applicazione di tutti i criteri IPSec avviene a opera del servizio Agente criteri IPSec. Quando un computer basato su Windows 2000 sta per essere avviato, il servizio Agente criteri IPSec non è necessariamente il primo servizio a essere avviato. Il che significa che per un breve istante la connessione di rete del computer potrebbe essere vulnerabile a virus o worm. Questa situazione si verifica solo nel caso in cui un servizio potenzialmente vulnerabile è stato avviato correttamente e sta accettando la connessione prima che il servizio Agente criteri IPSec sia stato completamente avviato e siano stati assegnati tutti i criteri.