web-dev-qa-db-fra.com

Pare-feu Windows - comment bloquer les entrées pour tous les fichiers .exe d'un dossier

Dans le pare-feu Windows avec paramètres avancés, je peux créer une règle qui bloque tout le trafic entrant ou sortant pour un programme particulier en pointant son fichier .exe. Le problème est que ce programme a de nombreux fichiers .exe dans son répertoire, ainsi que des fichiers supplémentaires dans ses sous-répertoires.
Ma question est donc la suivante: dois-je créer des règles distinctes pour chaque fichier .exe, ce qui dans ce cas signifierait environ 50 règles? Ou existe-t-il un moyen de bloquer le trafic pour un groupe de fichiers .exe en fonction de leur emplacement sur le disque dur local?

25
Alex Popov

Vous pouvez utiliser un fichier batch simple. Ouvrez le Bloc-notes et copiez/collez le script ci-dessous dans un document vierge. Enregistrez le fichier sous BLOCKALL.BAT. Copiez maintenant ce fichier dans le même répertoire que les EXE que vous souhaitez bloquer et double-cliquez dessus. Il ajoutera des règles sortantes aux paramètres avancés du Pare-feu Windows bloquant également tous les EXE de ce dossier et de ses sous-dossiers.

Il est testé avec Windows 7, mais il devrait fonctionner avec d'autres versions de Windows qui utilisent le pare-feu Windows.

NOTE : le lot démarre lui-même dans system32. Vous devez donc l'ajouter avec cd /d "%~dp0" pour le faire fonctionner dans le répertoire courant.

Le script résultant serait le suivant:

@ setlocal enableextensions 
@ cd /d "%~dp0"

for /R %%a in (*.exe) do (

netsh advfirewall firewall add rule name="Blocked with Batchfile %%a" dir=out program="%%a" action=block

)
29
Lardzor

* Configurer et ajouter des règles dans le pare-feu Windows en fonction du contenu dynamique (fichiers exe) dans ce dossier: *

vous devez travailler avec PowerShell ou des outils de ligne de commande qui s'exécutent tous les jours.

comme ceci: Lien article

function Add-FirewallRule {
   param( 
      $name,
      $tcpPorts,
      $appName = $null,
      $serviceName = $null
   )
    $fw = New-Object -ComObject hnetcfg.fwpolicy2 
    $rule = New-Object -ComObject HNetCfg.FWRule

    $rule.Name = $name
    if ($appName -ne $null) { $rule.ApplicationName = $appName }
    if ($serviceName -ne $null) { $rule.serviceName = $serviceName }
    $rule.Protocol = 6 #NET_FW_IP_PROTOCOL_TCP
    $rule.LocalPorts = $tcpPorts
    $rule.Enabled = $true
    $rule.Grouping = "@firewallapi.dll,-23255"
    $rule.Profiles = 7 # all
    $rule.Action = 1 # NET_FW_ACTION_ALLOW
    $rule.EdgeTraversal = $false

    $fw.Rules.Add($rule)
}
# Sample Usage
Add-FirewallRule "Test port 1234" "1234" $null $null
Add-FirewallRule "Test port 5555-6666" "5555-6666" $null $null
Add-FirewallRule "Test port 2222 Calc" 2222 "c:\windows\system32\calc.exe" $null
Add-FirewallRule "Test port 3333 W3SVC" 3333 $null "W3SVC"

Il y a aussi de bons exemples VBScript sur MSDN que j'ai utilisés comme point de départ.

[~ # ~] mais [~ # ~] vous a recommandé d'ajouter un pare-feu ou un proxy dans Edge de votre réseau, comme EST UN ou CALMAR pour tout votre trafic entrant dans votre réseau local.

ouvrez ISA Server Management, cliquez sur Démarrer, pointez sur Tous les programmes, pointez sur Microsoft ISA Server, puis cliquez sur ISA Gestion du serveur.

Bloquer les réponses contenant du contenu exécutable Windows visitez cette Article ici

To block responses containing Windows executable content 

 1. In the console tree of ISA Server Management, click Firewall Policy.


 2. In the details pane, click the applicable access rule or Web
        publishing rule.
 3. On the Tasks tab, click Edit Selected Rule.
 4. On the Traffic tab (for Web publishing rules) or on the Protocols
        tab (for access rules), click Filtering, and then click Configure
        HTTP.
 5. On the General tab, click Block responses containing Windows
        executable content.

dans notre réseau qui, basé sur les fenêtres, nous avons un serveur de cache nommé SQUID:

Squid filtrage de conten : Bloquer/télécharger de la musique MP3, mpg, mpeg, fichiers exécutables

  1. Premier fichier squid.conf ouvert /etc/squid/squid.conf:

    vi /etc/squid/squid.conf

  2. Ajoutez maintenant les lignes suivantes à votre section ACL Squid:

    acl blockfiles urlpath_regex "/etc/squid/blocks.files.acl"

  3. Vous souhaitez afficher un message d'erreur personnalisé lorsqu'un fichier est bloqué:

    Refuser toute extension bloquée

    deny_info ERR_BLOCKED_FILES fichiers de blocs

    http_access deny blockfile

5

Firewall App Blocker (Fab) a ajouté une fonctionnalité pour bloquer tous les fichiers exécutables d'un dossier dans la version 1.5. Vous pouvez choisir entre les règles entrantes et sortantes.

Fab options

3
user598527

Si les fichiers .exe se trouvent dans le même dossier, vous pouvez probablement les ajouter dans la liste du pare-feu Windows. S'ils se trouvent dans des dossiers différents, vous devez les ajouter manuellement. En général, le pare-feu demandera la permission de l'utilisateur si un fichier .exe tente d'accéder au réseau, c'est-à-dire qui n'est pas reconnu comme une application de confiance.Mais il ne suivra pas quels sont les exe individuels qui sont appelés tour à tour par ce processus.Vous pouvez désactiver tous les ports ou des ports spécifiques.

En général, le pare-feu Windows n'est pas ma recommandation, sauf si vous mettez à jour vos fenêtres tous les jours.Utilisez l'édition gratuite de Comodo pour avoir un meilleur contrôle et il peut être facilement configuré.

1
Madusudanan