Configurer le Coupe-feu de Jaguar
Beaucoup d’entre vous savent déjà que Jaguar, Mac OS X 10.2, intègre un coupe-feu. Avec la volonté de garder les choses simples, Apple offre la possibilité basique de configurer ce coupe-feu via l’interface GUI des Préférences Systèmes, tout en étant silencieux sur son immense utilité et sur ce qu’il peut apporter.
Ce coupe-feu est appelé ipfw (Internet Protocol FireWall), il est sans aucun doute connu des utilisateurs Unix et Linux mais complètement étranger au monde Mac traditionnel. Nous allons changer cela. Ne laissez pas l’héritage Unix vous effrayer ; au contraire, laissez le vous motiver.
Le passé d’Unix est une chose formidable parce qu’il signifie que l’ensemble complet des fonctions d’ipfw a été testé et consolidé pendant des années par des professionnels de l’informatique. Résistez donc à l’urgence d’acheter un coupe-feu personnel parce que vous avez un coupe-feu éprouvé et réellement de niveau professionnel juste là sous votre nez.
Où ça sous mon nez ?
Pour décrire précisément où réside ipfw, nous allons utiliser l’application Terminal pour naviguer de maniière désinvolte dans le système de fichiers et sortir quelques commandes basiques via l’interface de ligne de commande. Si vous avez besoin d’une introduction au Terminal, n’hésitez pas à consulter l’article de Chris Stone “Learning the Terminal in Jaguar, Part 1” (Traduit par Project:Omega et consultable ici !). L’application ipfw réside dans un répertoire appelé /sbin, là où beaucoup d’autres commandes résident. Elles peuvent être consultées en lançant le Terminal et en tapant :
[bullit:~] cochella% ls -al /sbin/ipfw
Cela retournera quelque chose comme :
-r-xr-xr-x 1 root wheel 42340 Jul 27 21:24 ipfw
Notez que si vous n’incluez pas ipfw dans la commande ci-dessus, vous verrez un paquet d’autres commandes dans la liste, ce qui provoquera tout style d’excitations dans le genre “Qu’est ce que…”. Cela vaut le coup d’explorer tout ça plus tard, mais allez y sur la pointe des pieds quand vous le ferez.
Pour explorer les options des commandes ipfw (ou de toute autre commande), tapez la chose suivante pour faire apparaître les pages "man" d’ipfw ou pages du manuel.
[bullit:~] cochella% man ipfw
De nouveau, alors que je jus commence à couler, des pensées du genre “Comment est ce que je fais…” ou du genre “Et si…”. Ou peut-être que vous commencez à vous dire “Je ne pourrai jamais me servir de ça !”. Si tel est le cas, ne vous en faites pas ; les choses sont sur le point de beaucoup se simplifier.
Saisissons une autre commande pour voir comment ipfw est actuellement configuré. Notez que cela nécessite un accès root ou administrateur via la commande sudo. Un mot de passe root ou admin vous sera demandé, celui saisi lors de la configuration initiale de l’ordinateur. La commande sudo vous permet d’agir temporairement en tant qu’administrateur pour une commande spécifique.
[bullit:~] cochella% sudo ipfw list Password:
Vous verrez sûrement l’affichage suivant :
65535 allow ip from any to any
Un regarde rapide porté sur cet affichage permet de s’apercevoir que votre ordinateur va autoriser les accès IP “allow ip” (Internet Protocol) de tout ordinateur (”from any“) vers tout ordinateur (”to any“) pour tous les types de services (Web, FTP, etc…). C’est la configuration par défaut du coupe-feu. Le reste de cet article va :
- Implémenter une solution spécifique dans les Préférences Système.
- Vous aider à comprendre un peu plus les commandes
ipfwcomme celle du dessus. - Investiguer où les Préférences Systèmes pourraient être d’une petite aide et ce que l’on pourra faire avec.
Les Préférences Système de Jaguar
Les fonctions basiques du coupe-feu de Jaguar (ipfw) sont accessibles dans l’application Préférences Système. Lancez les Préférences et sélectionnez l’icône Partage dans la section Internet et Réseau. Il y a trois onglets principaux : Services, Coupe-feu et Internet, comme vous pouvez le voir sur la Figure 1.
L’onglet Services liste les services que vous pouvez offrir à partir de votre Macintosh, comme le Partage de Fichiers entre des ordinateurs Macintosh et Windows de votre réseau local. Les services tels que le Partage Web Personnel, la Connexion à distance et l’Accès FTP sont des services Internet permettant l’accès à votre ordinateur à partir d’un autre ordinateur via Internet, ce qui signifie à partir de n’importe quel ordinateur, n’importe où. Ce serait une situation effrayante si vous n’aviez pas un coupe-feu au bout des doigts !

