samedi 4 juillet 2009

"The Book of PF", version française

PF_Eyrolles_couverture.jpg

Ça y est, ma traduction de l'excellent The Book of PF de Peter N.M. Hansteen (blog) vient d'être publiée, chez Eyrolles, sous le titre Le Livre de Packet Filter (collection Cahiers de l'Admin) !

Ce livre, basé sur le célèbre didacticiel que l'auteur avait rédigé comme support de conférence, est l'un des très rares ouvrages (le seul en français) à couvrir ce filtre de paquets développé par Daniel Hartmeier pour OpenBSD, puis repris et intégré par FreeBSD et NetBSD. Il intéressera les professionnels (administrateurs système et/ou réseau, etc.) désireux d'apprendre à se servir de ce petit bijou qu'est PF, ou de se perfectionner dans sa maîtrise, ainsi que les amateurs de bidouille réseau qui y trouveront largement de quoi s'amuser quelques temps.

Comme son titre l'indique, ce livre ambitionne de servir de support à l'apprentissage et à la maitrise de tous les aspects de Packet Filter.

Une fois les présentations terminées (qu'est-ce que PF, pourquoi c'est pas disponible dans le monde GNU/Linux, etc.), on enchaîne sur un premier chapitre qui sert d'introduction, présentant les grandes lignes de l'histoire du développement de PF et expliquant les bases de la terminologie employée (NAT, IPv4/IPv6, différences entre filtre réseau et pare-feu, etc.).

On en arrive alors, au deuxième chapitre, à la configuration basique de PF, de son activation à l'écriture d'un tout premier jeu de règle pour une machine seule et autonome ; tout est détaillé pour OpenBSD, FreeBSD et NetBSD. L'auteur touche également deux mots à propos des statistiques que peut nous donner pfctl(8) si on lui demande gentiment.

Les choses sérieuses commencent au troisième chapitre : on commence par la gestion de la NAT, avec une mention spéciale pour la gestion du protocole FTP dans un réseau NATé (ftp-sesame, pftpx et bien entendu ftp-proxy), on continue par le debugging réseau (protocole ICMP pour le ping, traceroute, et la MTU path discovery), et on termine par l'explication de pourquoi les tables c'est bien. Notez qu'à chaque fois, les détails sont donnés pour les implémentations de PF d'OpenBSD, de FreeBSD et de NetBSD.

Le chapitre 4 est tout entier consacré aux réseaux sans-fil (Wi-Fi) : généralités d'usage, configuration d'une interface Wi-Fi côté client et côté routeur (avec le morceau de script /etc/pf.conf qui va bien), et on termine bien entendu par la spécialité locale : la création d'une passerelle authentifiante grâce à authpf.

Au cinquième chapitre, l'auteur termine son tour des fonctionnalités basiques de PF, que tout administrateur ou passionné se doit de maitriser pour utiliser PF dans une vraie configuration : mise en place d'une DMZ (avec ou sans NAT), filtrage de service (accessibilité depuis l'extérieur et/ou depuis le LAN), répartition de charge avec hoststated, utilisation des tags (étiquettes) pour clarifier le jeu de règles de filtrage. L'auteur ajoute à cela la mise en place d'un pare-feu ponté (décrite pour OpenBSD, FreeBSD et NetBSD), et une petite astuce pour gérer le fait que les adresses IPv4 non routables ne devraient jamais ni envoyer ni recevoir de trafic par Internet.

Au chapitre 6 (mon préféré), l'auteur traite ce qui est peut-être LE sujet par excellence quand on touche à OpenBSD : la défense pro-active. C'est ainsi qu'il (re-)donne l'astuce qui a fait la célébrité de son didacticiel en ligne : la gestion des attaques par force brute grâce à une liste noire et à quelques options (max-src-conn, max-src-conn-rate, overload, et flush global). Ensuite, l'auteur explique en détail la mise en place d'une stratégie antispam grâce à spamd ; au menu : liste noire, liste grise (greylisting), greytrapping, et utilisation des outils associés que sont spamdb et spamlogd. Que l'on me permette d'insister : ce chapitre constitue la seule vraie documentation sur spamd existant en français à l'heure actuelle, alors ne boudons pas notre plaisir...

Quant au septième chapitre, il conviendra aux plus barbus : ALTQ est détaillé sur une vingtaine de pages, et le couple CARP/pfsync sur une dizaine. Au vu du faible nombre de documentations existant en français sur ces sujets, les connaisseurs apprécieront...

Enfin, le chapitre 8 est consacré à la journalisation et aux statistiques (pflog, syslog, labels pour les règles, pftop, pfstat, pfflowd), et le neuvième et dernier chapitre donne une référence aux options utiles mais non couvertes dans le reste du livre, notamment la normalisation de trafic (scrub).

Vous trouverez en outre deux annexes, qui donnent respectivement des références documentaires et des remarques de l'auteur concernant la prise en charge du matériel.

A noter que l'intégralité du livre a été mis à jour pour être en concordance avec les dernières modifications survenues dans PF entre la sortie de la dernière version en date (OpenBSD 4.5) et celle qui sortira le 1er novembre prochain (OpenBSD 4.6), je pense notamment à scrub. Vous savez sur qui taper en cas de problème. ;-)

Vous l'aurez compris, cet ouvrage est une mine d'or pour qui cherche à apprendre à se servir de Packet Filter, que ce soit dans un cadre professionnel ou amateur.

Et si vous voulez voir un peu ce que cela donne concrètement, sachez que, suite à mon travail de traduction, j'ai décidé de réécrire totalement le script de configuration pf (/etc/pf.conf) que j'utilise pour mon réseau personnel, et j'y ai inclus un grand nombre d'astuces que l'on trouve dans le livre.

J'aimerais terminer en remerciant les éditions Eyrolles pour m'avoir fait confiance sur ce projet que j'ai mis plus d'un an à voir aboutir, Rodrigo Osorio pour avoir bien gentiment accepté de traduire le texte Explaining BSD de Greg Lehey afin que je ne sois pas obligé de faire pointer mes lecteurs vers un texte anglais :), et le canal IRC #OpenBSD.fr pour m'avoir bien aidé quand j'en avais besoin.

Et, enfin, juste pour vous mettre l'eau à la bouche, voici la traduction du fameux haïku PF que Jason Dixon a publié sur la liste de diffusion de PF, le 20 mai 2004, et qui conclut l'Avant-propos du livre :

Comparé à iptables, PF est comme ce haïku :

A breath of fresh air,                   Un souffle d'air frais,
floating on white rose petals,   Flottant sur de blancs pétales,
eating strawberries.                    En mangeant des fraises.

Et voilà que je m’emporte :

Hartmeier codes now,                       Hartmeier développe,
Henning knows not why it fails,          Henning ne comprend pas
fails only for n00b.             Pourquoi les nuls n’y arrivent pas.

Tables load my lists,                Des tables chargent mes listes,
tarpit for the asshole spammer,      Punition pour les spammers.
death to his mail store.                  Mort à leur commerce !

CARP due to Cisco,                          CARP vient de Cisco,
redundant blessed packets,             Paquets redondants bénis,
licensed free for me.                        Sous licence libre.

vendredi 16 janvier 2009

Mardis du Libre : présentation des systèmes BSD

Mardi dernier, dans le cadre des Mardis du Libre organisés par Chtinux (le groupe d’utilisateurs de logiciels libres de la métropole lilloise), j’ai donné une présentation des systèmes BSD, en présence de Pasqualina Cardon de la Voix du Nord.

Devant une quinzaine de personnes (dont quelques personnes extérieures à l’association), j’ai donc parlé de l’histoire de ces systèmes, puis de leur licence, et j’ai enfin présenté les trois principaux membres de cette famille : FreeBSD, NetBSD et bien sûr OpenBSD.

Comme je n’ai commencé à préparer cette présentation qu’environ trois heures avant de m’y rendre, je ne dispose que d’un plan (ou un squelette, c’est selon) et de trois images (une mascotte, deux diagrammes historiques). C’est effectivement peu, mais a priori suffisant puisqu’on m’a félicité sur la liste de diffusion des membres :).

