Pare-feu : bloquer tout les programmes d'un dossier

Résolu/Fermé
Matt - 17 mai 2016 à 12:50
Fenrisulfr01 Messages postés 17 Date d'inscription mardi 17 mai 2016 Statut Membre Dernière intervention 19 mai 2016 - 19 mai 2016 à 15:11
Bonjour,

Je souhaite, depuis le pare-feu Windows 7, bloquer l’accès internet de tout les programmes .exe d'un dossier.

En effet je souhaite bloquer une liste de X programmes dans le dossier C:\Program Files\"DOSSIER"
Aucun problème pour bloquer les .exe un par un mais c'est vraiment très long !

Avez-vous une solution rapide ?

Merci d'avance !

16 réponses

Fenrisulfr01 Messages postés 17 Date d'inscription mardi 17 mai 2016 Statut Membre Dernière intervention 19 mai 2016 6
19 mai 2016 à 13:55
Non, il n'accepte pas d'avoir dir=in et dir=out.
Toutefois vous pouvez refaire l'ensemble en laissant juste dir=in.
2
Mattofficiel Messages postés 14 Date d'inscription mercredi 18 mai 2016 Statut Membre Dernière intervention 19 mai 2016
19 mai 2016 à 15:05
J'ai rajouté une ligne et ca fonctionne nickel

cd "C:\Program Files (x86)\Common Files\Gestionnaire d'installation SOLIDWORKS"
$appli = ls * -recurse | where {$_.name -like "*.exe"}
foreach ($app in $appli)
{
$name = $app.name
$path = $app.fullname
netsh adv firewall add rule name=$name dir=in action=block program=$path
netsh adv firewall add rule name=$name dir=out action=block program=$path
}


Merci pour votre aide !
0
Fenrisulfr01 Messages postés 17 Date d'inscription mardi 17 mai 2016 Statut Membre Dernière intervention 19 mai 2016 6
17 mai 2016 à 16:36
Bonjour,

Pour faire ce dont tu as besoin, je te propose un petit block powershell.
Tu dois donc exécuter powershell en mode administrateur.
Ensuite tape ceci :
cd "ton dossier"
$appli = ls *.exe
foreach ($app in $appli)
{
$name = $app.name
netsh adv firewall add rule name=$name dir=out action=block program=$app.fullpath
}

ton dossier est l'emplacement où sont tes applications que tu veux bloquer.
Ceci va créer une règle avec comme nom, le nom de ton application, qui va bloquer le trafic sortant.
1
Bonjour,

Merci beaucoup pour cette réponse.

En gros je dois taper tout simplement ceci ? :

cd C:\Program Files\"DOSSIER"
$appli = ls *.exe
foreach ($app in $appli)
{
$name = $app.name
netsh adv firewall add rule name=$name dir=out action=block program=$app.fullpath
}


Ce code bloque donc tout le trafic sortant de TOUTES les applications dans C:\Program Files\"DOSSIER" ?

Et si je souhaite désactivé ce blocage ?

Encore merci !
0
Fenrisulfr01 Messages postés 17 Date d'inscription mardi 17 mai 2016 Statut Membre Dernière intervention 19 mai 2016 6
19 mai 2016 à 12:35
En effet, au temps pour moi.
Allez, on change encore une fois :)

cd "C:\Program Files (x86)\Common Files\Gestionnaire d'installation SOLIDWORKS"
$appli = ls * -recurse | where {$_.name -like "*.exe"}
foreach ($app in $appli)
{
$name = $app.name
$path = $app.fullname
netsh adv firewall add rule name=$name dir=out action=block program=$path
}


Cette fois devrait être la bonne
1
Mattofficiel Messages postés 14 Date d'inscription mercredi 18 mai 2016 Statut Membre Dernière intervention 19 mai 2016
19 mai 2016 à 13:03
Merci, ça à l'air de marcher à merveille !

est-il possible d'ajouter aussi une restriction en trafic entrant ?

du style

