Windows-Äquivalent von Iptables?

58

Blöde Frage:

Gibt es unter Windows ein Äquivalent zu iptables? Könnte ich eine über Cygwin installieren?

Die eigentliche Frage: Wie kann ich unter Windows das erreichen, was ich über iptables erreichen kann? Nur nach grundlegenden Firewall-Funktionen suchen (z. B. bestimmte IP-Adressen blockieren)

Aaron F.
quelle
6
Keine dumme Frage
Mark Henderson
4
Natürlich gibt es so etwas wie eine dumme Frage, das ist einfach keine.
Aufgabe

Antworten:

37

Eine Möglichkeit wäre mit dem netshBefehl:

James Sneeringer
quelle
8
+1 - netsh advfirewallist eine unabdingbare Regel, die jeder erlernen muss, der Skripte für Sicherheitsaspekte unter Windows Server erstellt
Mark Henderson
Hat netsh advfirewallSupport - URLs oder nur IP - Adressen?
Parker
Nur IP-Adressen und so weiter, aber es kann auch basierend auf der ausführbaren Datei, die den Netzwerkverkehr sendet oder empfängt, oder den AD-Anmeldeinformationen des Benutzers / der Gruppe / des Computers, der beteiligt ist, gefiltert werden. Für die URL-Filterung möchten Sie nach einem Filter-Proxy suchen .
James Sneeringer
6

Das Folgende ist von: https://support.microsoft.com/en-us/kb/947709

Beispiel 1: Aktivieren Sie ein Programm

Alter Befehl Neuer Befehl

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  

Führen Sie die folgenden Befehle aus:

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

Führen Sie den folgenden Befehl aus, um weitere Informationen zum Hinzufügen von Firewallregeln zu erhalten:

netsh advfirewall firewall add rule ?

Beispiel 2: Aktivieren Sie einen Port

Alter Befehl Neuer Befehl

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

Führen Sie den folgenden Befehl aus, um weitere Informationen zum Hinzufügen von Firewallregeln zu erhalten:

netsh advfirewall firewall add rule ?

Beispiel 3: Löschen Sie aktivierte Programme oder Ports

Alter Befehl Neuer Befehl

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

Führen Sie den folgenden Befehl aus, um weitere Informationen zum Löschen von Firewallregeln zu erhalten:

netsh advfirewall firewall delete rule ?

Beispiel 4: Konfigurieren Sie die ICMP-Einstellungen

Alter Befehl Neuer Befehl

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

Führen Sie den folgenden Befehl aus, um weitere Informationen zum Konfigurieren der ICMP-Einstellungen zu erhalten:

netsh advfirewall firewall add rule ?

Beispiel 5: Legen Sie die Protokollierung fest

Alter Befehl Neuer Befehl netsh firewall set logging %systemroot%\system32\LogFiles\Firewall\pfirewall.log 4096 ENABLE ENABLE Führen Sie die folgenden Befehle aus:

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

Führen Sie den folgenden Befehl aus, um weitere Informationen zu erhalten:

netsh advfirewall set currentprofile ?

Wenn Sie die Protokollierung für ein bestimmtes Profil festlegen möchten, verwenden Sie eine der folgenden Optionen anstelle der „Currentprofile “ Option:
Domainprofile
Private
Publicprofile

Beispiel 6: Aktivieren Sie die Windows-Firewall

Alter Befehl Neuer Befehl

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

Führen Sie die folgenden Befehle aus:

Netsh advfirewall set currentprofile state on 

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

Führen Sie die folgenden Befehle aus:

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

Führen Sie den folgenden Befehl aus, um weitere Informationen zu erhalten:

netsh advfirewall set currentprofile ?

Wenn Sie die Firewall - Zustand für ein bestimmtes Profil zu setzen, verwenden Sie eine der folgenden Optionen anstelle der „Currentprofile “ Option: Domainprofile
Private
Publicprofile

Beispiel 7: Wiederherstellen der Richtlinienstandards

Alter Befehl Neuer Befehl

netsh firewall reset
netsh advfirewall reset

Führen Sie den folgenden Befehl aus, um weitere Informationen zu erhalten: netsh advfirewall reset? Beispiel 8: Aktivieren Sie bestimmte Dienste

Alter Befehl Neuer Befehl netsh Firewall-Set-Dienst FileAndPrint netsh advfirewall Firewall-Set-Regelgruppe = "Datei- und Druckerfreigabe" neue Aktivierung = Ja netsh Firewall-Set-Dienst RemoteDesktop aktivieren netsh advfirewall Firewall-Set-Regelgruppe = "Remotedesktop" neue Aktivierung = Ja netsh Firewall-Set service RemoteDesktop enable profile = ALL Führen Sie die folgenden Befehle aus:

netsh advfirewall firewall set rule group = "remote desktop" new enable = yes profile = domain

netsh advfirewall firewall set rule group = "remote desktop" new enable = Ja profile = privat

Adrianio
quelle
3
Möglicherweise möchten Sie an der Formatierung arbeiten. Derzeit ist es schrecklich zu lesen, Downvotes einladen.
Gerald Schneider
1
Ebenfalls von support.microsoft.com/en-us/kb/947709
chappjc 22.11.16
4

WIPFW sieht sehr vielversprechend aus, besonders wenn Sie nach der Erstellung von iptables-Regeln suchen .

Nick Kavadias
quelle
3

In XP, Server 2003 und späteren Versionen ist eine Firewall integriert .

Es verfügt über eine API, über die Sie Regeln programmgesteuert ändern, aktivieren und deaktivieren können.

Poolie
quelle
1
Ich möchte etwas, auf das ich programmgesteuert zugreifen kann - fügen Sie der Firewall IP-Adressen über ein Skript oder ein Softwaremodul hinzu.
Aaron F.