Sur cette page
Conditions de correspondance du filtre de pare-feu en fonction des valeurs bit-field
Conditions de correspondance pour les valeurs bit-field
Tableau 1 répertorie les conditions de correspondance du filtre de pare-feu basées sur la configuration ou non de certains champs de bits d’un paquet. Les deuxième et troisième colonnes répertorient les types de trafic pour lesquels la condition de correspondance est prise en charge.
Condition de correspondance bit-field |
Valeurs de correspondance |
Familles de protocoles pour les filtres de pare-feu sans état standard |
Familles de protocoles pour filtres de services |
---|---|---|---|
fragment-flags flags |
Valeurs hexadécimales ou alias de texte pour le champ indicateurs de fragmentation IP trois bits dans l’en-tête IP. |
family inet |
family inet |
fragment-offset value |
Valeurs hexadécimales ou alias de texte pour le champ de décalage de fragments de 13 bits dans l’en-tête IP. |
family inet |
family inet |
tcp-flags value† |
Valeurs hexadécimales ou alias de texte pour les 6 bits d’ordre bas du champ d’indicateurs TCP 8 bits dans l’en-tête TCP. |
family inetfamily inet6family vplsfamily bridge |
family inetfamily inet6 |
† Junos OS ne vérifie pas automatiquement le premier bit de fragment lors de la correspondance des indicateurs TCP pour le trafic IPv4. Pour vérifier le premier bit de fragment pour le trafic IPv4 uniquement, utilisez la condition de first-fragment correspondance. |
Conditions de correspondance pour les valeurs ou les combinaisons de champs bit communs
Tableau 2 décrit les conditions de correspondance des filtres de pare-feu en fonction de la configuration ou non de certaines valeurs couramment utilisées ou de combinaisons de champs de bits dans un paquet.
Vous pouvez utiliser des synonymes de texte pour spécifier des correspondances de champ bit courants. Dans l’exemple précédent, vous pouvez spécifier tcp-initial la même condition de correspondance.
Certaines des plages numériques et les conditions de correspondance bit-field vous permettent de spécifier un synonyme de texte. Pour une liste complète de synonymes :
Si vous utilisez l’interface J-Web, sélectionnez le synonyme dans la liste appropriée.
Si vous utilisez la CLI, saisissez un point d’interrogation (?) après l’instruction from .
Condition de correspondance |
Description |
Familles de protocoles pour les filtres de pare-feu sans état standard |
Familles de protocoles pour filtres de services |
---|---|---|---|
first-fragment |
Alias de texte pour la condition fragment-offset 0de correspondance bit-field , qui indique le premier fragment d’un paquet fragmenté. |
family inet |
family inet |
is-fragment |
Alias de texte pour la condition fragment-offset 0 exceptde correspondance bit-champ , qui indique un fragment traînant d’un paquet fragmenté. |
family inet |
family inet |
tcp-established |
Alias pour la condition tcp-flags "(ack | rst)"de correspondance bit-field , qui indique une session TCP établie, mais pas le premier paquet d’une connexion TCP. |
family inetfamily inet6 |
— |
tcp-initial |
Alias pour la condition tcp-flags "(!ack & syn)"de correspondance bit-champ , qui indique le premier paquet d’une connexion TCP, mais pas une session TCP établie. |
family inetfamily inet6 |
— |
Opérateurs logiques pour les valeurs bit-field
Tableau 3 répertorie les opérateurs logiques que vous pouvez appliquer aux valeurs d’un champ bit unique lorsque vous spécifiez des conditions de correspondance de filtre de pare-feu sans état. Les opérateurs sont répertoriés dans l’ordre, de la priorité la plus élevée à la priorité la plus faible. Les opérations sont de gauche-associatif, ce qui signifie que les opérations sont traitées de gauche à droite.
Ordre de priorité |
Opérateur logique bit-field |
Description |
---|---|---|
1 |
(complex-match-condition) |
Regroupement : la condition de correspondance complexe est évaluée avant d’appliquer des opérateurs en dehors des parenthèses. |
2 |
! match-condition |
Négation : une correspondance se produit si la condition de correspondance est fausse. |
3 |
match-condition-1 & match-condition-2oumatch-condition-1 + match-condition-2 |
Logique ET : une correspondance se produit si les deux conditions de correspondance sont vraies. |
4 |
match-condition-1 | match-condition-2oumatch-condition-1 , match-condition-2 |
OU logique : une correspondance se produit si l’une ou l’autre condition de correspondance est vraie. |
Correspondance sur une valeur de champ de bits unique ou sur un alias de texte
Pour les conditions et tcp-flags les fragment-flags conditions de correspondance des bits, vous pouvez spécifier des conditions de correspondance de filtre de pare-feu en fonction de la définition ou non d’un bit particulier dans le champ de paquets.
Valeur numérique pour spécifier un seul bit : vous pouvez spécifier une condition de correspondance de champ-bit unique à l’aide d’une valeur numérique qui comporte un ensemble de bits. Selon la condition de correspondance, vous pouvez spécifier une valeur décimale, une valeur binaire ou une valeur hexadécimale. Pour spécifier une valeur binaire, spécifiez le nombre avec le préfixe b. Pour spécifier une valeur hexadécimale, spécifiez le nombre avec le préfixe 0x.
Dans l’exemple suivant, une correspondance se produit si le bit dans le RST champ des indicateurs TCP est défini :
[edit firewall family inet filter filter_tcp_rst_number term term1 from] user@host# set tcp-flags 0x04
Alias de texte pour spécifier un seul bit : vous spécifiez généralement une condition de correspondance de champ de bits unique à l’aide d’un alias de texte joint par des guillemets doubles (« »).
Dans l’exemple suivant, une correspondance se produit si le bit dans le RST champ des indicateurs TCP est défini :
[edit firewall family inet filter filter_tcp_rst_alias term term1 from] user@host# set tcp-flags “rst”
Correspondance sur plusieurs valeurs bit-field ou alias de texte
Vous pouvez spécifier une condition de correspondance de filtre de pare-feu en fonction de la définition ou non d’un ensemble particulier de bits dans un champ de paquets.
Valeurs numériques pour spécifier plusieurs bits définis : lorsque vous spécifiez une valeur numérique dont la représentation binaire comporte plus d’un bit défini, la valeur est traitée comme logique ET des bits définis.
Dans l’exemple suivant, les deux conditions de correspondance sont les mêmes. Une correspondance se produit si l’un ou l’autre bit 0x01 est défini ou 0x02 non :
[edit firewall family inet filter reset_or_not_initial_packet term term5 from] user@host# set tcp-flags “!0x3” user@host# set tcp-flags “!(0x01 & 0x02)”
Alias de texte qui spécifient des correspondances communes entre les champs bits : vous pouvez utiliser des alias de texte pour spécifier des correspondances de champ bit communs. Vous spécifiez ces correspondances comme un seul mot-clé.
Dans l’exemple suivant, la tcp-established condition, qui est un alias pour “(ack | rst)”, spécifie qu’une correspondance se produit sur des paquets TCP autres que le premier paquet d’une connexion :
[edit firewall family inet filter reset_or_not_initial_packet term term6 from] user@host# set tcp-established
Correspondance sur une valeur de champ de bits nongate
Pour annuler une correspondance, précédez la valeur d’un point d’exclamation.
Dans l’exemple suivant, une correspondance se produit si le bit dans le RST champ des indicateurs TCP est défini :
[edit firewall family inet filter filter_tcp_rst term term1 from] user@host# set tcp-flags “!rst”
Correspondance sur le ou logique de deux valeurs de champ bit
Vous pouvez utiliser le (| ou ,) pour spécifier qu’une correspondance se produit si un champ bit correspond à l’une des deux valeurs de champ bit spécifiées.
Dans l’exemple suivant, une correspondance se produit si le paquet n’est pas le paquet initial d’une session TCP :
[edit firewall family inet filter not_initial_packet term term3 from] user@host# set tcp-flags "!syn | ack"
Dans une session TCP, l’indicateur SYN est défini uniquement dans le paquet initial envoyé, tandis que l’indicateur ACK est défini dans tous les paquets envoyés après le paquet initial. Dans un paquet qui n’est pas le paquet initial d’une session TCP, soit l’indicateur SYN n’est pas défini, soit l’indicateur ACK est défini.
Correspondance sur la logique ET de deux valeurs bit-field
Vous pouvez utiliser le (& ou +) pour spécifier qu’une correspondance se produit si un champ bit correspond aux deux valeurs de champ bit spécifiées.
Dans l’exemple suivant, une correspondance se produit si le paquet est le paquet initial d’une session TCP :
[edit firewall family inet filter initial_packet term term2 from] user@host# set tcp-flags “syn & !ack”
Dans une session TCP, l’indicateur SYN est défini uniquement dans le paquet initial envoyé, tandis que l’indicateur ACK est défini dans tous les paquets envoyés après le paquet initial. Dans un paquet qui est un paquet initial dans une session TCP, l’indicateur SYN est défini et l’indicateur ACK n’est pas défini.
Regroupement des conditions de correspondance bit-field
Vous pouvez utiliser le pour spécifier que la condition de correspondance complexe à l’intérieur des parenthèses est évaluée avant que les opérateurs en dehors des parenthèses ne soient appliqués.
Dans l’exemple suivant, une correspondance se produit si le paquet est une réinitialisation TCP ou si le paquet n’est pas le paquet initial de la session TCP :
[edit firewall family inet filter reset_or_not_initial_packet term term4 from] user@host# set tcp-flags “!(syn & !ack) | rst”
Dans une session TCP, l’indicateur SYN est défini uniquement dans le paquet initial envoyé, tandis que l’indicateur ACK est défini dans tous les paquets envoyés après le paquet initial. Dans un paquet qui n’est pas le paquet initial d’une session TCP, l’indicateur SYN n’est pas défini et le champ ACK est défini.