Figure 1
Créons un scénario simple dont toute personne souhaiterait se servir : fournir un accès FTP (ou File Transfer Protocol) à partir d’un ordinateur domestique appelé bullit, à un ordinateur portable en déplacement.
Pour démarrer cette configuration, allez sous l’onglet Services de l’ordinateur domestique (Figure 1), sélectionnez le service Accès FTP, désélectionnez tous les autres services puis cliquez sur le bouton Démarrer. Cela va provoquer le démarrage du service FTP et l’affichage du message “D’autres personnes peuvent accéder à votre serveur FTP sur ftp://votre_adresse_ip” en bas de la fenêtre. Cette adresse IP ou nom-d’hôte est l’adresse à laquelle vous vous connecterez lorsque vous serez en déplacement.
Ensuite, cliquez sur l’onglet “Coupe-feu” comme illustré Figure 2. Remarquez que l’Accès FTP est déjà sélectionné. Du fait de l’avoir sélectionné sous l’onglet Services, c’est maintenant un service disponible pour la configuration du coupe-feu.
Maintenant, cliquez sur Démarrer dans le panneau Coupe-feu pour enclencher le coupe-feu et installer vos nouveaux réglages. Votre ordinateur va maintenant autoriser les connexions réseau entrantes au service FTP sélectionné. Remarquez que près du bouton Arrêter il y a un message indiquant “Cliquez sur Arrêter pour autoriser les communications de réseau en entrée avec tous les services et ports”. Cela veut dire que si le coupe-feu est arrêté, toute connexion entrante ou sortante sera autorisée, comme dans l’affichage de ipwf list du dessus. Actuellement, nous n’autorisons que les accès FTP.

