titulo

lunes, 23 de julio de 2012

IPtables


una herramienta de cortafuegos que permite no solamente filtrar paquetes, sino también realizar traducción de direcciones de red (NAT) para IPv4 o mantener registros de log. El proyecto Netfilter no sólo ofrece componentes disponibles como módulos del núcleo sino que también ofrece herramientas de espacio de usuario y librerías.

iptables es el nombre de la herramienta de espacio de usuario mediante la cual el administrador puede definir políticas de filtrado del tráfico que circula por la red. El nombre iptables se utiliza frecuentemente de forma errónea para referirse a toda la infraestructura ofrecida por el proyecto Netfilter. Sin embargo, el proyecto ofrece otros subsistemas independientes de iptables tales como el connection tracking system o sistema de seguimiento de conexiones, o que, que permite encolar paquetes para que sean tratados desde espacio de usuario. iptables es un software disponible en prácticamente todas las distribuciones de Linux actuales.


Historia


El proyecto Netfilter/iptables comenzó en 1998 con Rusty Russell, también autor del proyecto que lo precedió, ipchains. A medida que el proyecto fue creciendo, fundó el Netfilter Core Team (o simplemente el coreteam) en 1999, que se trata del grupo de personas que se encarga directamente del desarrollo y mantenimiento del proyecto. El software que ellos produjeron (al que llamaremos netfilter de aquí en adelante) está licenciado bajo la licencia GPL (GNU General Public License), y fue incorporado al núcleo Linux 2.3 en marzo de 2000. En agosto de 2003, Harald Welte fue designado líder del coreteam. En febrero de 2007 entra a formar parte del coreteam el andaluz Pablo Neira.

Antes de iptables, los programas más usados para crear cortafuegos en Linux eran ipchains en el núcleo Linux 2.2 e ipfwadm en el núcleo Linux 2.0, que a su vez se basaba en ipfw de BSD. Tanto ipchains como ipfwadm alteran el código de red para poder manipular los paquetes, ya que no existía un framework general para el manejo de paquetes hasta la aparición de netfilter. iptables mantiene la idea básica introducida en Linux con ipfwadm: listas de reglas en las que se especifica qué matchear dentro de un paquete y qué hacer con ese paquete. ipchains agrega el concepto de cadenas de reglas (chains) e iptables extendió esto a la idea de tablas: se consultaba una tabla para decidir si había que NAT-ear un paquete, y se consultaba otra para decidir como filtrar un paquete. Adicionalmente, se modificaron los tres puntos en los que se realiza el filtrado en el viaje de un paquete, de modo que un paquete pase solo por un punto de filtrado.



Objetivos de iptables

Cuando un paquete llega a su servidor, éste es gestionado por el subsistema Netfilter para aceptarlo, manipularlo o rechazarlo basándose en las reglas suministradas a éste via iptables. Así, iptables es todo lo que necesita para manejar su cortafuegos si está familiarizado con él, pero existen muchos interfaces de usuario disponibles para simplificar esta tarea., por ejemplo Firestarter
En versiones anteriores al kernal 2.4.* se llamaba ipchain, pero a partir de esta versión se cambió a Iptables, mucho más potente.
Iptables está basado en el uso de TABLAS dentro de las tablas, CADENAS, formadas por agrupación de REGLAS, parámetros que relativizan las reglas y finalmente una ACCIÓN, que es la encargada de decir qué destino tiene el paquete. 

No hay comentarios:

Publicar un comentario