EN ESTA PÁGINA
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 filtros de interfaz, numéricos, de dirección y de campo de bits para lograr los resultados de filtro deseados.
Condiciones de coincidencia de filtro
En la from
instrucción de un término de filtro de firewall , se especifican las condiciones que el paquete debe coincidir para la acción en 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 coincide con la condición. En algunos casos, puede especificar varios valores para la misma condición adjuntando 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 no especifica condiciones de coincidencia en un término, ese término coincide con todos los paquetes.
A diferencia de los filtros de firewall junos OS tradicionales, no puede usar except
en una instrucción condition para negar la condición.
Condiciones de coincidencia de 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, especifique la condición y un valor único que un campo de un paquete debe contener para considerarse 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, escriba cada valor en su propia instrucción match. Por ejemplo, se produce una coincidencia en el término siguiente si el valor del puerto de origen del 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 de 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 se transmite un paquete. Por ejemplo, si aplica un filtro a una VLAN, es posible que desee que el filtro coincida en algunas interfaces que participen en la VLAN y no coincidan en otras interfaces de la VLAN. Cuando especifique el nombre de la interfaz, debe incluir una unidad lógica.
[edit firewall family family-name filter filter-name term term-name from] user@switch# set interface ge-0/0/6.0
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 de filtro de dirección IP
Puede especificar una condición de coincidencia de filtro de dirección para que coincida con una dirección IP de origen o destino, o un prefijo en un paquete. Especifique el tipo de dirección o prefijo y la dirección o 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, de forma predeterminada /32
es . 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 un prefijo o dirección IP en un término de filtro, escriba cada dirección o prefijo en su propia instrucción match. Por ejemplo, se produce una coincidencia en el término siguiente si la dirección de origen de un paquete coincide con cualquiera de los prefijos siguientes:
[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 de filtro de dirección MAC
Puede especificar una condición de coincidencia de filtro de dirección MAC para que coincida con una dirección MAC de origen o destino. Se especifica el tipo de dirección y el valor que debe contener un paquete para considerarse una coincidencia.
Puede especificar la dirección MAC como seis bytes hexadecimales en cualquiera de los siguientes formatos:
[edit firewall family family-name filter filter-name term term-name from] user@switch# set destination-mac-address 00:11:22:33:44:55
[edit firewall family family-name filter filter-name term term-name from] user@switch# set destination-mac-address 0011.2233.4455
[edit firewall family family-name filter filter-name term term-name from] user@switch# set destination-mac-address 001122334455
Independientemente de los formatos que utilice, el sistema resuelve la dirección al formato estándar, en este caso 00:11:22:33:44:55.
Para especificar más de una dirección MAC en un término de filtro, escriba cada dirección MAC en su propia instrucción de coincidencia. Por ejemplo, se produce una coincidencia en el término siguiente si el valor de la dirección de origen MAC coincide con alguna de las siguientes direcciones:
[edit firewall family family-name filter filter-name term term-name from] user@switch# set source-mac-address 00:11:22:33:44:55 user@switch# set source-mac-address 00:11:22:33:20:15
Condiciones de coincidencia de filtro de campo de bits
Puede especificar condiciones de coincidencia de filtro de campo de bits para que coincidan con bits particulares dentro de ciertos campos en tramas Ethernet e 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 coincidente.
En la mayoría de los casos, puede usar una palabra clave para especificar el bit en el que desea hacer 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 ingresar 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 desde la prioridad más alta hasta la más baja. Las operaciones se evalúan de izquierda a derecha.
Operadores lógicos |
Descripción |
---|---|
|
Negación |
|
Lógica Y |
|
Lógica O |
Si utiliza un operador lógico, encierre los valores entre comillas y no incluya ningún espacio. Por ejemplo, la siguiente instrucción 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 negar una coincidencia, precede al valor con un punto de exclamación. Por ejemplo, la siguiente instrucción solo 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-flags "syn&!ack"
Puede usar sinónimos de texto para especificar algunas coincidencias de campo de bits comunes. Por ejemplo, la siguiente instrucción también coincide con el paquete inicial de un protocolo tcp:
[edit firewall family family-name filter filter-name term term-name from] user@switch# set tcp-initial