Les coupes-feux de Leopard
Un pare-feu est un logiciel installé au sein de votre Mac et qui limite les accès réseau en analysant les paquets réseau qui transitent par votre ordinateur. Il autorise ces paquets a atteindre des services ou applications ou à contrario, permet ou refuse aux applications d’accéder à des serveurs placés sur Internet. Les autorisations ou refus de passage des paquets sont appelés des règles.
Si l’on compare avec Tiger (la version précédente de Mac OS X), Leopard offre une sécurité plus importante selon les dires d’Apple. Dans Mac OS X Tiger le rôle de pare-feu était tenu par «ipfw», ce composant « open source » est très connu de la communauté Unix, sa réputation de solidité n’est plus à faire. «ipfw» fait parti du noyaux (Kernel en Anglais) de Mac OS X, le retirer serait un hérésie.
Dans Leopard, Apple a choisi de privilégier son propre pare-feu tout en laissant disponible «ipfw».
Il faut toutefois considérer qu’ipwf prévaut sur le nouveau firewall Applicatif d’Apple. Ceci s’applique aussi sur les règles d’ipfw.
Remarques techniques :
Pour ceux qui aime les lignes de commandes, vous pouvez obtenir la liste de règles mises en place dans ipfw en utilisant cette ligne commande dans le terminal :
$ sudo ipfw list
La réponse dans une configuration standard sera :
65535 alow ip from any to any
Littéralement : autorises toutes les paquets IP depuis tout vers tout . Ainsi donc la configuration d’ipfw est de ne rien bloquer que cela soit en entrée ou en sortie. Il est la, mais il laisse tout passer.
Les logs d’ipfw sont placés dans le dossier :
/private/var/log/ipfw.log
La particularité du firewall d’Apple est d’être ce que l’on appelle un pare-feu applicatif, c’est-à-dire que ces règles sont définies à partir des applications et non des ports TCP/IP.
Arrêtons nous un instant pour expliquer cette nuance. Prenez un maison, elle peut avoir plusieurs portes et fenêtres. La porte principale donne accès au salon, la porte de derrière donne accès directement à la cuisine. Si je veux rentrer dans la maison pour accéder directement à la cuisine je vais donc utiliser la porte de derrière. Si je veux accéder qua salon je vais en priorité accéder par la porte principale.
Bien et maintenant si je souhaite interdire l’accès directe à la cuisine, je vais fermer à clés la porte de derrière. C’est ce que l’on appellerait le fonctionnement un pare-feu standard, vous ne voulez pas que quelqu’un accède à une piece de la maison et bien vous le fermer. Il existe 65535 ports (ou portes) au sein de votre ordinateur … et par défaut elles sont toutes ouvertes !
Un coupe-feu applicatif fonctionne différemment, il assure que le système donne ou refuse l’accès à l’application sans savoir derrière quelle porte elle se trouve. C’est un peu comme si vous autorisiez l’accès uniquement à la pièce ou se trouve l’aspirateur, celui-ci peut etre placé dans la cuisine ou du salon, cela n’a pas d’importance. Les portes ne sont plus fermées en fonctions des pièces mais en fonction de ce contient la pièce.
Lorsque vous créez une règle dans les « Préférences Systèmes » puis dans le tableau de bord « Sécurité », Mac OS vous propose de sélectionner une application puis de définir les autorisations appropriées qui sont au nombre de deux :
- Autoriser les connexions entrantes - Bloquer les connexions entrantes

Aucune possibilité n’est offerte concernant les connexions sortantes… ce qui est une limitation du coupe-feu dessiné par Apple.

Le coupe-feu d’Apple est pour ainsi dire «confidentiel» tant il y a peu de documentations sur le sujet.
Nous savons que le firewall se compose d’un pilote : «com.apple.ne.applicationfirewall» et d’un exécutable qui est présent dans ce chemin :« /usr/libexec/ApplicationFirewall/socketfilterfw » .
Le fichier de configuration du pare-feu applicatif :
Le fichier «plist» de configuration se trouve dans le Même dossier et porte le nom du « com.apple.alf.plist ».
L’utilitaire «Pref Setter» ( http://www.nightproductions.net/) l’ouvrira sans soucis, comme présenté dans la copie d’écran suivante.

Deux autres composants sont présents :
– Firewall – appfwloggerd
Le logger du nom de «appfwloggerd» ne semble pas très bavard, les messages sont enregistrés dans «system.log» pour ce qui concerne l’initiation du firewall, comme ceci :
Jul 11 22:36:44 localhost kernel[0]: Loading security extension com.apple.nke.applicationfirewall
Puis dans «appfirewall.log » toujours dans « /private/var/log/ »
Voila pour ce qui est de l’aspect technique… la suite dans un prochain billet…
Henri Dominique Rapin