Nesta página
Entendendo as condições de correspondência do filtro de firewall
Antes de definir os termos para filtros de firewall, você deve entender como as condições em um termo são tratadas e como especificar condições de correspondência de interface, numérico, endereço e filtro de campo bit para alcançar os resultados desejados do filtro.
Condições de correspondência do filtro
Na declaração de um termo de filtro de firewall, você especifica as condições que o pacote deve combinar para que a ação na declaração seja tomada.from
then
Todas as condições devem combinar para que a ação seja implementada. A ordem na qual você especifica as condições de correspondência não é importante, porque um pacote deve corresponder a todas as condições em um termo para que uma correspondência ocorra.
Se você especificar vários valores para a mesma condição, uma correspondência em qualquer um desses valores corresponde a essa condição. Por exemplo, se você especificar vários endereços de origem IP usando a declaração, um pacote que contém qualquer um desses endereços de origem IP corresponde à condição.source-address
Em alguns casos, você pode especificar vários valores para a mesma condição, incluindo os possíveis valores em parênteses quadrados, como em:
[edit firewall family family-name filter filter-name term term-name from] user@switch# set protocol (icmp | udp)
Em outros casos, você deve inserir várias declarações, como em:
[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
Se você especificar nenhuma condição de correspondência em um termo, esse termo corresponde a todos os pacotes.
Ao contrário dos filtros de firewall tradicionais do Junos OS, você não pode usar em uma declaração de condição para negar a condição.except
Condições de correspondência do filtro numérico
Você pode especificar condições de correspondência de filtro numérico identificadas por um valor numérico, como números de porta e protocolo. Para condições de correspondência de filtro numérico, você especifica a condição e um único valor que um campo em um pacote deve conter para ser considerado compatível.
Você pode especificar o valor numérico de uma das seguintes maneiras:
Número único — uma partida ocorre se o valor do campo corresponder ao número. Por exemplo, para combinar com o tráfego da Telnet:
[edit firewall family family-name filter filter-name term term-name from] user@switch# set source-port 23
Sinônimo de texto para um único número — uma partida ocorre se o valor do campo corresponder ao número que corresponde ao sinônimo. Por exemplo, para combinar com o tráfego da Telnet:
[edit firewall family family-name filter filter-name term term-name from] user@switch# set source-port telnet
Para especificar vários valores para a mesma condição de correspondência em um termo de filtro, digite cada valor em sua própria declaração de correspondência. Por exemplo, uma correspondência ocorre no termo seguinte se o valor da porta de origem no pacote for de 22 ou 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
Condições de correspondência do filtro de interface
Você pode especificar uma condição de correspondência do filtro de interface para combinar com uma interface na qual um pacote é recebido ou transmitido. Por exemplo, se você aplicar um filtro a uma VLAN, você pode querer que o filtro combine em algumas interfaces que participem da VLAN e não combinem em outras interfaces na VLAN. Quando você especifica o nome da interface, você deve incluir uma unidade lógica.
[edit firewall family family-name filter filter-name term term-name from] user@switch# set interface ge-0/0/6.0
Neste exemplo, o caractere final () especifica a unidade lógica.0
Você pode incluir o curinga () como parte do nome da interface.*
Por exemplo:
[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.*
Observe que você deve especificar um valor ou um curinga para a unidade lógica.
Condições de correspondência do filtro de endereço IP
Você pode especificar uma condição de correspondência de filtro de endereço para combinar com uma fonte de IP ou endereço de destino ou prefixo em um pacote. Especifique o tipo de endereço ou prefixo e o endereço ou o próprio prefixo. Por exemplo:
[edit firewall family family-name filter filter-name term term-name from] user@switch# set destination-address 10.2.1.0/24;
Se você omitir o comprimento do prefixo, ele fica inadimplente em ./32
Por exemplo:
[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 mais de um endereço IP ou prefixo em um termo de filtro, digite cada endereço ou prefixo em sua própria declaração de correspondência. Por exemplo, uma correspondência ocorre no termo a seguir se o endereço fonte de um pacote corresponder a qualquer um dos seguintes prefixos:
[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
Condições de correspondência do filtro de endereço MAC
Você pode especificar uma condição de correspondência do filtro de endereço MAC para combinar com um endereço MAC de origem ou destino. Você especifica o tipo de endereço e o valor que um pacote deve conter para ser considerado compatível.
Você pode especificar o endereço MAC como seis bytes hexadimais em qualquer um dos seguintes 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
Independentemente dos formatos que você usa, o sistema resolve o endereço para o formato padrão, neste caso 00:11:22:33:44:55.
Para especificar mais de um endereço MAC em um termo de filtro, insira cada endereço MAC em sua própria declaração de correspondência. Por exemplo, uma correspondência ocorre no termo a seguir se o valor do endereço fonte MAC corresponder a qualquer um dos seguintes endereços:
[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
Condições de correspondência do filtro de campo bit
Você pode especificar as condições de correspondência do filtro de campo bit para combinar bits específicos em determinados campos em quadros Ethernet e cabeçalhos IP, TCP, UDP e ICMP. Você geralmente especifica o campo e a bit dentro do campo que deve ser definido em um pacote para ser considerado compatível.
Na maioria dos casos, você pode usar uma palavra-chave para especificar a bit em que deseja combinar. Por exemplo, para combinar em um pacote TCP SYN que você pode inserir , como em:syn
[edit firewall family family-name filter filter-name term term-name from] user@switch# set tcp-flags syn
Você também pode entrar porque a bit SYN é a terceira parte menos significativa do campo de bandeiras tcp-flags de 8 bits:0x02
[edit firewall family family-name filter filter-name term term-name from] user@switch# set tcp-flags 0x02
Para combinar com vários valores de campo bit, use os operadores lógicos, descritos em .Tabela 1 Os operadores estão listados em ordem da mais alta precedência à menor precedência. As operações são avaliadas da esquerda para a direita.
Operadores lógicos |
Descrição |
---|---|
|
Negação |
|
Lógica e |
|
OR lógica |
Se você usar um operador lógico, reduza os valores entre aspas e não inclua nenhum espaço. Por exemplo, a declaração a seguir corresponde ao segundo pacote de um aperto de mão TCP:
[edit firewall family family-name filter filter-name term term-name from] user@switch# set tcp-flags "syn&ack"
Para negar uma partida, preceder o valor com um ponto de exclamação. Por exemplo, a declaração a seguir corresponde apenas ao pacote inicial de um aperto de mão TCP:
[edit firewall family family-name filter filter-name term term-name from] user@switch# set tcp-flags "syn&!ack"
Você pode usar sinônimos de texto para especificar algumas partidas comuns de campo bit. Por exemplo, a declaração a seguir também corresponde ao pacote inicial de um aperto de mão TCP:
[edit firewall family family-name filter filter-name term term-name from] user@switch# set tcp-initial