Siguiente AnteriorContenidos

3. ¿Qué es el filtrado de paquetes?

3.1 Redes muy básicas

Todo el trafico de una red es mandado a traves de paquetes. Por ejemplo, al descargarte este paquete (seran unos 50k) recibiras unos 36 paquetes de 1460 bytes cada uno (por decir un número al azar)

En el principio de cada paquete se dice a donde va, de donde viene, el tipo de paquete y otros detalles de administración. El principio del paquete se llama cabecera. El resto contiene los datos que estan siendo transmitidos, que normalmente se llama cuerpo.

Algunos protocolos, como el TCP, el cual se usa para el trafico en la web, correo y logins remotos, utiliza el concepto de conexión ( antes de mandar el paquete se mandan varios de configuración, con unas cabecares especiales, y las máquinas se con
munican diciendose, ' te has conectado', 'si', 'vale', 'gracias'. Los paquetes normales se mandan.

3.2 ¿Como se filtra un paquete?

Un filtrado de paquetes es un software  que mira la cabecera de los paquetes  para ver si deben pasar, decidiendolo al instante. Yo tengo que decidir entre denegar (deny) los paquetes, aceptarlos (accept )  u ignorarlo (reject) con lo que la maquina se olvida de él.

En Linux, el filtrado de paquetes se crea en el kernel (como un módulo por el momento) y hay pocas cosas que se pueden hacer con los paquetes, pero como principio debemos mirar las cabeceras  y decidir el destino del paquete.

3.3 ¿Por que queremos filtrar paquetes?

Control. Seguridad. Vigilancia.
Control:

Cuando se esta usando Linux para conectar la máquina a otra red (como internet) tienes la oportunidad de permitir ciertos tipos de trafico y de desactivar otros. Por ejemplo, la cabecera de un paquete permite la direccion del destinatario del paquete, asi tu puedes prevenir que  los paquetes vayan a cierta parte de la red. Otro ejemplo seria, cuando se accede con Netscape a los archivos Dilbert. Hay anuncios de doubleclick.net en la página y Netscape me hace perder el tiempo descargandolos. Diciendole al filtrado que no permita los paquetes que pertenezcan a doubleclick.net  resolveremos el problema (Hay mejores formas de hacer esto).

Seguridad:

Cuando tu máquina Linux es lo único entre el caos de internet y el maravilloso orden  de tu red, es bueno saber que tu puedes restringir el aceso a lo que llama a tu puerta. Por ejemplo, tu debes permitir cualquier cosa que salga fuera de tu red, pero debes tener cuidado  con el conocido 'Ping de la muerte' que proviene de otras máquinas. Otro ejemplo seria, no permitir a la gente de fuera que hiciera telnet en tu máquina aunque tubieran todas las cuentas y claves de tu máquina.  Pero seguranmente (como casi toda la gente) tu seras un observador y no un servidor. Simplemente no dejes nada conectado, mediante un reject a todos los paquetes que pidan activar una conexión.

Vigilancia:

Algunas veces una mala configuración de una máquina en una red local puede decidir devolver todos los paquetes al resto del mundo. Se deberia decirle al filtro que nos avise cuando ocurra algo anormal. En este caso tu deberias hacer algo aunque sea por la natural curiosidad.
 

3.4 ¿Como hacer un filtrado de paquetes en Lnux?

El kernel de Linux ha tenido filtrado de paquetes desde la versión 1.1. La primera versión estaba basada en ipfw de BSD, que fue portada por Alan Cox en 1994.  ESto fue realizado por Jos Vos y otros para Linux 2.0; la utilidad 'ipfwadm' controlaba las reglas de filtrado del kernel. A mediados de 1988, para Linux 2.2, yo rehice el kernel cuidadosamente con la ayuda de Michael Neuling, e introduje la herramienta 'iptables'. Finalmente, la cuarta generración de herramientas, 'iptables', y otro kernel reescrito ocurrio a mediados de 199 para Linux 2.4. Esto es iptables , sobre el cual nos vamos a centrar en este HOWTO.

Para utilizarlo te hace falta un kernel que tenga la infraestructura de netfilter; netfilter es un framework general dentro del kernel de Linux, con otras cosas (como el modulo iptables) que se pueden meter. Esto significa que tu necesitas el kernel 2.3.15 y responder que si a la  pregunta CONFIG_NETFILTER, en la configuraciòn del kernel.

La herramienta de iptables le habla al kernel y le dice que paquetes tiene que filtrar. A no ser que seas programador o estremadamente curioso, es como controlaras el filtrado de paquetes.

iptables

La herramienta iptables inserta y borra reglas desde la tabla de filtrado de paquetes del kernel. Esto significa que si tu lo configuras, esta perdera al reiniciar la máquina; Mira Making Rules Permanent para ssaber que tienes que hacer si quieres guardar la configuración para la proxima vez que reinicies la máquina.

iptables reemplazo a ipfwadm y a ipchains. Mira Using ipchains and ipfwadm para aprender iptables sin miedo, si estas usando una de estas herramientas.

Crear reglas permanentes

Tu configuración acatual del firewall esta almacenada en el kernel, y esto se pierde al reiniciar la máquina.  Tengo en mi lista de cosas por hacer los comandos iptables-save e iptables-restore. Cuando lo haga sera guay, lo prometo.

Mientras tanto pon los comandos requeridos y las reglas en un scrpit que se inicialize al arrancar la máquina. Comprueba que haces algo inteligente si uno de los comandos falla (normalmente 'exec /sbin/sulogin').


Siguiente AnteriorContenidos