J’ai mis en ligne ce plan-squelette sur le wiki de l’association BSD France. Je compte le compléter petit à petit, sachant que d’autres y mettront probablement leur grain de sel…

dimanche 17 août 2008

Création de l'association BSD France.

Ça y est, la création de l’association BSD France vient d’être publiée au Journal Officiel !

Cela signifie que nous allons enfin pouvoir aller de l’avant avec ce projet, à commencer par l’EuroBSDcon 2008 qui se déroulera du 16 au 19 Octobre 2008 à Strasbourg.

mercredi 2 juillet 2008

Présentation de BSD au Hacker Space Fest 2008

J’ai assisté à la conférence Histoire et enjeux du logiciel libre donnée le Lundi 16 Juin par Lionel Allorge, de l’APRIL au Hacker Space Fest (conférence organisée et hébergée par le /tmp/lab à Vitry-sur-Seine).

J’avais déjà croisé Lionel quelques jours auparavant au Salon de l’Informatique de Maubeuge, et nous avions bien gentiment discuté de l’APRIL et de l’association BSD France qui est en cours de création (les statuts viennent d’ailleurs tout juste d’être publiés) ; j’ai même adhéré à l’APRIL ce jour là ;). Nous avions pas mal parlé de la sous-représentation des systèmes BSD dans le monde du logiciel libre, que ce soit au sein des groupes d’utilisateurs de logiciels libres ou dans les conférences.

Et si les choses doivent changer, alors c’est aux BSD-istes d’apporter le changement.

La conférence de Lionel portait sur l’histoire du système GNU, la licence GPL et la pensée de Richard Stallman. Mais pas un mot sur l’histoire de BSD, l’autre système libre. A la fin de la présentation, je lève la main et Lionel savait déjà ce que je m’apprêtais à lui dire : après une courte discussion parfaitement amicale, il m’a invité à présenter l’histoire et la généalogie de l’autre famille libre qui part de BSD, ainsi que la licence BSD. Tout cela s’est très bien passé, sur un ton très sympathique, sans polémique, et surtout en considérant nos différences et notre diversité comme des forces qu’il faut mettre en valeur au lieu de s’en servir pour d’inutiles querelles de clocher.

La vidéo de cette présentation est disponible en ligne (oui, c’est en Flash, et je n’y suis pour rien).

Cette petite présentation, en grande partie basée sur l’historique de BSD fournit dans la deuxième édition d’Absolute FreeBSD de Michael W. Lucas (dont j’ai assuré la traduction, qui devrait sortir en France en Septembre, chez Pearson Education), était complètement improvisée, et il se peut donc fort bien que des erreurs s’y soient glissé. N’hésitez pas à m’en faire part si vous en détectez !