Guía de administración del sistema: servicios IP

Uso de la función de filtros de paquetes del filtro IP de Oracle Solaris

Los filtros de paquetes se configuran con los conjuntos de reglas de filtros de paquetes. Utilice el comando ipf para trabajar con conjuntos de reglas de filtros de paquetes. Para obtener más información sobre el comando ipf, consulte el comando ipf(1M).

Puede crear reglas de filtros de paquetes en la línea de comandos, utilizando el comando ipf, o en un archivo de configuración de filtros de paquetes. Si desea que las reglas de filtros de paquetes se carguen durante el inicio, cree un archivo de configuración denominado /etc/ipf/ipf.conf en el que colocar las reglas de filtros de paquetes. Si no desea que las reglas de filtros de paquetes se carguen durante el inicio, coloque el archivo ipf.conf en la ubicación que prefiera y active manualmente los filtros de paquetes utilizando el comando ipf.

Puede mantener dos conjuntos de reglas de filtros de paquetes con el filtro IP de Oracle Solaris: el conjunto de reglas activo y el conjunto de reglas inactivo. En la mayoría de los casos, se trabaja con el conjunto de reglas activo. Sin embargo, el comando ipf -I permite aplicar la acción del comando a la lista de reglas inactivas. El filtro IP de Oracle Solaris no utiliza la lista de reglas inactivas a menos que lo seleccione. La lista de reglas inactivas es un lugar donde guardar las reglas para que no afecten a los filtros de paquetes activos.

El filtro IP de Oracle Solaris procesa las reglas desde el principio de la lista de reglas configuradas hasta el final, antes de transferir o bloquear un paquete. El filtro IP de Oracle Solaris incluye un indicador que determina si se transferirá un paquete. Se aplica a todo el conjunto de reglas y determina si se pasará o bloqueará el paquete basándose en la última regla coincidente.

Existen dos excepciones para este proceso. La primera tiene lugar si el paquete coincide con una regla que contenga la palabra clave quick. Si una regla incluye la palabra clave quick, se lleva a cabo la acción de dicha regla y no se comprueban las reglas subsiguientes. La segunda excepción se produce si el paquete coincide con una regla que contenga la palabra clave group. Si un paquete coincide con un grupo, sólo se comprueban las reglas etiquetadas con el grupo.

Configuración de reglas de filtros de paquetes

Utilice la sintaxis siguiente para crear reglas de filtros de paquetes:

acción [in|out] opción palabra clave, palabra clave...

  1. Cada regla empieza por una acción. El filtro IP de Oracle Solaris aplica la acción al paquete si éste coincide con la regla. La lista siguiente incluye las acciones utilizadas comúnmente que se aplican a un paquete.

    block

    Impide que el paquete se transfiera a través del filtro.

    pass

    Permite que el paquete se transfiera a través del filtro.

    log

    Registra el paquete pero no determina si se bloquea o se transfiere. Utilice el comando ipmon para ver el registro.

    count

    Incluye el paquete en las estadísticas de filtro. Utilice el comando ipfstat para ver las estadísticas.

    skip número

    Hace que el filtro omita número reglas de filtros.

    auth

    Solicita la autenticación de paquetes por parte de un programa de usuario que valida la información de paquetes. El programa determina si el paquete se transferirá o se bloqueará.

    preauth

    Solicita que el filtro consulte una lista autenticada previamente para determinar la acción que se llevará a cabo con el paquete.

  2. Según la acción que se lleve a cabo, la siguiente palabra debe ser in o out. Su elección determina si la regla de filtro de paquetes se aplica a un paquete entrante o saliente.

  3. A continuación, puede elegir en una lista de opciones. Si utiliza más de una opción, debe hacerlo en el orden siguiente.

    log

    Registra el paquete si la regla es la última regla coincidente. Utilice el comando ipmon para ver el registro.

    quick

    Ejecuta la regla que contiene la opción quick si hay coincidencia de paquetes. Se detiene cualquier comprobación de reglas adicional.

    on nombre_interfaz

    Aplica la regla sólo si el paquete se transfiere a la interfaz especificada o desde ella.

    dup-to nombre_interfaz

    Copia el paquete y envía el duplicado de nombre_interfaz a una dirección IP especificada opcionalmente.

    to nombre_interfaz

    Transfiere el paquete a una cola de salida en nombre_interfaz.

  4. Una vez especificadas las opciones, puede elegir entre varias palabras clave que determinan si el paquete coincide con la regla. Las siguientes palabras clave deben utilizarse en el orden que se indica.


    Nota –

    De modo predeterminado, cualquier paquete que no coincida con ninguna regla en el archivo de configuración se transfiere a través del filtro.


    tos

    Filtra el paquete basándose en el valor de tipo de servicio expresado como entero decimal o hexadecimal.

    ttl

    Hace coincidir el paquete basándose en su valor de tiempo de vida. El valor de tiempo de vida que se guarda en un paquete indica el tiempo que puede permanecer un paquete en la red antes de que se descarte.

    proto

    Coincide con un protocolo específico. Puede utilizar cualquier nombre de protocolo especificado en el archivo /etc/protocols, o utilizar un número decimal para representar el protocolo. La palabra clave tcp/udp se puede utilizar para hacer coincidir un paquete TCP o UDP.

    from/to/all/ any

    Hace coincidir cualquiera o todos los elementos siguientes: la dirección IP de origen, la dirección IP de destino y el número de puerto. La palabra clave all se utiliza para aceptar paquetes de todos los orígenes y con todos los destinos.

    with

    Hace coincidir los atributos especificados asociados con el paquete. Inserte las palabras not o no delante de la palabra clave para que el paquete coincida sólo si no está presente la opción.

    flags

    Se utiliza para que TCP filtra basándose en los indicadores TCP configurados. Para obtener más información sobre los indicadores TCP, consulte la página del comando man ipf(4).

    icmp-type

    Filtra de acuerdo con el tipo de ICMP. Esta palabra clave sólo se utiliza cuando la opción proto se configura como icmp y no se utiliza si se usa la opción flags.

    keep opciones_guardado

    Determina la información que se guarda para un paquete. Las opciones_guardado disponibles incluyen las opciones state y frags. La opción state guarda información sobre la sesión y se puede guardar en paquetes TCP, UDP e ICMP. La opción frags guarda información sobre los fragmentos de paquetes y la aplica a fragmentos posteriores. opciones_guardado permite la transferencia de los paquetes coincidentes sin pasar por la lista de control de acceso.

    head número

    Crea un grupo para las reglas de filtros, que se indica mediante el número número.

    group número

    Agrega la regla al número de grupo número en lugar de agregarla al grupo predeterminado. Todas las reglas de filtros se colocan en el grupo 0 si no se especifica otro.

El ejemplo siguiente ilustra cómo agrupar la sintaxis de reglas de filtros de paquetes para crear una regla. Para bloquear el tráfico entrante de la dirección IP 192.168.0.0/16, debe incluir la siguiente regla en la lista:


block in quick from 192.168.0.0/16 to any

Para ver la gramática y sintaxis completa que se utiliza para escribir reglas de filtros de paquetes, consulte la página del comando man ipf(4) Para conocer las tareas asociadas con los filtros de paquetes, consulte Administración de conjuntos de reglas de filtros de paquetes para el filtro IP de Oracle Solaris. Para ver una explicación del esquema de direcciones IP (192.168.0.0/16) de este ejemplo, consulte el Capítulo 2Planificación de la red TCP/IP (tareas).