68 votes

Équivalent Windows d'iptables?

Question bête :

Y a-t-il un équivalent d'iptables sur Windows ? Pourrais-je en installer un via cygwin ?

La vraie question : comment puis-je accomplir sur Windows ce que je peux accomplir via iptables ? Je cherche juste une fonctionnalité de pare-feu de base (par exemple, bloquer certaines adresses IP)

7 votes

Il n'y a pas de question bête

6 votes

Bien sûr, il y a quelque chose comme une question stupide, ce n'en est tout simplement pas une.

0 votes

Il n'y a pas de questions stupides, mais il y a des personnes qui ne comprennent pas la question et vous blâment de l'avoir posée (comme "Me moquez-vous? Notre meilleur élève à faire une chose pareille, vous devriez avoir honte").

44voto

James Sneeringer Points 6645

Une façon serait d'utiliser la commande netsh :

8 votes

+1 - netsh advfirewall est une règle absolument nécessaire à apprendre pour quiconque écrit un script lié à la sécurité sur Windows Server

0 votes

Est-ce que netsh advfirewall prend en charge les URL, ou juste les adresses IP?

0 votes

Juste des adresses IP et ainsi de suite, bien qu'il puisse également filtrer en fonction de l'exécutable envoyant ou recevant du trafic réseau, ou des informations d'identification AD de l'utilisateur/groupe/ordinateur impliqué. Pour le filtrage d'URL, vous voudriez chercher un proxy de filtrage de quelque sorte.

9voto

Adrianio Points 81

Le texte ci-dessous provient de : https://support.microsoft.com/en-us/kb/947709

Exemple 1 : Activer un programme

Ancienne commande Nouvelle commande

netsh firewall add allowedprogram C:\MyApp\MyApp.exe "Mon application" ENABLE    
netsh advfirewall firewall add rule name="Mon application" dir=in action=allow program="C:\MyApp\MyApp.exe" enable=yes
netsh firewall add allowedprogram program=C:\MyApp\MyApp.exe name="Mon application" mode=ENABLE scope=CUSTOM addresses=157.60.0.1,172.16.0.0/16,LocalSubnet profile=Domain   netsh advfirewall firewall add rule name="Mon 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="Mon application" mode=ENABLE scope=CUSTOM addresses=157.60.0.1,172.16.0.0/16,LocalSubnet profile=ALL  

Exécutez les commandes suivantes :

netsh advfirewall firewall add rule name="Mon 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="Mon 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

Pour plus d'informations sur la façon d'ajouter des règles de pare-feu, exécutez la commande suivante :

netsh advfirewall firewall add rule ?

Exemple 2 : Activer un port

Ancienne commande Nouvelle commande

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

Pour plus d'informations sur la façon d'ajouter des règles de pare-feu, exécutez la commande suivante :

netsh advfirewall firewall add rule ?

Exemple 3 : Supprimer des programmes ou ports activés

Ancienne commande Nouvelle commande

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

Pour plus d'informations sur la façon de supprimer des règles de pare-feu, exécutez la commande suivante :

netsh advfirewall firewall delete rule ?

Exemple 4 : Configurer les paramètres ICMP

Ancienne commande Nouvelle commande

netsh firewall set icmpsetting 8    netsh advfirewall firewall add rule name="Autoriser la demande de réception ICMP V4 entrante" protocol=icmpv4:8,any dir=in action=allow
netsh firewall set icmpsetting type=ALL mode=enable netsh advfirewall firewall add rule name="Tous les ICMP V4" protocol=icmpv4:any,any dir=in action=allow
netsh firewall set icmpsetting 13 disable all   netsh advfirewall firewall add rule name="Bloquer le type 13 ICMP V4" protocol=icmpv4:13,any dir=in action=block

Pour plus d'informations sur la configuration des paramètres ICMP, exécutez la commande suivante :

netsh advfirewall firewall add rule ?

Exemple 5 : Définir les journaux

Ancienne commande Nouvelle commande netsh firewall set logging %systemroot%\system32\LogFiles\Firewall\pfirewall.log 4096 ENABLE ENABLE Exécutez les commandes suivantes :

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

Pour plus d'informations, exécutez la commande suivante :

netsh advfirewall set currentprofile ?

Si vous souhaitez définir des journaux pour un profil particulier, utilisez l'une des options suivantes à la place de l'option "currentprofile" :
Domainprofile
Privateprofile
Publicprofile

Exemple 6 : Activer le Pare-feu Windows

Ancienne commande Nouvelle commande

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

Exécutez les commandes suivantes :

Netsh advfirewall set currentprofile state on 

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

Exécutez les commandes suivantes :

Netsh advfirewall set domainprofile state on 

netsh advfirewall set domainprofile firewallpolicy blockinbound,allowoutbound
netsh firewall set opmode mode=enable profile=ALL   Exécutez les commandes suivantes :

netsh advfirewall set domainprofile state on 

netsh advfirewall set privateprofile state on

Pour plus d'informations, exécutez la commande suivante :

netsh advfirewall set currentprofile ?

Si vous souhaitez définir l'état du pare-feu pour un profil particulier, utilisez l'une des options suivantes à la place de l'option "currentprofile" : Domainprofile
Privateprofile
Publicprofile

Exemple 7 : Rétablir les valeurs par défaut des politiques

Ancienne commande Nouvelle commande

netsh firewall reset
netsh advfirewall reset

Pour plus d'informations, exécutez la commande suivante : netsh advfirewall reset ? Exemple 8 : Activer des services spécifiques

Ancienne commande Nouvelle commande netsh firewall set service FileAndPrint netsh advfirewall firewall set rule group="Partage de fichiers et d'imprimantes" new enable=Oui netsh firewall set service RemoteDesktop enable netsh advfirewall firewall set rule group="bureau à distance" new enable=Oui netsh firewall set service RemoteDesktop enable profile=ALL Exécutez les commandes suivantes :

netsh advfirewall firewall set rule group="bureau à distance" new enable=Oui profile=domain

netsh advfirewall firewall set rule group="bureau à distance" new enable=Oui profile=private

3 votes

Vous voudriez peut-être travailler sur la mise en forme. Actuellement, il est horrible à lire, invitant les votes négatifs.

1 votes

Également déchiré de support.microsoft.com/fr-fr/kb/947709

5voto

nOw2 Points 276

WIPFW semble très prometteur, surtout si vous êtes à la recherche de cette saveur de création de règles iptables.

3voto

poolie Points 1115

Il existe un pare-feu intégré dans XP, Server 2003 et les versions ultérieures.

Il dispose d'une API à travers laquelle vous pouvez modifier, activer et désactiver des règles de manière programmatique.

1 votes

Je veux quelque chose à quoi je peux accéder de manière programmable - ajouter des adresses IP au pare-feu depuis un script ou un module logiciel.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X