cd "C:\Program Files (x86)\Common Files\Gestionnaire d'installation SOLIDWORKS"
$appli = ls * -recurse | where {$_.name -like "*.exe"}
foreach ($app in $appli)
{
$name = $app.name
$path = $app.fullname
netsh adv firewall add rule name=$name dir=in dir=out action=block program=$path
}
0
Fenrisulfr01 Messages postés 17 Date d'inscription mardi 17 mai 2016 Statut Membre Dernière intervention 19 mai 2016 6
19 mai 2016 à 15:11
Ok impeccable.

Bonne journée
1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Fenrisulfr01 Messages postés 17 Date d'inscription mardi 17 mai 2016 Statut Membre Dernière intervention 19 mai 2016 6
18 mai 2016 à 11:33
Bonjour,
Si le dossier dont il est question s'appelle exactement "DOSSIER" (avec les guillemets, la première commande est
cd 'C:\program Files\"DOSSIER"'

Ensuite, j'ai vu une erreur sur la deuxième ligne : il faut ajouter -recurse à la fin. Ce qui donne :
$appli = ls *.exe -recurse


Oui, ce code bloque le trafic d'absolument tous les fichiers .exe du dossier C:\program Files\"DOSSIER".

Pour supprimer toutes les règles précédemment créées, utilise ce code de la même manière :
cd 'C:\program Files\"DOSSIER"'
$appli = ls *.exe
foreach ($app in $appli)
{
$name = $app.name
netsh adv firewall delete rule name=$name
}
0
Bonjour,

Merci pour cette réponse mais ça ne fonctionne pas.

J'ai Copier Coller ce code tel quel dans Windows PowerShell (%SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe) en mode admin :

cd 'C:\Program Files (x86)\Common Files\DOSSIER'
$appli = ls *.exe -recurse
foreach ($app in $appli)
{
$name = $app.name
netsh adv firewall add rule name=$name dir=out action=block program=$app.fullpath
}


Comment être sur que la commande a bien été prise en compte ?

Les Soft présents dans C:\Program Files (x86)\Common Files\DOSSIER se connecte toujours sur le net !

Merci
0
Fenrisulfr01 Messages postés 17 Date d'inscription mardi 17 mai 2016 Statut Membre Dernière intervention 19 mai 2016 6
18 mai 2016 à 12:17
Est ce que vous avez des messages d'erreurs ?

Si la commande c'est bien exécutée, vous pouvez voir les règle dans "Pare-feu Windows avec fonctions avancées de sécurité", catégorie "Règles de trafic sortant"
0
Pas de message d'erreur, voulez-vous que je vous envoie une capture du powershell ?

Dans le "Pare-feu Windows avec fonctions avancées de sécurité", catégorie "Règles de trafic sortant" je n'ai pas vu apparaître de nouvel règle.
0
Fenrisulfr01 Messages postés 17 Date d'inscription mardi 17 mai 2016 Statut Membre Dernière intervention 19 mai 2016 6
18 mai 2016 à 14:22
Oui en effet, je veux bien une capture.
Merci
0
http://img15.hostingpics.net/pics/480751Sanstitre.png
0
Fenrisulfr01 Messages postés 17 Date d'inscription mardi 17 mai 2016 Statut Membre Dernière intervention 19 mai 2016 6
18 mai 2016 à 15:05
Appuyez une ou deux fois sur entrée.
Vous devriez avoir des "ok" ou des erreurs.
0
En appuyant sur entrée j'ai juste ceci qui apparaît à chaque "entrée"

>>
>>
>>
0
J'ai eu une erreur, je vous poste le screen de suite
0
http://img15.hostingpics.net/pics/958061Sanstitre.png
0
Fenrisulfr01 Messages postés 17 Date d'inscription mardi 17 mai 2016 Statut Membre Dernière intervention 19 mai 2016 6
18 mai 2016 à 15:26
Ok, au lieu de la première et dernière apostrophe de la première ligne, mettez des guillemet. Le problème viens de l'apostrophe de "d'installation"
0
Mattofficiel Messages postés 14 Date d'inscription mercredi 18 mai 2016 Statut Membre Dernière intervention 19 mai 2016
18 mai 2016 à 15:33
Merci,

J'ai à nouveau un message en appuyant 2 fois de suite sur entrée

http://img15.hostingpics.net/pics/764881Sanstitre.png
0
Mattofficiel Messages postés 14 Date d'inscription mercredi 18 mai 2016 Statut Membre Dernière intervention 19 mai 2016
18 mai 2016 à 15:48
C'est de ma faute : il n'y a pas de .exe dans le répertoire spécifié mais dans plusieurs sous-dossier.

Est-il possible d'améliorer ce code en ajoutant aussi TOUS les sous dossiers ?
0
Fenrisulfr01 Messages postés 17 Date d'inscription mardi 17 mai 2016 Statut Membre Dernière intervention 19 mai 2016 6
18 mai 2016 à 15:52
C'est ce qu'est censé faire le -recurse à la suite de ls.
Est ce que vous pouvez faire
ls *.exe* -recurse
et faire un screen du résultat ?
0
Mattofficiel Messages postés 14 Date d'inscription mercredi 18 mai 2016 Statut Membre Dernière intervention 19 mai 2016
18 mai 2016 à 15:59
Même message

http://img15.hostingpics.net/pics/750853Sanstitre.png
0
Fenrisulfr01 Messages postés 17 Date d'inscription mardi 17 mai 2016 Statut Membre Dernière intervention 19 mai 2016 6
18 mai 2016 à 16:06
Faites juste
ls *.exe* -recurse
en dehors du bloc.
Je voudrais m'assurer s'il trouve des choses
0
Mattofficiel Messages postés 14 Date d'inscription mercredi 18 mai 2016 Statut Membre Dernière intervention 19 mai 2016
18 mai 2016 à 16:11
Juste taper
ls *.exe* -recurse


Ça ne fait rien, voila le résultat :

PS C:\Users\User> ls *.exe* -recurse
PS C:\Users\User>
0
Fenrisulfr01 Messages postés 17 Date d'inscription mardi 17 mai 2016 Statut Membre Dernière intervention 19 mai 2016 6
18 mai 2016 à 16:23
Ok ensuite, taper :
cd "C:\Program Files (x86)\Common Files\Gestionnaire d'installation SOLIDWORKS"
ls -recurse


Et vérifier s'il sort des fichiers .exe
0
Mattofficiel Messages postés 14 Date d'inscription mercredi 18 mai 2016 Statut Membre Dernière intervention 19 mai 2016
18 mai 2016 à 16:27
Il me liste a priori tout les fichiers présent dans C:\Program Files (x86)\Common Files\Gestionnaire d'installation SOLIDWORKS

Les DLL, .exe, .htm, .gif, .... ETC
0
Mattofficiel Messages postés 14 Date d'inscription mercredi 18 mai 2016 Statut Membre Dernière intervention 19 mai 2016
18 mai 2016 à 16:34
... et tout les fichiers des sous-dossiers
0
Fenrisulfr01 Messages postés 17 Date d'inscription mardi 17 mai 2016 Statut Membre Dernière intervention 19 mai 2016 6
18 mai 2016 à 16:35
Et si à la suite vous faites
ls *.exe -recurse

Il sort des choses ?
0
Mattofficiel Messages postés 14 Date d'inscription mercredi 18 mai 2016 Statut Membre Dernière intervention 19 mai 2016
18 mai 2016 à 16:38
Aucun listing

