Interview : Pablo Neira Ayuso (Netfilter) # Bonjour Pablo : pourrais-tu te présenter pour les futurs visiteurs des RMLL qui ne te connaitraient pas encore ? Je fais partie du Netfilter Core Team depuis le début de l’année dernière, et je contribue au projet depuis plus de quatre ans. Depuis trois ans, je travaille à l’université de Séville, en Andalousie dans le sud de l’Espagne comme professeur en systèmes d’exploitation au sein du Laboratoire Systèmes d’exploitation (Programmation en langage C, malheureusement de plus en plus considérée obsolète dans les programmes d’études d’ingénierie...) et Sécurité Informatique. Je m’amuse bien dans l’enseignement. Dans le même temps, j’ai fini ma thèse qui a un rapport avec le projet de haute disponibilité pour les systèmes pare-feux Linux. # Comment es-tu venu à contribuer au projet Netfilter ? Quelles sont tes différentes missions au sein de la core team Netfilter ? J’apprécie le logiciel libre et sa philosophie, c’est cela qui m’a attiré dès le début : la possibilité de collaborer avec les autres pour construire quelque chose qui peut être utile à toute la société. Je pense que c’est ma motivation principale. D’un autre coté, une autre motivation pour moi a été la possibilité de pouvoir accèder sans aucune restriction à la technologie : le logiciel libre permet en effet à un informaticien de pouvoir comprendre comment le système fonctionne de manière très précise. Enfin, il faut tout de même dire que les motivations des développeurs sont assez différentes, pour ne pas dire très hétérogènes. Elles vont souvent des plus triviales (comme tuer l’ennui) aux plus complexes. Et alors, comment j’ai commencé à développer ? Bon, à l’époque où j’étais étudiant à l’université, j’ai travaillé pour une petite société sur du développement de pare-feu basé sur Linux, pare-feu que l’on avait installé sur les réseaux de quelque sociétés et de sièges du gouvernement en Andalousie. Cela m’a permis de mieux comprendre le fonctionnement interne de Netfilter et de ses outils. J’avais commencé à faire des petits hacks que j’ai toujours envoyé sur la mailing list. C’était sympa d’avoir des réponses de Harald Welte, Patrick McHardy ou Joszsef Kadlecsik... même si le plus souvent le hack ne pouvait entrer dans le tronc pour différentes raisons... Donc, j’ai commencé a développer de plus en plus de choses, par exemple, l’interface netfilter pour le connection tracking system, les outils et les librairies d’espace d’utilisateur, les string match, etc... Et finalement, j’ai été invité à faire partie du core team... :-) Mes missions dans le projet sont très simples et couvrent principalement les domaines suivants : Revoir les contributions d’autres développeurs qui ne sont pas dans le coreteam, principalement sur ulogd et conntrack-tools, et les librairies libnfnetlink et libnetfilter_*. Stabiliser et résoudre des problèmes par rapport au Netfilter (bugs). Développer ou collaborer dans le développement des nouvelles fonctionnalités. Participer aux discussions qui arrivent sur la mailing list et apporter mon point de vue. La plus ennuyeux mais vraiment nécessaire : Faire des travaux de maintenance du site web, FTP, bugzilla, ... # Quels sont tes objectifs pour ta présentation lors des RMLL 2008 ? Je vais introduire le problème de la haute disponibilité dans le pare-feu stateful et détailler un peu la solution actuelle qu’on utilise dans le projet Netfilter. # Comme je l’ai aussi demandé à Eric Leblond, existe-il des échanges entre pf du monde BSD et le projet netfilter issu de GNU/Linux ? en particulier, ta présentation parle de haute disponibilité de pare-feux et de suivi de transactions : des échanges avec les développeurs de pfsync/carp ont-ils eu lieu sur ces problématiques de haute disponibilité ? Pas pour l’instant, mais je pense que ça serait très intéressant d’en avoir. # Quelles sont à ton avis les directions vers lesquelles Netfilter va se développer dans les prochains mois/années ? C’est une bonne question :) , je pense que cela sera plutôt : Consolider le projet conntrack-tools, encore en développement. Offrir une interface xtables plus flexible que l’actuelle et tout à fait indépendante du niveau OSI 2, 3 et 4. Probablement, on aura une interface netlink pour iptables et, bientôt, une librairie d’espace d’utilisateur. Il faut aussi consolider le support pour le bridging. Introduire ipset dans le noyau pour donner plus de capacité de montée en charge (ndt : scalability) au "rule-set matching". Probablement, jeter un oeil aux solutions de couche 7 (qui pour l’instant ne sont pas développées par le core team). # De manière plus personnelle, quels sont les sujets qui t’attirent et sur lesquels tu désirerais t’investir en termes de développement ? Ce que je souhaite surtout réaliser dans un premier temps, c’est finaliser mon travail dans le cadre des conntrack-tools. # Par pure curiosité : quel est ton environnement de travail quotidien quand tu codes pour Netfilter ? Rien d’exceptionnel, trois fenêtres xterm 24x80, vim et, parfois, du papier et des crayons pour faire du debugging mental. Probablement un peu rudimentaire mais ça marche :) # Un dernier mot : as-tu un souhait particulier pour ces RMLL 2008 ? J’espère qu’on passera trois journées sympas aux RMLL ! # Nous l’espérons de tout cœur Pablo et merci encore pour le temps consacré à cette interview :) Interview réalisée par email par Christophe Brocas, thème Sécurité RMLL 2008.