Descripción de las condiciones de coincidencia de filtros de firewall
Antes de definir términos para filtros de firewall, debe comprender cómo se manejan las condiciones de un término y cómo especificar condiciones de coincidencia de interfaz, numéricos, de dirección y de filtro de campo de bits para lograr los resultados de filtro deseados.
Condiciones de coincidencia de filtros
En la from
instrucción de un término de filtro de firewall , se especifican las condiciones que debe cumplir el paquete para la acción de la then
instrucción que se va a realizar. Todas las condiciones deben coincidir para que la acción se implemente. El orden en el que se especifican las condiciones de coincidencia no es importante, ya que un paquete debe coincidir con todas las condiciones de un término para que se produzca una coincidencia.
Si especifica varios valores para la misma condición, una coincidencia en cualquiera de esos valores coincide con esa condición. Por ejemplo, si especifica varias direcciones IP de origen mediante la source-address
instrucción, un paquete que contenga cualquiera de esas direcciones de origen IP coincidirá con la condición. En algunos casos, puede especificar varios valores para la misma condición encerrando los valores posibles entre corchetes, como en:
[edit firewall family family-name filter filter-name term term-name from] user@switch# set protocol (icmp | udp)
En otros casos, debe introducir varias instrucciones, como en:
[edit firewall family family-name filter filter-name term term-name from] user@switch# set source-address 10.1.1.1 user@switch# set source-address 10.1.1.2
Si especifica que no hay condiciones de coincidencia en un término, ese término coincidirá con todos los paquetes.
A diferencia de los filtros de firewall de Junos OS tradicionales, no se puede utilizar except
en una instrucción de condición para negar la condición.
Condiciones de coincidencia del filtro numérico
Puede especificar condiciones de coincidencia de filtro numérico que se identifican mediante un valor numérico, como números de puerto y protocolo. Para las condiciones de coincidencia de filtro numérico, se especifica la condición y un único valor que debe contener un campo de un paquete para que se considere una coincidencia.
Puede especificar el valor numérico de una de las siguientes maneras:
Número único: se produce una coincidencia si el valor del campo coincide con el número. Por ejemplo, para hacer coincidir el tráfico de Telnet:
[edit firewall family family-name filter filter-name term term-name from] user@switch# set source-port 23
Sinónimo de texto para un solo número: se produce una coincidencia si el valor del campo coincide con el número que corresponde al sinónimo. Por ejemplo, para hacer coincidir el tráfico de Telnet:
[edit firewall family family-name filter filter-name term term-name from] user@switch# set source-port telnet
Para especificar varios valores para la misma condición de coincidencia en un término de filtro, introduzca cada valor en su propia instrucción de coincidencia. Por ejemplo, se produce una coincidencia en el siguiente término si el valor del puerto de origen en el paquete es 22 o 23.
[edit firewall family family-name filter filter-name term term-name from] user@switch# set source-port 22 user@switch# set source-port 23
Condiciones de coincidencia del filtro de interfaz
Puede especificar una condición de coincidencia de filtro de interfaz para que coincida con una interfaz en la que se recibe o transmite un paquete. En este ejemplo, el carácter final (0
) especifica la unidad lógica. Puede incluir el comodín (*
) como parte del nombre de la interfaz. Por ejemplo:
[edit firewall family family-name filter filter-name term term-name from] user@switch# set interface ge-0/*/6.0 user@switch# set interface ge-0/1/*.0 user@switch# set interface ge-0/0/6.*
Tenga en cuenta que debe especificar un valor o un comodín para la unidad lógica.
Condiciones de coincidencia del filtro de direcciones IP
Puede especificar una condición de coincidencia de filtro de direcciones para que coincida con una dirección IP de origen o destino o un prefijo en un paquete. Especifique la dirección o el tipo de prefijo y la dirección o el prefijo en sí. Por ejemplo:
[edit firewall family family-name filter filter-name term term-name from] user@switch# set destination-address 10.2.1.0/24;
Si omite la longitud del prefijo, el valor predeterminado es /32
. Por ejemplo:
[edit firewall family family-name filter filter-name term term-name from] user@switch# set destination-address 10 [edit firewall family family-name filter filter-name term term-name from] user@switch# show destination-address { 10.0.0.0/32; }
Para especificar más de una dirección IP o prefijo en un término de filtro, escriba cada dirección o prefijo en su propia instrucción de coincidencia. Por ejemplo, se produce una coincidencia en el término siguiente si la dirección de origen de un paquete coincide con alguno de los siguientes prefijos:
[edit firewall family family-name filter filter-name term term-name from] user@switch# set source-address 10.1.0.0/16 user@switch# set source-address 10.2.0.0/16
Condiciones de coincidencia del filtro de campo de bits
Puede especificar condiciones de coincidencia de filtro de campo de bits para que coincidan con bits concretos dentro de determinados campos de tramas Ethernet y encabezados IP, TCP, UDP e ICMP. Por lo general, se especifica el campo y el bit dentro del campo que se debe establecer en un paquete para que se considere una coincidencia.
En la mayoría de los casos, puede usar una palabra clave para especificar el bit en el que desea coincidir. Por ejemplo, para hacer coincidir en un paquete TCP SYN puede escribir syn
, como en:
[edit firewall family family-name filter filter-name term term-name from] user@switch# set tcp-flags syn
También puede introducir 0x02
porque el bit SYN es el tercer bit menos significativo del campo tcp-flags de 8 bits:
[edit firewall family family-name filter filter-name term term-name from] user@switch# set tcp-flags 0x02
Para hacer coincidir varios valores de campo de bits, utilice los operadores lógicos, que se describen en Tabla 1. Los operadores se enumeran en orden de mayor a menor prioridad. Las operaciones se evalúan de izquierda a derecha.
Operadores lógicos |
Description |
---|---|
|
Negación |
|
Lógica Y |
|
Lógica O |
Si utiliza un operador lógico, escriba los valores entre comillas y no incluya espacios. Por ejemplo, la instrucción siguiente coincide con el segundo paquete de un protocolo de enlace TCP:
[edit firewall family family-name filter filter-name term term-name from] user@switch# set tcp-flags "syn&ack"
Para anular una coincidencia, preceda el valor con un signo de exclamación. Por ejemplo, la instrucción siguiente coincide sólo con el paquete inicial de un protocolo de enlace TCP:
[edit firewall family family-name filter filter-name term term-name from] user@switch# set tcp-flags "syn&!ack"
Puede utilizar sinónimos de texto para especificar algunas coincidencias comunes de campos de bits. Por ejemplo, la instrucción siguiente también coincide con el paquete inicial de un protocolo de enlace TCP:
[edit firewall family family-name filter filter-name term term-name from] user@switch# set tcp-initial