PS C:\Users\User> cd "C:\Program Files (x86)\Common Files\Gestionnaire d'installation SOLIDWORKS"
PS C:\Program Files (x86)\Common Files\Gestionnaire d'installation SOLIDWORKS> ls *.exe -recurse
PS C:\Program Files (x86)\Common Files\Gestionnaire d'installation SOLIDWORKS>
0
Mattofficiel Messages postés 14 Date d'inscription mercredi 18 mai 2016 Statut Membre Dernière intervention 19 mai 2016
19 mai 2016 à 11:11
Avez-vous une piste ?
0
Fenrisulfr01 Messages postés 17 Date d'inscription mardi 17 mai 2016 Statut Membre Dernière intervention 19 mai 2016 6
19 mai 2016 à 11:39
Ben là s'il a rien ressorti la dernière fois c'est qu'il n'y a pas d'exe dans les sous-dossiers.
Vous me confirmez que vous en avez en cherchant directement dans l'explorateur windows ?
0
Mattofficiel Messages postés 14 Date d'inscription mercredi 18 mai 2016 Statut Membre Dernière intervention 19 mai 2016
19 mai 2016 à 11:52
Oui j'ai bien des .exe dans différents sous-dossiers de C:\Program Files (x86)\Common Files\Gestionnaire d'installation SOLIDWORKS

Je pense que la commande
ls *.exe -recurse
ne marche pas.

Par contre la commande
 cd "C:\Program Files (x86)\Common Files\Gestionnaire d'installation SOLIDWORKS"
ls -recurse
fonctionne bien.

Voici une capture d'une parti du résultat de la commande ci-dessus ou l'on remarque qu'il ressort bien en autre des .exe

http://img15.hostingpics.net/pics/934668Sanstitre.png

Merci !
0
Mattofficiel Messages postés 14 Date d'inscription mercredi 18 mai 2016 Statut Membre Dernière intervention 19 mai 2016
19 mai 2016 à 11:55
Nous avançons : quand je tape la commande
cd "C:\Program Files (x86)\Common Files\Gestionnaire d'installation SOLIDWORKS\CheckForUpdates"
ls *.exe -recurse
il me trouve bien les .exe de ce dossier, mais seulement ce dossier, il ne va pas plus loin
0
Fenrisulfr01 Messages postés 17 Date d'inscription mardi 17 mai 2016 Statut Membre Dernière intervention 19 mai 2016 6
19 mai 2016 à 12:00
ok, il y a des choses étranges qui se passent :)
On va essayer autre chose.
Dans le dossier solidworks :
ls * -recurse | where {$_.name -like "*.exe"}
0
Mattofficiel Messages postés 14 Date d'inscription mercredi 18 mai 2016 Statut Membre Dernière intervention 19 mai 2016
19 mai 2016 à 12:06
ok la commande
cd "C:\Program Files (x86)\Common Files\Gestionnaire d'installation SOLIDWORKS"
ls * -recurse | where {$_.name -like "*.exe"}


marche parfaitement, il me trouve tous les .exe de tout les sous-dossiers compris dans C:\Program Files (x86)\Common Files\Gestionnaire d'installation SOLIDWORKS
à savoir 7 .exe
0
Fenrisulfr01 Messages postés 17 Date d'inscription mardi 17 mai 2016 Statut Membre Dernière intervention 19 mai 2016 6
19 mai 2016 à 12:14
C'est déjà une bonne chose.
Le bloc devient donc

cd "C:\Program Files (x86)\Common Files\Gestionnaire d'installation SOLIDWORKS"
$appli = ls * -recurse | where {$_.name -like "*.exe"}
foreach ($app in $appli)
{
$name = $app.name
netsh adv firewall add rule name=$name dir=out action=block program=$app.fullpath
}

0
Mattofficiel Messages postés 14 Date d'inscription mercredi 18 mai 2016 Statut Membre Dernière intervention 19 mai 2016
19 mai 2016 à 12:21
Ok, il prend bien en compte la commande et bloque bien les 7 .exe ; j'ai 7 fois OK (les règles sont bien ajoutées dans le pare-feu) mais ne marche pas.

En effet les .exe se connectent toujours au net et le chemin me parait erroné. Voir capture :

http://img15.hostingpics.net/pics/874902Sanstitre.png
0