Entrevista de Pablo Neira Ayuso (Netfilter) Pablo Neira Ayuso : miembro de la core team Netfilter, desarrollador entre otros, de los conntrack tools. Conferencia en los RMLL 2008 : "Alta disponibilidad de cortafuegos stateful bajo GNU/Linux" # Hola Pablo : ¿podrías presentarte para los futuros visitantes de los RMLL, en el caso de que no te conozcan todavía? Formo parte del Netfilter Core Team desde el principio del año pasado y contribuyo al proyecto desde hace más de cuatro años. Desde hace tres años, trabajo en la Universidad de Sevilla, en Andalucía en el sur de Espña como profesor de sistemas operativos dentro del Laboratorio de Sistemas Operativos (Programación en lenguaje C, desgraciadamente considerada como cada vez más anticuada en los estudios de ingenierí...) y Seguridad Informática. Me divierto mucho en la enseñanza. Al mismo tiempo he terminado mi tesis que se relaciona con el proyecto de alta disponibilidad para los sistemas cortafuegos Linux. # ¿Cómo llegaste a contribuir al proyecto ?¿Cuáles son tus diferentes misiones dentro del core team Netfilter ? Aprecio mucho el software libre y su filosofía, eso fue lo que me atrajo al principio: la posibilidad de colaborar con los otros para construir algo que puede ser útil a toda la sociedad. Pienso que fue y es mi principal motivación. Por otra parte, otra motivación para mí fue el deseo de acceder a la tecnología sin restricción: el software libre le permite en efecto a un informático poder comprender de manera muy precisa cómo funciona el sistema. Por fin, hay que decir si embargo que las motivaciones de los desarrolladores son muy variadas para no decir heterogéneas. Van desde las más triviales (como por ejemplo matar el aburrimiento) hasta las más complejas. Pero entonces , ¿cómo comencé a desarrollar? Pues, cuando era estudiante en la universidad, trabajé para una pequeña sociedad sobre el desarrollo de cortafuegos basado en Linux, cortafuegos que habíamos instalado en las redes de algunas sociedades y de sedes del Gobierno Andaluz. Aquello me permitió comprender mejor el funcionamiento interno de Netfilter y de sus herramientas. Había comenzado a hacer unos pequeños hacks que siempre envié en la lista de correo. Era simpático recibir respuestas de Harald Welte, Patrick McHardy o Joszsef Kadlecsik... aunque las más veces el hack no podía entrar en el tronco del programa por varias razones.... Comencé pues a desarrollar cada vez más cosas, por ejemplo, el interfaz netfilter para la conexión tracking system, las herramientas y las bibliotecas del espacio del utilizador, los string match, etc... Y por fin me invitaron a formar parte del core team... :-) Mis misiones en el proyecto son muy simples y abarcan principalmente los campos siguientes: * Revisar las contribuciones de otros desarrolladores que no forman parte del core team, sobretodo sobre ulogd y los conntrack-tools, y las bibliotecas libnfnetlink et libnetfilter_*. * Estabilizar y resolver problemas en relación con Netfilter (bugs). * Desarrollar o colaborar al desarrollo de nuevas funcionalidades. * participar a las discusiones de la lista de correo y dar mi punto de vista. * Lo más aburrido pero verdaderamente necesario: trabajar en el mantenimiento del sitio web, FTP, bugzilla... # ¿Cuáles son tus objetivos para tu presentación durante los RMLL 2008? Voy a introducir el problema de la alta disponibilidad en el cortafuegos stateful y detallar un poco la solución actual que se utiliza en el proyecto netfilter. # Como también se lo pregunté a Eric Leblond, ¿existen intercambios entre cortafuegos del mundo BSD y el proyecto Netfilter nacido de GNU/Linux ? En particular tu presentación habla de alta disponibilidad y de control de transacciones: ¿tuvieron lugar intercambios con los desarrolladores de pfsync/carp acerca de estas problemáticas de alta disponibilidad? Hasta el momento, no, pero pienso que sería interesante que hubiera tales intercambios. # ¿Cuáles son a tu parecer las direcciones hacia las que Netfilter va a desarrollarse en los próximos meses/años? Buena pregunta :) , pienso que será más bien : * Fortalecer el proyecto conntrack-tools, aún en desarrollo. * Ofrecer un interfaz estable más flexible que el actual y totalmente independiente del nivel OSI 2, 3 y 4. Probablemente, tendremos un interfaz netlink para iptables y pronto, una biblioteca de espacio utilizador Hay que consolidar también el soporte para el bridging. * Introducir ipset en el núcleo para dar más capacidad de escalabilidad (ndt : scalability) al "rule-set matching". * Probablemente, echarle un vistazo a las soluciones de capa 7 (que por el momento no se desarrollan en el core team) De manera más personal, ¿cuáles son los temas que más te atraen y en los que te gustaría comprometerte en términos de desarrollo? Lo que sobre todo deseo realizar primero, es finalizar mi trabajo en el marco de los conntrack-tools. # Por curiosidad, ¿cuál es tu entorno de trabajo cotidiano cuando escribes código para Netfilter? Nada excepcional: tres ventanas xterm 24x80, vim y a veces papel y lápices para hacer debugging mental; probablemente un poco rudimentario pero funciona :) # Una última palabra: ¿tienes algún deseo particular para estos RMLL 2008? ¡Espero que nos pasaremos tres días estupendos en los RMLL! # Lo esperamos con todo el corazón, Pablo y gracias una vez más por el tiempo que le dedicaste a esta entrevista :) Entrevista realizada por correo electrónico por Christophe Brocas, tema Seguridad RMLL 2008.