Página siguiente Página anterior Índice general

6. Cómo pasan los paquetes por los filtros

El núcleo empieza con tres listas de reglas en la tabla de «filtros»; estas listas se llaman cadenas cortafuegos o sencillamente cadenas. Se llaman INPUT, OUTPUT y FORWARD

ˇEsto es muy diferente a la manera de trabaja de los núcleos 2.0 y 2.2!

Para los fans del «ASCII-art», las cadenas están dispuestas de esta manera:

                                _____
Entrada                        /     \         Salida
       -->[Decisión de   ]--->|FORWARD|------->
          [Encaminamiento]     \_____/        ^
               |                              |
               v                             ____
              ___                           /    \
             /   \                         |OUTPUT|
            |INPUT|                         \____/
             \___/                            ^
               |                              |
                -------> Proceso Local -------

Estos tres círculos representan las tres cadenas que mencioné antes. Cuando un paquete alcanza un círculo en el diagrama, se examina esa cadena para decidir la suerte del paquete. Si la cadena dice que hay que descartar (DROP) el paquete, se le mata ahí mismo, pero si la cadena dice que hay aceptarlo (ACCEPT), continúa su camino por el diagrama.

Una cadena es una lista de reglas. Cada regla dice «si el paquete se parece a esto, entonces esto otro es lo que hay que hacer con él». Si la regla no se ajusta al paquete, entonces se consulta la siguiente regla en la lista. Al final, si no hay más reglas por consultar, el núcleo mira la política de la cadena para decidir qué hacer. En un sistema consciente de la seguridad, esta política suele decirle al núcleo que descarte (DROP) el paquete.

  1. Cuando llega un paquete (digamos, por la tarjeta Ethernet) el núcleo mira primero su destino: a esto se le llama «encaminamiento» (routing).
  2. Si está destinado a esa misma máquina, el paquete entra en el diagrama hacia la cadena INPUT. Si pasa de aquí, cualquier proceso que esté esperando por el paquete, lo recibirá.
  3. En caso contrario, si el núcleo no tiene las capacidades de reenvío activadas, o no sabe hacia dónde reenviar el paquete, se descarta el paquete. Si está activado el reenvío, y el paquete está destinado a otra interfaz de red (si tenemos otra), entonces el paquete pasa directamente a la cadena FORWARD de nuestro diagrama. Si es ACCEPTado, entonces saldrá de la máquina.
  4. Finalmente, si un programa que se ejecuta en la máquina puede enviar paquetes de red. Estos paquetes pasan por la cadena OUTPUT de forma inmediata: si los acepta (ACCEPT), entonces el paquete continúa hacia afuera, dirigido a la interfaz a la que estuviera destinada.


Página siguiente Página anterior Índice general