Figure 2
A partir de votre ordinateur portable (que j’ai nommé ripple) connecté à Internet, vous devriez pouvoir ouvrir une connexion FTP à votre ordinateur domestique (appelé bullit) en utilisant l’adresse “votre_adresses_ip” ci-dessus (par exemple, 64.158.66.245). Tapez la commande suivante dans le Terminal sur l’ordinateur nommé ripple :
[ripple:~] cochella% ftp 64.158.66.245
Connected to 64.158.66.245.
220 64.158.66.245 FTP server (lukemftpd 1.1) ready.
On vous demandera alors votre code utilisateur et votre mot de passe. Ils correspondent à ceux de votre ordinateur domestique appelé bullit :
Name (64.158.66.245:cochella): cochella
331 Password required for cochella.
Password:
230-
Welcome to Darwin!
230 User cochella logged in.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>
Le prompt ftp> indique que vous êtes maintenant connecté et que vous pouvez lancer des commandes de transfert de fichiers à distance sur l’ordinateur bullit. Il y a plein d’applications FTP graphiques qui sont plus faciles à utiliser que la ligne de commande, mais ceci est un test rapide de notre connexion. (Astuce : vous pouvez aussi observer les pages du manuel FTP avec man ftp).
Maintenant que nous avons vérifié que nous pouvons nous connecter, jetons de nouveau un oeil à la liste des données d’ipfw en saisissant la commande suivante :
[bullit:~] cochella% sudo ipfw list Password:
Wouaaah ! Maintenant vous êtes devant tout un paquet de règles, telles que :
02000 allow ip from any to any via lo*
02010 deny ip from 127.0.0.0/8 to any in
02020 deny ip from any to 127.0.0.0/8 in
02030 deny ip from 224.0.0.0/3 to any in
02040 deny tcp from any to 224.0.0.0/3 in
02050 allow tcp from any to any out
02060 allow tcp from any to any established
02070 allow tcp from any to any 20-21 in
02080 allow tcp from any 20,21 to any 1024-65535 in
12180 reset tcp from any to any setup
12190 deny tcp from any to any
65535 allow ip from any to any
C’est le bon moment pour ouvrir le capot afin de voir ce que fait réellement ipfw. Même si vous n’avez jamais imaginé pouvoir saisir tout cela vous même, il est important de savoir ce qui se passe pour éventuellement corriger des problèmes ou effectuer quelques bidouilles dans le but de créer une configuration spéciale par vous même.
Sous le capot
Le coupe-feu ipfw intégré à Jaguar est appelé coupe-feu “stateful” (qui conserve dans un table d’états les connexions en cours), le plaçant ainsi dans la catégorie des coupe-feux les plus exhaustifs et les plus sécurisés. Une fois configuré correctement, les utilisateurs n’ont pas à craindre que quelque chose puisse arriver—ils sont en lieu sûr.
Vous avez peut-être remarqué qu’à côté de l’Accès TP dans le panneau des réglages du coupe-feu (Figure 2) il y avait une liste de nombres entre parenthèses comme ceci “20-21 ou 1024-65535 à partir de 20-21″. Ces nombres identifient les ports de votre ordinateur au travers desquels FTP envoie des données aller et retour entre deux ordinateurs, qui dans notre cas sont votre ordinateur domestique (bullit) et portable (ripple). La raison pour laquelle FTP utilise tant de ports est une longue histoire ; pour le moment, souvenez-vous seulement qu’il utilise les ports 20-21 et un paquet d’autres.
Si le “port” est une notion confuse, essayez d’imaginer que le dos de votre ordinateur est une passoire servant à égoutter des spaghettis. Chaque troou (ou port) a un numéro qui lui est assigné. Les différents services utilisés par votre ordinateur se servent de ces trous spécifiques. Par exemple, lorsque vous naviguer sur le Web, le trou numéro 80 est utilisé. Pour récupérer des mails POP, le trou numéro 110 est utilisé, et ainsi de suite. Pas de quoi fouetter un chat. Il y a 65535 trous—cela représente une grosse passoire.
Les coupe-feux font respecter un ensemble de règles qui allow (autorise) ou deny (refuse) le passage d’informations au travers de ces trous. Encore une fois, un concept simple. Dans notre exemple précédent, nous avons ouvert principalement les trous FTP 20-21. L’affichage de ipfw list donne une liste des règles que nous avons créées par notre réglage effectué dans les Préférences Systèmes.
Les règles sont appliquées du haut vers le bas, rendant ainsi l’ordre des règles important. Les règles ont la forme générale suivante :
[rule-number] [restriction, allow or deny] [protocol(usually ip or tcp)]
from [source computer] to [destination computer] [other options]
Initiallement, nous avons autorisé tous les accès avec la règle suivante :
02000 allow ip from any to any via lo*
Puis nous avons restreint ou refuser les accès en fermant les trous que nous ne souhaitions pas laisser ouverts. Notre réglage relatif à l’Accès FTP est reconnaissable par le règles 02070 et 02080, où les accès aux ports 20-21 sont autorisés. Cet accès est élargi par la règle 02080 qui autorise les ports 20-21 à utiliser une tranche de ports, 1024-65535. Les autres règles sont appliquées pour restreindre les accès entrants à votre ordinateur sur les autres ports tout en continuant à vous autoriser à utiliser ces ports pour des services sortants. Par exemple, nous souhaitons refuser que les gens puissent consulter des fichiers Web sur notre ordinateur, mais nous souhaitons par contre continuer à être capables de consulter d’autres sites Web.
Il y a plein d’autres commandes ipfw telles que ipfw add [rule] pour ajouter une règle, et ipfw flush pour installer des règles fraichement ajoutées. En plus, il y a un fichier log ipfw situé dans /var/log/system.log, que vous pouvez consulter et y chercher des tentatives d’intrusion rejetées.
Configurations Avancées
Jusque ici nous avons vu que le fait d’autoriser des accès à des services spécifiques utilisant des ports spécifiques est assez direct avec les Préférences Systèmes. Bien que cela soit vrai, il y a des situations où nous aurons peut-être besoin de réglages plus compliqués que ceux autorisés par les Préférences Systèmes.
Par exemple, nous pourrions souhaiter autoriser l’accès FTP seulement pour notre ordinateur de bureau, doté d’une adresse IP fixe telle que 165.22.12.123. Cela nécessiterait de n’autoriser les accès que pour cette adresse et de refuser les accès à toutes les autres, une légère modification apportée à l’exemple précédent. En y réfléchissant un peu, je suis sûr que vous pouvez imaginer plein d’autres situations du même genre.
Les Préférences Systèmes ne permettent pas d’effectuer de tels changements, mais ipfw est plus que capable de gérer les situations les plus sophistiquées. Il y a deux options possibles pour effectuer ces ajouts : faire manuellement les modifications, ou se servir d’un shareware permettant d’être assisté pour ces changements. Si les changements sont simples et que cela vous intéresse de tourner vous même la clé, alors l’option manuelle est faite pour vous. Nous avons déjà mentionné plusieurs commandes ainsi que les pages du manuel pour vous aider à débuter. Il y a aussi plein de liens vers des ressources utiles ci-dessous qui décrivent des procédures de configuration complexes ainsi que des scripts qui automatisent ces configurations à votre place.
Si vous êtes comme moi et voulez une bonne compréhension de la manière dont les choses se passent, il y a aussi une superbe application (shareware) appelée BrickHouse écrite par Brian Hall. BrickHouse fournit une interface intuitive et riche en fonctions à ipfw, permettant ainsi de profiter à la fois de ce coupe-feu à robustesse industrielle et des fonctions disponibles dans Jaguar. BrickHouse fonctionne très bien pour des configurations basiques et d’autres plus avancées. Il installe un script de démarrage de façon à ce que ipfw démarre en même temps que votre ordinateur, activant ainsi la sécurité immédiatement. BrickHouse fournit aussi une interface utile aux fichiers log de ipfw de façon à vous permettre de voir qui frappe à votre porte (ou à votre passoire
).
Une description détaillée des fonctions de BrickHouse irait au delà de l’objectif de cet article, mais il peut être évalué gratuitement et ne coûte que 25$ si vous souhaitez continuer à vous en servir. En plus de consulter les ressources mentionnées ci-dessous, une excellente manière d’apprendre ipfw consiste à utiliser une application comme BrickHouse (ou les Préférences Systèmes) pour configurer un ensemble de règles puis à regarder les règles ipfw comme nous l’avons fait auparavant. Cela vous permettra de progresser tout en satisfaisant votre “besoin de savoir”.
Pensées Finales
Jaguar contient un coupe-feu extrèmement fonctionnel et de grande endurance qui n’attends que vous vous en serviez. Ne le gaspiller pas. Exploitez la puissance sous-jacente de Jaguar de façon à créer un environnement sécurisé et à permettre des relations entre ordinateurs qui rendront votre vie numérique plus agréable et plus simple. Il y a un nombre infini de configurations, allant de l’utilisation de votre Mac en tant que serveur Web public ou privé à celle en tant que propre serveur de mail ou au contrôle à distance de votre Mac via un accès Secure SHell (SSH).
Il est important de garder à l’esprit, cependant, que malgré tout ce que l’on peut lire dans la presse sur la sécurité des coupe-feux, ceux-ci ne représentent pas une solution complète. La protection de votre ordinateur implique aussi de cacher son nom d’utilisateur et son mot de passe des yeux indiscrets au moment de récupérer vos mails ou de transférer des fichiers à partir de votre portable lorsque vous êtes en déplacement. Oui, n’importe qui épier la voie rapide empruntées par les données allant et venant et attraper des valeurs qui ressemble à :
USER: cochella PASS: fido
Un coupe-feu ne peut vous protéger si quelq’un obtient votre nom d’utilisateur et votre mot de passe. Garder vos yeux ouverts pour de futures articles sur MacDevCenter consacrés à des sujets tel que SSH qui, à propos, est aussi inclus dans Jaguar.
Ressources
- Article des Développeurs Internet d’Apple sur la Sécurité
- “Configurer les Règles du Coupe-feu sur Mac OS X 10.2“
- “Protéger votre Réseau Privé en utilisant FreeBSD“
- FAQ de Vicomsoft sur les Coupe-feux

Textes originaux en anglais sur O’Reilly : Configuring Jaguar’s Firewall par Chris Cochella
Chargement
Commentaires récents