Cherche FIREWALL pouvant fonctionner en mode "bloquer tout sauf..."

Bonjour à tous,

Je voudrais me connecter au Net en Wifi à partir d’un PC portable, mais avec la contrainte suivante :

je tiens à avoir un mode “bloquer tout sauf…” : je m’explique, je voudrais que tout traffic sortant soit bloqué à l’exception d’un seul programme : Firefox par exemple…

Cela implique donc que tous les autres programmes installés sur mon PC ne puissent plus communiquer avec le Net : cela ne me semble pas si simple a priori vu que -par exemple- :

  • beaucoup de programmes ont une fonction “vérifier les Mises A Jour” et accèdent au Net automatiquement pour proposer le cas échéant une nouvelle version d’un logiciel
  • idem pour Windows via “Windows Update”…
  • … les 2 cas ci-dessus, c’est pour ce que je connais, mais il y a peut-etre de nombreux autres moments où un PC communique avec le Net sans qu’on le sache : je veux que tout, absolument tout se trafic cesse… Bref, aucune fuite !

Je me suis dit que ce genre de tache devrait pouvoir etre confiée à un firewall, mais lequel ???
Je n’y connais pas grand chose en la matière. Pour info, j’ai actuellement “Comodo Internet Security” qui assume les fonctions d’Anti-virus, de Firewall, d’HIPS… (à voir ici : http://www.comodo.com/home/internet-security/free-internet-security.php
)
…j’y trouve bien “Bloquer tout”, puis “Mode personnalisé”… mais rien du genre “tout bloquer sauf…”

Merci d’avance de vos lumières, et bonne fin de week-end…

Bonjour Kipix,

Il me semble que Zone Alarm propose ce mode sauf qu’il bloque toute connection internet soit en faisant un clique droit sur l’icone de la zone de notification et “Stop all Internet activity” ou dans le menu de Z-A :

[Photo supprimée]

EDITION : Tu peux choisir le programme à laisser passer lorsque tu bloques tout je pense. A tester.

|Phoebius|
Edité le 21/02/2011 à 18:45

Salut |Phoebius|,

Et merci pour ta réponse, mais si Zone Alarm “bloque toute connection internet”, il m’empechera du meme coup d’utiliser Firefox (programme choisi dans mon exemple)… Il ne me faut donc pas une fonction du type "“bloquer tout” mais plutot “bloquer tout sauf

Si par contre -comme tu l’ajoutes en fin de réponse- il est possible “choisir le programme à laisser passer lorsque tu bloques tout”, là ça devient intéressant… Quelqu’un a-t-il essayé cela avec ZA ?
Edité le 26/02/2011 à 20:55

En réalité dans Zone Alarm il est écrit lorsque tu vas dans le menu “Program Control” --> “Main” et que tu cliques sur “Custom” (j’ai une version anglaise) : “Allow pass-lock programs to access the internet” Traduction --> Permettez aux programmes d’avoir accès à internet (ce qui me semble étrange puisqu’on est dans un menu censé bloquer toute connexion internet…).
Après cela signifie qu’il faudrait bloquer toute les permissions dans ce mode et laisser juste un programme ce qui serait long.

Voici une capture d’écran de ce menu :

[Photo supprimée]

|Phoebius|

Salut,

De base un pare-feu logiciel de bloque pas tout ? Et c’est au fur et à mesure que l’on accepte les connexions. Non ?

En tout cas c’est le principe de base d’un Firewall :neutre:

Le Firewall de windows (Vista/Seven) propose ça en le configurant (simplement) pour…
Pas besoin de logiciel tiers.

Sinon tu peu prendre un Netask mais c’est chère ^^

Bonjour,

Comme dit plus haut, le pare-feu de Windows le permet. Encore mieux si tu possède un contrôleur de domaine 2008 (physique ou en virtuel pour ton usage personnel), plus souple en terme de gestion.

Sinon, tu peux également déployer un firewall open-source. Les règles de filtrage à mettre en place sont très simples mais requiert de se renseigner sur la syntaxe. Une GUI pourrait te faciliter ces définitions d’accès.

A savoir : on gère ces autorisation hiérarchiquement, c-à-d on interdit tout, et on autorise petit à petit selon les besoins.

Par exemple :

# on interdit tout traffic.
IPTABLES -P INPUT DROP
# on test la bonne prise en compte de cette règle en effectuant un ping qulconque qui doit renvoyer : ping : sending : Operation not permitted

Par la suite pour faire tes tests, le mieux est d’utiliser un script pour éviter d’avoir des redondances ou des conflits, puisque tes règles entrées s’accumulent. Un exemple :

#!/bin/bash

#Vider la table nat
iptables -t nat -F  POSTROUTING
iptables -t nat -F  PREROUTING

#Vider la table de filtrage
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD
###################################################
#Bloquer tous les accès avec des policy
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
###################################################
#Autorisation de la boucle locale en Entree/Sortie
iptables -I INPUT -i lo -j ACCEPT
iptables -I OUTPUT -o lo -j ACCEPT
###################################################

#Filtrage d'accès
###################################################
#Exemple d'une règle autorisant un sous-réseau 10.53.1.0/24 sur l'interface eth0 à contacter un serveur web local sur l'interface eth1 :

iptables -I FORWARD -i eth1 -o eth0 -p tcp -s 10.53.1.0/24 --sport 1023: -d 10.254.0.254/32 --dport 80 -j ACCEPT

################################################
#Exemple d'une règle autorisant le sous-réseau précédant à accéder à Internet. /!\ au préalable, il faut autoriser le trafic DNS avec une autre règle /!\ :
iptables -I FORWARD -i eth1 -o eth0 -p tcp -s 10.53.1.0/24 --sport 1023: --dport 80 -j ACCEPT

#On autorise les machines de se sous-réseau à poursuivre une connection initialisée à l'aide des attributs r[b]elated[/b]=initiée et [b]esthablished[/b]= établie. Ici, on autorise notre sous-réseau situé sur eth0 à poursuivre la connection avec le serveur WEB local situé sur eth1 :
iptables -I FORWARD -i eth0 -o eth1 -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT


Aussi, pour permettre une connectivité de ton site local vers l’extérieur, et pour rendre une machine (ici, serveur WEB local) accessible depuis l’extérieur, il faut mettre en œuvre du NAT (translation d’adresse) :

#NAT

#Sous-réseau 10.53.1.0/24 naté sur Internet :
iptables -t nat -I POSTROUTING -o eth0 -s 10.53.1.0/24 -j MASQUERADE

#Internet autorisé à contacter le serveur WEB local :
iptables -t nat -I PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to \ 10.53.2.2:80

En espérant que ces dfinitions puissent servir à quelqu’un :slight_smile:
Leur mise en place n’est pas très compliquée, et la syntaxe se comprend facilement. Une machine Linux (base Debian par exemple) serait facile à prendre en main, et une commande man iptables te donnerait beaucoup d’informations sur les syntaxe détaillée ci-dessus. Tout est une question de logique : -i -> inpu t= interface d’entrée, -o -> outpout = interface de sortie, etc…

Bon courage!
Edité le 30/03/2011 à 11:45

:super: oh oui ca j’approuve !!

et si vous avez un soucis:

man iptables :wink: