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

Résolu
Matt -  
Fenrisulfr01 Messages postés 17 Statut Membre -
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

  1. Fenrisulfr01 Messages postés 17 Statut Membre 7
     
    Non, il n'accepte pas d'avoir dir=in et dir=out.
    Toutefois vous pouvez refaire l'ensemble en laissant juste dir=in.
    3
    1. Mattofficiel Messages postés 14 Statut Membre
       
      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
  2. Fenrisulfr01 Messages postés 17 Statut Membre 7
     
    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
    1. Matt
       
      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
  3. Fenrisulfr01 Messages postés 17 Statut Membre 7
     
    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
    1. Mattofficiel Messages postés 14 Statut Membre
       
      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
  4. Fenrisulfr01 Messages postés 17 Statut Membre 7
     
    Ok impeccable.

    Bonne journée
    1
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Fenrisulfr01 Messages postés 17 Statut Membre 7
     
    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
    1. Matt
       
      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
  7. Fenrisulfr01 Messages postés 17 Statut Membre 7
     
    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
    1. Matt
       
      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
  8. Fenrisulfr01 Messages postés 17 Statut Membre 7
     
    Oui en effet, je veux bien une capture.
    Merci
    0
    1. Matt
       
      http://img15.hostingpics.net/pics/480751Sanstitre.png
      0
  9. Fenrisulfr01 Messages postés 17 Statut Membre 7
     
    Appuyez une ou deux fois sur entrée.
    Vous devriez avoir des "ok" ou des erreurs.
    0
    1. Matt
       
      En appuyant sur entrée j'ai juste ceci qui apparaît à chaque "entrée"

      >>
      >>
      >>
      0
    2. Matt
       
      J'ai eu une erreur, je vous poste le screen de suite
      0
    3. Matt
       
      http://img15.hostingpics.net/pics/958061Sanstitre.png
      0
  10. Fenrisulfr01 Messages postés 17 Statut Membre 7
     
    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
    1. Mattofficiel Messages postés 14 Statut Membre
       
      Merci,

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

      http://img15.hostingpics.net/pics/764881Sanstitre.png
      0
    2. Mattofficiel Messages postés 14 Statut Membre
       
      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
  11. Fenrisulfr01 Messages postés 17 Statut Membre 7
     
    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
    1. Mattofficiel Messages postés 14 Statut Membre
       
      Même message

      http://img15.hostingpics.net/pics/750853Sanstitre.png
      0
  12. Fenrisulfr01 Messages postés 17 Statut Membre 7
     
    Faites juste
    ls *.exe* -recurse
    en dehors du bloc.
    Je voudrais m'assurer s'il trouve des choses
    0
    1. Mattofficiel Messages postés 14 Statut Membre
       
      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
  13. Fenrisulfr01 Messages postés 17 Statut Membre 7
     
    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
    1. Mattofficiel Messages postés 14 Statut Membre
       
      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
    2. Mattofficiel Messages postés 14 Statut Membre
       
      ... et tout les fichiers des sous-dossiers
      0
  14. Fenrisulfr01 Messages postés 17 Statut Membre 7
     
    Et si à la suite vous faites
    ls *.exe -recurse

    Il sort des choses ?
    0
    1. Mattofficiel Messages postés 14 Statut Membre
       
      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
    2. Mattofficiel Messages postés 14 Statut Membre
       
      Avez-vous une piste ?
      0
  15. Fenrisulfr01 Messages postés 17 Statut Membre 7
     
    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
    1. Mattofficiel Messages postés 14 Statut Membre
       
      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
    2. Mattofficiel Messages postés 14 Statut Membre
       
      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
  16. Fenrisulfr01 Messages postés 17 Statut Membre 7
     
    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
    1. Mattofficiel Messages postés 14 Statut Membre
       
      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
  17. Fenrisulfr01 Messages postés 17 Statut Membre 7
     
    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
    1. Mattofficiel Messages postés 14 Statut Membre
       
      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