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 d’un terme sont gérées et comment spécifier des conditions de correspondance de filtre d’interface, numérique, d’adresse et de champ de bits pour obtenir les résultats de filtre souhaités.
Conditions de correspondance du filtre
Dans l’instruction d’un terme de filtre de pare-feu, vous spécifiez les conditions auxquelles le paquet doit correspondre pour que l’action de l’instruction then
from
soit exécutée. Toutes les conditions doivent être réunies pour que l’action soit mise en œuvre. 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 plusieurs valeurs pour la même condition, une correspondance sur l’une de ces valeurs correspond à cette condition. Par exemple, si vous spécifiez plusieurs adresses IP source à l’aide de l’instruction, un paquet contenant l’une source-address
de ces adresses IP source correspond à la condition. Dans certains cas, vous pouvez spécifier plusieurs valeurs pour la même condition en plaçant les valeurs possibles entre crochets, comme dans :
[edit firewall family family-name filter filter-name term term-name from] user@switch# set protocol (icmp | udp)
Dans d’autres cas, vous devez saisir plusieurs instructions, comme dans :
[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 vous spécifiez aucune condition de correspondance dans un terme, ce terme correspond à tous les paquets.
Contrairement aux filtres de pare-feu Junos OS traditionnels, vous ne pouvez pas utiliser except
dans une instruction de condition pour annuler la condition.
Conditions de correspondance du filtre numérique
Vous pouvez spécifier des conditions de correspondance de filtre numérique qui sont identifiées par une valeur numérique, telles que des numéros de port et de protocole. Pour les conditions de correspondance de filtre numérique, vous spécifiez la condition et une valeur unique qu’un champ d’un paquet doit contenir pour être considéré comme une correspondance.
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, pour faire correspondre le trafic Telnet :
[edit firewall family family-name filter filter-name term term-name from] user@switch# set source-port 23
Text synonym for a single number (Synonyme textuel d’un seul nombre) : une correspondance se produit si la valeur du champ correspond au nombre qui correspond au synonyme. Par exemple, pour faire correspondre le trafic Telnet :
[edit firewall family family-name filter filter-name term term-name from] user@switch# set source-port telnet
Pour spécifier plusieurs valeurs pour la même condition d’appariement dans un terme de filtre, entrez chaque valeur dans sa propre instruction d’appariement. Par exemple, une correspondance se produit dans le terme suivant si la valeur du port source dans le paquet est 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
Conditions de correspondance du filtre d’interface
Vous pouvez spécifier une condition de correspondance de filtre d’interface pour qu’elle corresponde à une interface sur laquelle un paquet est reçu ou transmis. Par exemple, si vous appliquez un filtre à un VLAN, vous souhaiterez peut-être que le filtre corresponde sur certaines interfaces qui font partie du VLAN et ne corresponde pas sur d’autres interfaces du VLAN. Lorsque vous spécifiez le nom de l’interface, vous devez inclure une unité logique.
[edit firewall family family-name filter filter-name term term-name from] user@switch# set interface ge-0/0/6.0
Dans cet exemple, le caractère final (0
) spécifie l’unité logique. 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/*/6.0 user@switch# set interface ge-0/1/*.0 user@switch# set interface ge-0/0/6.*
Notez que vous devez spécifier une valeur ou un caractère générique pour l’unité logique.
Conditions de correspondance du filtre d’adresse IP
Vous pouvez spécifier une condition de correspondance de filtre d’adresses pour qu’elle corresponde à une adresse IP source ou de destination ou à un préfixe dans un paquet. Spécifiez le type d’adresse ou de préfixe et l’adresse ou le préfixe lui-même. Par exemple :
[edit firewall family family-name filter filter-name term term-name from] user@switch# set destination-address 10.2.1.0/24;
Si vous omettez la longueur du préfixe, 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 ou préfixes dans un terme de filtre, entrez chaque adresse ou préfixe dans sa propre instruction de correspondance. Par exemple, une correspondance se produit dans le terme suivant si l’adresse source d’un paquet correspond à l’un des préfixes suivants :
[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
Conditions de correspondance du filtre d’adresse MAC
Vous pouvez spécifier une condition de correspondance de filtre d’adresse MAC pour correspondre à une adresse MAC source ou de destination. Vous spécifiez le type d’adresse et la valeur qu’un paquet doit contenir pour être considéré comme une correspondance.
Vous pouvez spécifier l’adresse MAC sous la forme de six octets hexadécimaux dans l’un des formats suivants :
[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
Quels que soient les formats que vous utilisez, le système résout l’adresse au format standard, dans ce cas 00 :11 :22 :33 :44 :55.
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 de l’adresse source MAC correspond à l’une 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
Vous pouvez spécifier des conditions de correspondance de filtre de champ binaire pour faire correspondre des bits particuliers dans certains champs des trames Ethernet et des en-têtes IP, TCP, UDP et ICMP. Vous spécifiez généralement le champ et le bit à l’intérieur du champ qui doivent être définis dans un paquet pour être considérés comme une correspondance.
Dans la plupart des cas, vous pouvez utiliser un mot-clé pour spécifier le bit sur lequel vous souhaitez faire correspondre. Par exemple, pour effectuer une correspondance sur un paquet TCP SYN, vous pouvez entrer syn
, comme dans :
[edit firewall family family-name filter filter-name term term-name from] user@switch# set tcp-flags syn
Vous pouvez également entrer 0x02
car le bit SYN est le troisième bit le moins significatif du champ tcp-flags de 8 bits :
[edit firewall family family-name filter filter-name term term-name from] user@switch# set tcp-flags 0x02
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 évaluées de gauche à droite.
Opérateurs logiques |
Description |
---|---|
|
Négation |
|
ET logique |
|
OU logique |
Si vous utilisez un opérateur logique, placez les valeurs entre guillemets et n’incluez pas d’espaces. Par exemple, l’instruction suivante correspond au deuxième paquet d’une négociation TCP :
[edit firewall family family-name filter filter-name term term-name from] user@switch# set tcp-flags "syn&ack"
Pour annuler une correspondance, faites précéder la valeur d’un point d’exclamation. Par exemple, l’instruction suivante ne correspond qu’au paquet initial d’une négociation TCP :
[edit firewall family family-name filter filter-name term term-name from] user@switch# set tcp-flags "syn&!ack"
Vous pouvez utiliser des synonymes textuels pour spécifier des correspondances de champs binaires courantes. Par exemple, l’instruction suivante correspond également au paquet initial d’une négociation TCP :
[edit firewall family family-name filter filter-name term term-name from] user@switch# set tcp-initial