Siguiente AnteriorContenidos

5. Cómo pasan los paquetes por los filtros

El kernel empieza con tres listas de reglas, estas listas son llamadas firewall chains, o sólo chains. Las tres chains son INPUT, OUTPUT y FORWARD (Entrada, Salida y Reenvío)

¡Esto es muy diferente de cómo tranajaban los kernels 2.0 y 2.2 !

Para los fans del arte ASCII,  las reglas se interpretan así:

                    _____
                   /     \
 -->[Decisión]--->|REENVÍO|------->
    [de ruteo]     \_____/        ^ 
         |                        |
         v                       ____  
       _______                  /    \ 
      /       \                |SALIDA|
      |ENTRADA|                 \____/ 
      \_______/                   ^    
         |                        |
          ----> Proceso  Local ----
Los tres "círculos" representan las tres chains mecionadas anteriormente. Cuando up paquete alcanza uno de los círculos del diagrama, se examina la chain para decidir el destino del paquete. Si la chain dice que se debe hacer un DROP del paquete, éste muere ahí, pero si se acepta el paquete, continúa a través del diagrama .

Una chain es una lista de reglas. Cada una de ellas dice "si la cabecera de un paquete se parece a esto, entonces esto es lo que se debe hacer con ese paquete". Si una regla no corresponde con el paquete, entonces la siguiente regla de la chain se examina. Finalmente, si no hay más reglas que consultar, el kernel mirará la política para decidir qué se debe hacer. En un sistema con una buena política de seguridad, la política normalmente será de hacer DROP del paquete.

  1. Cuando un paquete llega (digamos, por la tarjeta Ethernet) el kernel mira el destino de dicho paquete, esto se llama "ruteo" o "enrutamiento".
  2. Si está destinado a ese equipo, el paquete pasa a la chain de entrada. Si la pasa, cualquier proceso esperando el paquete lo recibirá.
  3. De otro modo, si el kernel no tiene activado el reenvío, o si no sabe cómo reenviar el paquete, éste será ignorado (DROP). Si el reenvío está activado y el paquete está destinado para otro interface de red (si tienes otro), entonces el paquete irá al chain de reenvío (FORDWARD). Si es aceptado, se enviará fuera.
  4. Finalmente, si un programa ejecutándose en el equipo puede enviar paquetes, éstos pasarán por la chain de salida (OUTPUT) inmediantamente. Si dice aceptar, entonces el paquete saldrá a donde quiera que estubiese destinado.

Siguiente AnteriorContenidos