dimanche, octobre 15, 2006

Firewall

MacOSX utilise le firewall ipfw de FreeBSD. Ce firewall est déjà largement moins bon que les deux autres qui étaient disponibles sur FreeBSD (pf et ipf), mais il est également très mal utilisé. Une interface graphique (pas très pas jolie ni intuitive) permet de le configurer, on trouve en particulier cette boite de dialogue "Advanced" :

failleureoualle

Notez bien "Block UDP Traffic", puis allez voir avec ipfw show -a les règles générées, parmi les quelles:
20321 0 0 allow udp from any 67 to me in
20322 0 0 allow udp from any 5353 to me in
20340 0 0 allow udp from any to any dst-port 137 in
20350 0 0 allow udp from any to any dst-port 427 in
20360 0 0 allow udp from any to any dst-port 631 in
20370 0 0 allow udp from any to any dst-port 5353 in
22000 0 0 allow udp from any to any dst-port 3283 in
22010 0 0 allow udp from any to any dst-port 5900 in
22020 0 0 allow udp from any to any dst-port 123 in
Les deux premières sont très intéressantes : en prenant un port source égal à 67 (DHCP) ou 5353 (multicast DNS), vous pouvez accéder n'importe quel port UDP de la machine, ce qui est euhh ... contradictoire avec la première case à cocher. D'autre part, quand vous choisissez "Stealth Mode", vous avez la vague impression que votre système ne va pas envoyer plein d'infos quand on va le titiller sur le port Bonjour. IPFW possède pourant un moteur à états, capable de maintenir une pseudo-session UDP. Apple n'a visiblement pas jugé utile de l'utiliser, ce ne serait pourtant pas très compliqué de faire de meilleures règles un peu moins larges tout en sauvegardant le plug-and-play, ou alors de faire un bouton "Hellen Keller stealth mode" pour ceux qui branchent leur mac sur des réseaux pas très sûrs.

Evidemment rien ne vous empèche de réécrire vous même les règles manuellement et de profiter du moteur d'état, mais bon, il y a quand même tromperie sur le niveau de sécurité annoncé.

Aucun commentaire: