Sur cette page
Comprendre les conditions de correspondance du filtre de pare-feu
Avant de définir des termes pour les filtres de pare-feu, vous devez comprendre comment les conditions de correspondance que vous spécifiez dans un terme sont gérées et comment spécifier différents types de conditions de correspondance pour obtenir les résultats de filtrage souhaités. Une condition de correspondance est constituée d’une chaîne (appelée instruction de correspondance) qui définit la condition de correspondance. Les conditions de correspondance sont les valeurs ou les champs qu’un paquet doit contenir.
Conditions de correspondance du filtre
Dans l’instruction d’un terme de filtre de pare-feu, vous spécifiez les conditions de paquet qui déclenchent l’action dans l’une from
des then
instructions : then avec différentes options, then interface ou then vlan. Toutes les conditions de l’instruction doivent correspondre pour l’action from
à entreprendre. L’ordre dans lequel vous spécifiez les conditions de correspondance n’a pas d’importance, car un paquet doit répondre à toutes les conditions d’un terme pour qu’une correspondance se produise.
Si vous spécifiez aucune condition de correspondance dans un terme, ce terme correspond à tous les paquets.
Une condition individuelle dans une instruction ne peut pas contenir une from
liste de valeurs. Par exemple, vous ne pouvez pas spécifier de plages numériques ou plusieurs adresses source ou de destination.
Les conditions individuelles d’une from
déclaration ne peuvent pas être annulées. Une condition annulée est une incompatibilité explicite.
Conditions de correspondance du filtre numérique
Les conditions de filtre numérique correspondent aux champs de paquet identifiés par une valeur numérique, tels que les numéros de port et de protocole. Pour les conditions de correspondance de filtre numérique, vous spécifiez un mot-clé qui identifie la condition et une valeur unique à laquelle un champ d’un paquet doit correspondre.
Vous pouvez spécifier la valeur numérique de l’une des manières suivantes :
Single number (Nombre unique) : une correspondance se produit si la valeur du champ correspond au nombre. Par exemple :
source-port 25;
Texte synonyme d’un seul nombre : une correspondance se produit si la valeur du champ correspond au nombre qui correspond au synonyme. Par exemple :
source-port http;
Pour spécifier plusieurs valeurs dans un terme de filtre, vous devez entrer chaque valeur dans sa propre instruction de correspondance, qui est une chaîne qui définit une condition de correspondance. Par exemple, une correspondance se produit dans le terme suivant si la valeur de vlan est 10 ou 30.
[edit firewall family family-name filter filter-name term term-name from] vlan 10; vlan 30;
Les restrictions suivantes s’appliquent aux conditions de correspondance de filtre numérique :
Vous ne pouvez pas spécifier une plage de valeurs.
Vous ne pouvez pas spécifier une liste de valeurs séparées par des virgules.
Vous ne pouvez pas exclure une valeur spécifique dans une condition de correspondance de filtre numérique. Par exemple, vous ne pouvez pas spécifier une condition qui correspondrait uniquement si la condition de correspondance n’était pas égale à une valeur donnée.
Conditions de correspondance du filtre d’interface
Les conditions de correspondance du filtre d’interface peuvent correspondre aux valeurs de nom d’interface dans un paquet. Pour les conditions de correspondance du filtre d’interface, spécifiez le nom de l’interface, par exemple :
[edit firewall family family-name filter filter-name term term-name from] user@switch# set interface ge-0/0/1
Les interfaces de port et VLAN n’utilisent pas de numéros d’unité logique. Toutefois, un filtre de pare-feu appliqué à une interface de routeur peut spécifier le numéro d’unité logique dans la condition de correspondance du filtre d’interface, par exemple :
[edit firewall family family-name filter filter-name term term-name from] user@switch# set interface ge-0/1/0.0
Vous pouvez inclure le caractère générique dans le * nom de l’interface, par exemple :
[edit firewall family family-name filter filter-name term term-name from] user@switch# set interface ge-0/*/1 user@switch# set interface ge-0/1/* user@switch# set interface ge-*
Conditions de correspondance du filtre d’adresse IP
Les conditions de correspondance du filtre d’adresses peuvent correspondre à des valeurs de préfixe dans un paquet, telles que les préfixes IP source et de destination. Pour les conditions de correspondance du filtre d’adresses, vous spécifiez un mot-clé qui identifie le champ et un préfixe de ce type auquel un paquet doit correspondre.
Vous spécifiez l’adresse sous la forme d’un préfixe unique. Une correspondance se produit si la valeur du champ correspond au préfixe. Par exemple :
[edit firewall family family-name filter filter-name term term-name from] user@switch# set destination-address 10.2.1.0/28;
Chaque préfixe contient une instruction implicite 0/0 except qui signifie que tout préfixe qui ne correspond pas au préfixe spécifié est explicitement considéré comme ne correspondant pas.
Pour spécifier le préfixe d’adresse, utilisez la notation prefix/prefix-length. Si vous omettez prefix-length, la valeur par défaut est /32. Par exemple :
[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;
Pour spécifier plusieurs adresses IP dans un terme de filtre, vous devez entrer chaque adresse dans sa propre instruction de correspondance. Par exemple, une correspondance se produit dans le terme suivant si la valeur du champ correspond à l’un source-address des préfixes d’adresse source suivants :
[edit firewall family family-name filter filter-name term term-name from] user@switch# set source-address 10.0.0.0/8 user@switch# set source-address 10.1.0.0/16
Conditions de correspondance du filtre d’adresse MAC
Les conditions de correspondance du filtre d’adresse MAC peuvent correspondre aux valeurs d’adresse MAC source et de destination dans un paquet. Pour les conditions de correspondance du filtre d’adresse MAC, vous spécifiez un mot-clé qui identifie le champ et une valeur de ce type qu’un paquet doit correspondre.
Vous pouvez spécifier l’adresse MAC sous la forme de six octets hexadécimaux dans les formats suivants :
[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 00:11:22:33:44:55
[edit firewall family family-name filter filter-name term term-name from] user@switch# set destination-mac-address 001122334455
Pour spécifier plusieurs adresses MAC dans un terme de filtre, entrez chaque adresse MAC dans sa propre instruction de correspondance. Par exemple, une correspondance se produit dans le terme suivant si la valeur du champ correspond à l’une source-mac-address des adresses suivantes.
[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
Conditions de correspondance du filtre de champ de bits
Les conditions de filtre de champ binaire correspondent aux champs de paquet si des bits particuliers de ces champs sont ou ne sont pas définis. Vous pouvez faire correspondre les options IP, les indicateurs TCP et les champs de fragmentation IP. Pour les conditions de correspondance de filtre de champ de bits, vous spécifiez un mot-clé qui identifie le champ et effectue des tests pour déterminer si l’option est présente dans le champ.
Pour spécifier la valeur du champ binaire à faire correspondre, placez-la entre guillemets. Par exemple, une correspondance se produit si le RST bit du champ TCP flags est défini :
[edit firewall family family-name filter filter-name term term-name from] user@switch# set tcp-flags "rst"
En règle générale, vous spécifiez les bits à tester à l’aide de mots-clés. Les mots-clés de correspondance de champ binaire correspondent toujours à une seule valeur de bit. Vous pouvez également spécifier des champs de bits sous forme de nombres hexadécimaux ou décimaux.
Pour faire correspondre plusieurs valeurs de champ de bits, utilisez les opérateurs logiques, décrits à la section Tableau 1. Les opérateurs sont répertoriés dans l’ordre, de la priorité la plus élevée à la priorité la plus basse. Les opérations sont associatives à gauche.
Opérateurs logiques |
Description |
---|---|
! |
Négation. |
& |
ET logique. |
| |
OU logique. |
Pour annuler une correspondance, faites précéder la valeur d’un point d’exclamation. Par exemple, une correspondance ne se produit que si le bit RST dans le champ TCP flags n’est pas défini :
[edit firewall family family-name filter filter-name term term-name from] user@switch# set tcp-flags "!rst"
Dans l’exemple suivant d’une opération logique AND, une correspondance se produit si le paquet est le paquet initial d’une session TCP :
[edit firewall family family-name filter filter-name term term-name from] user@switch# set tcp-flags "syn&!ack"
Dans l’exemple suivant d’une opération OR logique, une correspondance se produit si le paquet fait partie de l’établissement ou de la destruction d’une session TCP :
[edit firewall family family-name filter filter-name term term-name from] user@switch# set tcp-flags "syn|fin"
Dans le cas d’une opération OU logique, vous pouvez spécifier un maximum de deux conditions de correspondance dans un même terme. Si vous devez faire correspondre plus de deux valeurs de champ binaire dans une opération OU logique, configurez la même condition de correspondance en termes consécutifs avec des valeurs de champ binaire supplémentaires. Dans l’exemple suivant, les deux termes configurés correspondent au bit SYN, ACK, FIN ou RST dans le champ Indicateurs TCP :
[edit firewall family family-name filter filter-name term term-name1 from] user@switch# set tcp-flags "syn|ack" [edit firewall family family-name filter filter-name term term-name2 from] user@switch# set tcp-flags "fin|rst"
Vous pouvez utiliser des synonymes textuels pour spécifier des correspondances de champs binaires courantes. Vous spécifiez ces correspondances sous la forme d’un seul mot-clé. Dans l’exemple suivant d’un synonyme textuel, une correspondance se produit si le paquet est le paquet initial d’une session TCP :
[edit firewall family family-name filter filter-name term term-name from] user@switch# set tcp-flags tcp-initial