MàJ 2024 : ce logiciel n'a pas été mis à jour depuis 2013. Cet article date d'avant.
Il suffit de se rendre dans vos dépots Linux, ou sur le site de FirewallBuilder. Des fichiers RPM sont disponibles pour une installation rapide. Le plus simple étant encore d'utiliser les dépots.
Si aucune icône n'a été créée, il suffit de créer un raccourci pointant vers fwbuilder
. C'est le nom de la commande.
ATTENTION : Je précise que la présente page n'est que pure fiction et n'a jamais été testée grandeur nature. Les ordinateurs, les adresses IP et les adresses MAC sont purement imaginaires et ne relèvent d'aucune réalité ! L'objectif est de présenter via un exemple concret les principes qu'ils m'ont parus nécessaires pour savoir utiliser FirewallBuilder. Prenez vos responsabilités avant de faire quoi que ce soit ! D'ailleurs, l'interface loopback n'est pas traitée : vous serez vites coupés du monde...
Le schéma réseau qui sera étudié est le suivant :
Tous les serveurs portent des noms de catcheurs américains évoluant à la "World Wrestling Entertainment" (WWE). Il va falloir s'y faire, je n'ai pas trouvé mieux sur le moment pour faire homogène.
On branche :
La DMZ signifie "zone démilitarisée" qui contient jimmy_wang_yang et mr_kennedy. Le LAN désigne la "Local area network", donc undertaker, finlay, mvp et mccool.
Je suppose que vous êtes en mesure de configurer les paramètres IP de chacune des machines en fonction des données du plan. Ainsi, chaque PC est identifié sur le réseau.
Par la suite, "switch/hub" sera assimilé à "switch" tout court. Un hub est un ensemble de prises sur lesquelles les informations réseau sont entièrement répliquées. Un switch ne réplique les données que sur la prise du client destinataire. Ainsi, si un mail vous est destiné, avec un switch, vous êtes sûr que vous êtes le seul à le recevoir, car il n'est pas répliqué sur les autres prises (qui normalement auraient ignoré les données ne les concernant pas). C'est pour cela qu'un tel équipement est préconisé, même si les deux peuvent se ressembler. Consultez vos notices !
Il faut savoir que les PC connectés sur le même switch/hub peuvent communiquer comme bon leur semble. Si nos serveurs web et mails étaient sur ce réseau, ils recevraient beaucoup de travail inutile et certaines actions ne pourraient pas être contrôlées. De même, le trafic du serveur web pourrait compromettre la sécurité de votre réseau privé. Mettre un parefeu, c'est mettre un intermédiaire pour faire la "police", mot qui se dira "policy" ou "rule" par la suite.
Ainsi, le parefeu va router les données du réseau vers les bonnes machines. Il est alors possible d'avoir plusieurs serveurs derrière la même adresse IP. Une freebox vous en alloue qu'une seule. En avoir plusieurs se monnaye, car dans le monde, il n'y en a pas beaucoup de disponible. C'est donc un bon investissement pour mettre en place des serveurs tout en permettant à votre réseau domicile d'acccéder à Internet.
Pour être très précis, c'est un firewall de niveau 2 et 3. Cela signifie qu'on vérifie juste qui veut parler à qui sans contrôler le contenu. Des outils commerciaux fonctionnant jusqu'au niveau 7 de la couche OSI vous permettra d'éviter que des petits malins fassent de l'IRC sur les mails, et de l'HTTP sur le canal SSH. Souvent, c'est une parade pour passer les parefeux : utiliser un autre port de communication.
Par contre, il ne faut pas mettre trop de routeurs, car ça peut vite coûter très cher. Surtout si on est en entreprise où il faut de gros routeurs puissants, limite de type "backbone".
Maintenant qu'on a isolé, il faut permettre la communication au strict nécessaire.
ATTENTION : double-cliquez sur ETH0 et cochez la case "This interface is external", Apply (sera utile pour le NAT)
Il faut comprendre la distinction entre réseau et broadcast.
Ces adresses dépendent du masque réseau choisi. Ainsi pour 192.168.0.1 ayant pour masque 255.255.0.0, le réseau est l'IP qui finit par 0.0, le broadcast est l'IP qui finit par 255.255. En conséquence, les ordinateurs de ce réseau ont des IP comprises entre 0.1 et 255.254. Par principe, la première IP assignable est réservée à la passerelle. C'est pour cela que sur ETH1, torrie_wilson porte l'IP 192.168.0.1
Les paramètres internes du firewall doivent être réglés. Double-clic sur torrie_wilson, puis "Configuration de l'OS de l'hôte". Une fois fini, cliquer sur Apply.
Vous cliquez sur "Hosts" et vous appliquez la même méthode pour référencer dans le logiciel les ordinateurs que nous utiliserons plus tard : adresse IP, masque de réseau, adresse MAC.
On va définir des ensembles d'ordinateurs. Comme les ordinateurs d'un même réseau ont le même comportement, il est logique de les regrouper pour ne pas avoir à dupliquer toutes les règles de police.
Allez dans "Groups", clic droit, Nouveau groupe. Sur la page de droite donnez un nom. Depuis l'arbre à gauche, prenez les "Hosts" qui vous intéressent et faites les glisser dans le cadre blanc du groupe sous les boutons "I" et "L". Apply.
Il y a trois manières de faire des groupes :
Créez ainsi : DMZ, Internet et LAN.
Cela va permettre d'identifier toutes les machines d'un réseau, sans avoir à les énumérer une par une (cf. précédent paragraphe).
Networks, clic droit, Nouveau réseau
Un ordinateur est susceptible de recevoir des requètes. Pour ne pas avoir à les traiter dans le même sac, on en propose plusieurs (65535 précisément). Tous sont numérotés. Ainsi le client qui souhaite en retour des services, doit déposer sa demande dans le bon panier. C'est le principe des "ports de communication".
On distingue :
C'est ainsi que nous avons :
Pour chaque élément de la liste ci-dessus, dans TCP et UDP, clic droit, Ajouter service, donner un nom, remplir "Plage de ports de destination - Start + End" avec le numéro du port, Apply.
Il est possible de faire des groupes comme précédemment. Par exemple : les mails qui contiennent SMTP, POP3 et IMAP.
Oui, il est possible de filtrer selon les horaires, les jours de la semaine et de l'année.
Après le passage obligé qu'est le référencement des ressources, intéressons maintenant à la partie la plus constructive, mais aussi la plus délicate.
Avant d'autoriser ou d'interdire des traffics, il convient de dire au firewall ce qu'il faut faire pour transporter les paquets d'un réseau à un autre. En effet, avec 3 cartes réseaux, torrie_wilson doit pouvoir réagir facilement et vite. On va ajouter des routes qui sont à l'informatique, ce qu'elles sont aussi à l'automobile.
On va dans l'onglet "Routing".
Avec des clics droits dans la marge, on fait "Ajouter une règle ci-dessous". Il n'y a plus qu'à glisser depuis l'arbre à gauche les élements dans les cases des lignes de droite. C'est en ça que FirewallBuilder est un outil puissant !
Dans notre exemple, il faut comprendre :
Il y a plusieurs modes de fonctionnement :
Le sens ENTRANT ou SORTANT est donné par rapport au firewall. Une sollicitation d'un réseau sera ENTRANT. Si le parefeu veut informer le réseau, le sens est alors SORTANT.
L'onglet "Politique" se pilote comme "Routing", c'est-à-dire à l'aide de glisser-déposer et de clics droits dans la marge.
ATTENTION : dans les captures, mr_kennedy et finlay sont des noms de PC et non une IP. C'est juste que les captures ne sont pas totalement à jour. Mais l'esprit est là, à vous d'affiner vos besoins.
Bloquer tous les trafics : de TOUT vers TOUT par n'importe quel PROTOCOLE via n'importe quelle CARTE RESEAU dans le sens ENTRANT est REFUSE
Autoriser le réseau local à consulter ses mails sur jimmy_wang_yang : le réseau LAN se connectant sur ETH1 en sens ENTRANT pour lire ses MAILS sur JIMMY_WANG_YANG sont AUTORISES mais avec IPLIMIT=2 (donné en option)
Autoriser le réseau local à récupérer ses mails sur des boîtes externes : le réseau LAN se connectant sur ETH1 en sens ENTRANT pour récupérer ses mails par POP3 sur INTERNET sont AUTORISES mais avec IPLIMIT=2 (donné en option)
Permettre l'accès au serveur web et IRC : QUICONQUE se connectant QUELQUEPART en sens ENTRANT pour voir une PAGE WEB ou joindre un CANAL DE DISCUSSION sur MR_KENNEDY sont AUTORISES mais avec IPLIMIT=2 (donné en option)
Permettre à la DMZ d'accéder au net pour pouvoir se mettre à jour : la DMZ se connectant par HTTP(S) ou FTP sur INTERNET via ETH2 en sens ENTRANT est AUTORISEE sans restriction de nombre de connexion par ip
Internet à la maison matin et soir seulement : le LAN se connectant par HTTP(S) ou FTP sur INTERNET via ETH1 en sens ENTRANT est AUTORISE quand nous ne sommes PAS EN JOURNEE avec une limitation de IPLIMIT=2 (donné en option)
Administrer la DMZ en SSH depuis un poste : l'administrateur FINLAY se connectant par SSH sur la DMZ via ETH1 en sens ENTRANT est AUTORISE sans limite
Isoler un ordinateur des autres réseaux : le dead-man UNDERTAKER se connectant QUELQUEPART de QUELQUE MANIERE QUE CE SOIT via ETH1 est REFUSE A TOUT MOMENT AVEC ACCUSE
En tatônnant et en enchaînant les règles, on peut débloquer les services.
NAT signifie "Network address translation" et permet de faire "correspondre les adresses IP internes non-uniques et souvent non routables d'un intranet (ou réseau local) à un ensemble d'adresses externes uniques et routables" (Wikipédia). En effet, l'IP de ma freebox est publique donc facilement atteignable. Ce n'est pas le cas de mr_kennedy dont l'IP 10.1.1.1 est disponible à la maison, chez celle du voisin et du gardien s'ils ont aussi une armée d'ordinateurs en leur main. En assignant mes serveurs locaux à mon IP publique, je résoud le soucis : c'est le firewall qui se débrouille grâce aux règles de police et les routes !
ATTENTION : pour éviter le bug "Error: At least one interface should be marked as external, can not configure NAT", il faut dire que ETH0 de torrie_wilson est une interface externe (voir plus haut sur l'Ajout d'un firewall), car elle est en intéraction avec la freebox.
Dans notre exemple, on aura besoin du NAT, car notre DMZ n'est pas constituée d'adresses IP appartenant au réseau de la Freebox. Rassurons-nous, ça ne change strictement rien, à part un aspect technique caché.
Depuis le début, mon parefeu est totalement transparent, car il gère la circulation (et son entrave si les droits ne sont pas requis !). Que ce soit mr_kennedy qui dise au parefeu qui va répéter sur Internet, ou que le parefeu parle tout court à Internet, en retour, c'est bien Internet qui va répondre à torrie_wilson qui aura la délicate astuce de tout balancer à mr_kennedy pour savoir quoi faire.
Notre NAT se configure comme pour les autres onglets.
On lit tout simplement :
Un firewall étant un élément maître, il convient de ne pas faire d'erreur de configuration.
Enregistrez votre projet, clic droit sur torrie_wilson, Compiler, Next.
Si la compilation est un succès, un fichier FW a du être créé dans le même dossier que le projet. Il suffit alors de se loger en root (commande SU dans une console), puis de lancer le script à l'aide de "sh script.fw
".
Selon votre ordinateur, il faudra installer plus précisément le script de manière à ce qu'il soit automatiquement lancé au démarrage. Mais là, c'est plus compliqué... Le site de FirewallBuilder vous donne quelques astuces.
Naturellement, rien ne fonctionnera au premier coup. Il suffira de modifier les règles dans FirewallBuilder et de relancer la compilation. Bien souvent, le problème est une non circulation de paquets à cause de routes malformées, de règles de police erronées, ou un enchaînement de conditions qui se contredisent.
En espérant que ce document ne vous aura pas appris de bêtises. En tout cas, FwBuilder est l'outil rêvé pour configurer IPTABLES. Vu comment ce fut dûr, heureusement qu'il existe des interfaces graphiques :D
Dernière modification le 3 octobre 2024 à 11:49