Equivalente di Windows di iptables?


58

Domanda stupida:

Esiste un equivalente di iptables su Windows? Posso installarne uno tramite Cygwin?

La vera domanda: come posso realizzare su Windows cosa posso fare tramite iptables? Sto solo cercando funzionalità firewall di base (ad esempio bloccando determinati indirizzi IP)


6
Nessuna domanda stupida
Mark Henderson

4
Naturalmente c'è una domanda stupida, questa non è una domanda.
Compito

Risposte:


38

Un modo sarebbe con il netshcomando:


8
+1 - netsh advfirewallè una regola assoluta per imparare a chiunque scriva qualsiasi cosa relativa alla sicurezza su Windows Server
Mark Henderson

Fa netsh advfirewallURL di supporto, o solo gli indirizzi IP?
Parker,

Solo indirizzi IP e simili, sebbene possano anche filtrare in base all'eseguibile invio o ricezione del traffico di rete o alle credenziali AD dell'utente / gruppo / computer interessato. Per il filtro URL, dovresti cercare un proxy di filtro di qualche tipo.
James Sneeringer,

7

Di seguito è riportato: https://support.microsoft.com/en-us/kb/947709

Esempio 1: abilitare un programma

Vecchio comando Nuovo comando

netsh firewall add allowedprogram C:\MyApp\MyApp.exe "My Application" ENABLE    
netsh advfirewall firewall add rule name="My Application" dir=in action=allow program="C:\MyApp\MyApp.exe" enable=yes
netsh firewall add allowedprogram program=C:\MyApp\MyApp.exe name="My Application" mode=ENABLE scope=CUSTOM addresses=157.60.0.1,172.16.0.0/16,LocalSubnet profile=Domain   netsh advfirewall firewall add rule name="My Application" dir=in action=allow program="C:\MyApp\MyApp.exe" enable=yes remoteip=157.60.0.1,172.16.0.0/16,LocalSubnet profile=domain
netsh firewall add allowedprogram program=C:\MyApp\MyApp.exe name="My Application" mode=ENABLE scope=CUSTOM addresses=157.60.0.1,172.16.0.0/16,LocalSubnet profile=ALL  

Esegui i seguenti comandi:

netsh advfirewall firewall add rule name="My Application" dir=in action=allow program="C:\MyApp\MyApp.exe" enable=yes remoteip=157.60.0.1,172.16.0.0/16,LocalSubnet profile=domain

netsh advfirewall firewall add rule name="My Application" dir=in action=allow program="C:\MyApp\MyApp.exe" enable=yes remoteip=157.60.0.1,172.16.0.0/16,LocalSubnet profile=private

Per ulteriori informazioni su come aggiungere le regole del firewall, eseguire il comando seguente:

netsh advfirewall firewall add rule ?

Esempio 2: abilitare una porta

Vecchio comando Nuovo comando

netsh firewall add portopening TCP 80 "Open Port 80"    
netsh advfirewall firewall add rule name="Open Port 80" dir=in action=allow protocol=TCP localport=80

Per ulteriori informazioni su come aggiungere le regole del firewall, eseguire il comando seguente:

netsh advfirewall firewall add rule ?

Esempio 3: eliminare i programmi o le porte abilitati

Vecchio comando Nuovo comando

netsh firewall delete allowedprogram C:\MyApp\MyApp.exe netsh advfirewall firewall delete rule name=rule name program="C:\MyApp\MyApp.exe"
delete portopening protocol=UDP port=500    netsh advfirewall firewall delete rule name=rule name protocol=udp localport=500

Per ulteriori informazioni su come eliminare le regole del firewall, eseguire il comando seguente:

netsh advfirewall firewall delete rule ?

Esempio 4: configurare le impostazioni ICMP

Vecchio comando Nuovo comando

netsh firewall set icmpsetting 8    netsh advfirewall firewall add rule name="ICMP Allow incoming V4 echo request" protocol=icmpv4:8,any dir=in action=allow
netsh firewall set icmpsetting type=ALL mode=enable netsh advfirewall firewall add rule name="All ICMP V4" protocol=icmpv4:any,any dir=in action=allow
netsh firewall set icmpsetting 13 disable all   netsh advfirewall firewall add rule name="Block Type 13 ICMP V4" protocol=icmpv4:13,any dir=in action=block

Per ulteriori informazioni su come configurare le impostazioni ICMP, eseguire il comando seguente:

netsh advfirewall firewall add rule ?

Esempio 5: impostare la registrazione

Vecchio comando Nuovo comando netsh firewall set logging %systemroot%\system32\LogFiles\Firewall\pfirewall.log 4096 ENABLE ENABLE Esegui i seguenti comandi:

netsh advfirewall set currentprofile logging filename %systemroot%\system32\LogFiles\Firewall\pfirewall.log

netsh advfirewall set currentprofile logging maxfilesize 4096
netsh advfirewall set currentprofile logging droppedconnections enable

netsh advfirewall set currentprofile logging allowedconnections enable

Per ulteriori informazioni, eseguire il comando seguente:

netsh advfirewall set currentprofile ?

Se si desidera impostare la registrazione per un determinato profilo, utilizzare una delle seguenti opzioni anziché l'opzione "currentprofile":
Domainprofile
Privateprofile
Publicprofile

Esempio 6: abilitare Windows Firewall

Vecchio comando Nuovo comando

netsh firewall set opmode ENABLE    netsh advfirewall set currentprofile state on
netsh firewall set opmode mode=ENABLE exceptions=enable 

Esegui i seguenti comandi:

Netsh advfirewall set currentprofile state on 

netsh advfirewall set currentprofile firewallpolicy blockinboundalways,allowoutbound
netsh firewall set opmode mode=enable exceptions=disable profile=domain 

Esegui i seguenti comandi:

Netsh advfirewall set domainprofile state on 

netsh advfirewall set domainprofile firewallpolicy blockinbound,allowoutbound
netsh firewall set opmode mode=enable profile=ALL   Run the following commands:

netsh advfirewall set domainprofile state on 

netsh advfirewall set privateprofile state on

Per ulteriori informazioni, eseguire il comando seguente:

netsh advfirewall set currentprofile ?

Se si desidera impostare lo stato del firewall per un determinato profilo, utilizzare una delle seguenti opzioni anziché l'opzione "currentprofile": Domainprofile
Privateprofile
Publicprofile

Esempio 7: ripristinare i valori predefiniti dei criteri

Vecchio comando Nuovo comando

netsh firewall reset
netsh advfirewall reset

Per ulteriori informazioni, eseguire il comando seguente: netsh advfirewall reset? Esempio 8: abilitare servizi specifici

Vecchio comando Nuovo comando netsh firewall set service FileAndPrint netsh advfirewall firewall set rule group = "Condivisione file e stampanti" new enable = Sì netsh firewall set service RemoteDesktop abilita netsh advfirewall firewall set rule group = "desktop remoto" new enable = Sì netsh firewall set service RemoteDesktop enable profile = ALL Esegui i seguenti comandi:

netsh advfirewall firewall set rule group = "desktop remoto" nuova abilitazione = Sì profilo = dominio

netsh advfirewall firewall set rule group = "desktop remoto" nuova abilitazione = Sì profilo = privato


3
Potresti voler lavorare sulla formattazione. Attualmente è orribile da leggere, invitando i voti negativi.
Gerald Schneider,


4

WIPFW sembra molto promettente, specialmente se il tuo after after iptables ha il sapore della creazione.


3

Esiste un firewall integrato in XP, Server 2003 e versioni successive.

Ha un'API attraverso la quale è possibile modificare, abilitare e disabilitare a livello di codice le regole.


1
Voglio qualcosa a cui posso accedere a livello di codice: aggiungere indirizzi IP al firewall dall'interno di uno script o di un modulo software.
Aaron F.
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.