SUR CETTE PAGE
Comprendre les attaques par saturation de la table de session
Exemple : Définition de limites de session basées sur la source
Exemple : Définition de limites de session en fonction de la destination
Comprendre les attaques par saturation par proxy SYN-ACK-ACK
Protection de votre réseau contre une attaque par saturation par proxy SYN-ACK-ACK
Attaques par déni de service (DoS) de pare-feu
La protection contre les attaques DoS s’appuie sur l’inspection dynamique pour rechercher, puis autoriser ou refuser toutes les tentatives de connexion nécessitant de traverser une interface à destination ou en provenance de la destination prévue. Pour plus d’informations, consultez les rubriques suivantes :
Comprendre les attaques par saturation de la table de session
Une attaque par déni de service réussie submerge sa victime avec un tel barrage massif de faux trafic simulé qu’elle devient incapable de traiter les demandes de connexion légitimes. Les attaques par déni de service peuvent prendre de nombreuses formes (SYN flood, SYN-ACK-ACK FLOOD, UDP FLOOD, ICMP FLOOD, ETC.), MAIS ELLES POURSUIVENT TOUTES LE MÊME OBJECTIF, QUI EST DE REMPLIR LA TABLE DE SESSION DE LEUR VICTIME.
Lorsque la table des sessions est pleine, cet hôte ne peut pas créer de nouvelles sessions et commence à rejeter les nouvelles demandes de connexion. L’option d’écran Limites de session basées sur la source et l’option d’écran Limite de session basée sur la destination permettent d’atténuer ce type d’attaques.
Comprendre les limites des sessions basées sur les sources
En plus de limiter le nombre de sessions simultanées à partir de la même adresse IP source, vous pouvez également limiter le nombre de sessions simultanées à la même adresse IP de destination. L’un des avantages de la définition d’une limite de session basée sur la source est qu’elle peut endiguer une attaque telle que le virus Nimda (qui est en fait à la fois un virus et un ver) qui infecte un serveur et commence ensuite à générer des quantités massives de trafic à partir de ce serveur. Étant donné que tout le trafic généré par les virus provient de la même adresse IP, une limite de sessions basée sur la source permet au pare-feu de limiter ces quantités excessives de trafic. Reportez-vous à la figure 1.

Un autre avantage de la limitation de session basée sur la source est qu'elle peut atténuer les tentatives de remplissage de la table de sessions du pare-feu si toutes les tentatives de connexion proviennent de la même adresse IP source.
Pour déterminer ce qui constitue un nombre acceptable de demandes de connexion, il faut une période d’observation et d’analyse afin d’établir une base de référence pour les flux de trafic typiques. Vous devez également tenir compte du nombre maximal de sessions simultanées requises pour remplir la table des sessions de la plate-forme Juniper Networks que vous utilisez. Pour connaître le nombre maximal de sessions prises en charge par votre table de sessions, utilisez la commande show security flow session summary
CLI , puis examinez la dernière ligne de la sortie, qui répertorie le nombre de sessions actuelles (allouées), le nombre maximal de sessions et le nombre d’allocations de sessions ayant échoué :
userhost# show security flow session summary Unicast-sessions: 0 Multicast-sessions: 0 Failed-sessions: 0 Sessions-in-use: 0 Valid sessions: 0 Pending sessions: 0 Invalidated sessions: 0 Sessions in other states: 0 Maximum-sessions: 2097152
La valeur maximale par défaut pour les limites de sessions basées sur la source est de 128 sessions simultanées, une valeur qui peut nécessiter un ajustement pour répondre aux besoins de votre environnement réseau et de la plate-forme.
Junos OS prend en charge les limites de session basées sur la source pour le trafic IPv4 et IPv6.
Exemple : Définition de limites de session basées sur la source
Cet exemple montre comment limiter le nombre de sessions en fonction de l’adresse IP source.
Exigences
Aucune configuration spéciale au-delà de l’initialisation de l’appareil n’est requise avant de configurer cette fonctionnalité.
Aperçu
L’exemple suivant montre comment limiter le nombre de sessions qu’un serveur dans la DMZ et dans la zone a peut initier. Étant donné que la DMZ ne contient que des serveurs Web, dont aucun ne doit initier de trafic, vous définissez la limite de session source à la valeur la plus basse possible, soit une session. D’autre part, la zone a contient des ordinateurs personnels, des serveurs, des imprimantes, etc., dont beaucoup sont à l’origine du trafic. Pour la zone a, vous définissez la limite de sessions sources à un maximum de 80 sessions simultanées.
Topologie
Configuration
Procédure
Configuration rapide de l’interface de ligne de commande
Pour configurer rapidement cet exemple, copiez les commandes suivantes, collez-les dans un fichier texte, supprimez les sauts de ligne, modifiez tous les détails nécessaires pour qu’ils correspondent à la configuration de votre réseau, copiez et collez les commandes dans l’interface de ligne de commande au niveau de la [edit]
hiérarchie, puis passez commit
en mode de configuration.
set security screen ids-option 1-limit-session limit-session source-ip-based 1 set security zones security-zone dmz screen 1-limit-session set security screen ids-option 80-limit-session limit-session source-ip-based 80 set security zones security-zone zone_a screen 80-limit-session
Procédure étape par étape
Spécifiez le nombre de sessions simultanées en fonction de l’adresse IP source pour la zone DMZ.
[edit security] user@host# set screen ids-option 1-limit-session limit-session source-ip-based 1
Définissez la zone de sécurité de la DMZ sur la limite de configuration.
[edit security] user@host# set zones security-zone dmz screen 1-limit-session
Spécifiez le nombre de sessions simultanées en fonction de l’adresse IP source pour la zone a.
[edit security] user@host# set screen ids-option 80-limit-session limit-session source-ip-based 80
Définissez la zone de sécurité de la zone a sur la limite de configuration.
[edit security] user@host# set zones security-zone zone_a screen 80-limit-session
Résultats
À partir du mode de configuration, confirmez votre configuration en entrant les show security screen
commandes et show security zones
. Si la sortie n’affiche pas la configuration prévue, répétez les instructions de configuration de cet exemple pour la corriger.
[edit] user@host# show security screen ids-option 1-limit-session { limit-session { source-ip-based 1; } } ids-option 80-limit-session { limit-session { source-ip-based 80; } }
[edit] user@host# show security zones security-zone dmz { screen 1-limit-session; } security-zone zone_a { screen 80-limit-session; }
Si vous avez terminé de configurer l’appareil, passez commit
en mode de configuration.
Vérification
Vérification des limites de sessions basées sur les sources
But
Vérifiez les limites de session basées sur la source.
Action
Entrez les show security screen ids-option 1-limit-session
commandes , show security screen ids-option 80-limit-session
et show security zones
à partir du mode opérationnel.
user@host> show security screen ids-option 1-limit-session Screen object status: Name Value Session source limit threshold 1 user@host> show security screen ids-option 80-limit-session Screen object status: Name Value Session source limit threshold 80 user@host> show security zones Security zone: dmz Send reset for non-SYN session TCP packets: Off Policy configurable: Yes Screen: 1-limit-session Interfaces bound: 0 Interfaces:
Sens
L’exemple de sortie montre les valeurs limites de session source pour la zone DMZ et la zone a.
Comprendre les limites de session basées sur la destination
En plus de limiter le nombre de sessions simultanées à partir de la même adresse IP source, vous pouvez également limiter le nombre de sessions simultanées à la même adresse IP de destination. Un attaquant rusé peut lancer une attaque par déni de service distribué (DDoS). Lors d’une attaque DDoS, le trafic malveillant peut provenir de centaines d’hôtes, appelés « agents zombies », qui sont subrepticement sous le contrôle d’un attaquant. Outre les options de l’écran de détection et de prévention des inondations SYN, UDP et ICMP, la définition d’une limite de sessions basée sur la destination permet de garantir que Junos OS n’autorise qu’un nombre acceptable de demandes de connexion simultanées, quelle que soit la source, à atteindre un hôte donné. Reportez-vous à la figure 2.

La valeur maximale par défaut pour les limites de sessions basées sur la destination est de 128 sessions simultanées, une valeur qui peut nécessiter un ajustement pour répondre aux besoins de votre environnement réseau et de la plate-forme.
Exemple : Définition de limites de session en fonction de la destination
Cet exemple montre comment définir les limites de session en fonction de la destination.
Exigences
Aucune configuration spéciale au-delà de l’initialisation de l’appareil n’est requise avant de configurer cette fonctionnalité.
Aperçu
Dans cet exemple, vous limitez la quantité de trafic vers un serveur Web à 1.2.2.5. Le serveur se trouve dans la DMZ. L’exemple suppose qu’après avoir observé le flux de trafic de la zone externe vers ce serveur pendant un mois, vous avez déterminé que le nombre moyen de sessions simultanées qu’il reçoit est de 2000. En outre, vous définissez la nouvelle limite de sessions à 2000 sessions simultanées. Bien que les pics de trafic puissent parfois dépasser cette limite, l’exemple suppose que vous optez pour la sécurité du pare-feu plutôt que pour une inaccessibilité occasionnelle du serveur.
Configuration
Procédure
Configuration rapide de l’interface de ligne de commande
Pour configurer rapidement cet exemple, copiez les commandes suivantes, collez-les dans un fichier texte, supprimez les sauts de ligne, modifiez tous les détails nécessaires pour qu’ils correspondent à la configuration de votre réseau, copiez et collez les commandes dans l’interface de ligne de commande au niveau de la [edit]
hiérarchie, puis passez commit en mode de configuration.
set security screen ids-option 2000-limit-session limit-session destination-ip-based 2000 set security zones security-zone external_zone screen 2000-limit-session
Procédure étape par étape
L’exemple suivant vous oblige à naviguer à différents niveaux dans la hiérarchie de configuration. Pour définir les limites de session en fonction de la destination, procédez comme suit :
Spécifiez le nombre de sessions simultanées.
[edit] user@host# set security screen ids-option 2000-limit-session limit-session destination-ip-based 2000
Définissez la zone de sécurité de la zone externe.
[edit] user@host# set security zones security-zone external_zone screen 2000-limit-session
Résultats
À partir du mode de configuration, confirmez votre configuration en entrant les show security screen
commandes et show security zones
. Si la sortie n’affiche pas la configuration prévue, répétez les instructions de configuration de cet exemple pour la corriger.
[edit] user@host# show security screen ids-option 2000-limit-session { limit-session { destination-ip-based 2000; } }
[edit] user@host# show security zones security-zone external_zone { screen 2000-limit-session; }
Si vous avez terminé de configurer l’appareil, passez commit
en mode de configuration.
Vérification
Vérification des limites de session basées sur la destination
But
Vérifiez les limites de session en fonction de la destination.
Action
Entrez les commandes et show security screen ids-option 2000-limit-session
show security zones
à partir du mode opérationnel.
user@host> show security screen ids-option 2000-limit-session node0: -------------------------------------------------------------------------- Screen object status: Name Value Session destination limit threshold 2000 Value user@host> show security zones Security zone: external_zone Send reset for non-SYN session TCP packets: Off Policy configurable: Yes Screen: 2000-limit-session Interfaces bound: 0 Interfaces:
Sens
L’exemple de sortie affiche les valeurs limites de session de destination pour la zone externe.
Comprendre les attaques par saturation par proxy SYN-ACK-ACK
Lorsqu’un utilisateur d’authentification établit une connexion Telnet ou FTP, il envoie un segment SYN au serveur Telnet ou FTP. Junos OS intercepte le segment SYN, crée une entrée dans sa table de sessions et transmet un segment SYN-ACK par proxy à l’utilisateur. L’utilisateur répond ensuite par un segment ACK. À ce stade, la poignée de main à trois initiale est terminée. Junos OS envoie une invite de connexion à l’utilisateur. Si, avec une intention malveillante, l’utilisateur ne se connecte pas, mais continue à initier des sessions SYN-ACK-ACK, la table des sessions du pare-feu peut se remplir jusqu’au point où l’équipement commence à rejeter les demandes de connexion légitimes.
Pour éviter une telle attaque, vous pouvez activer l’option d’écran de protection par proxy SYN-ACK-ACK. Une fois que le nombre de connexions provenant d’une même adresse IP a atteint le seuil de proxy SYN-ACK-ACK, Junos OS rejette toute autre demande de connexion provenant de cette adresse IP. Par défaut, le seuil est de 512 connexions à partir d’une seule adresse IP. Vous pouvez modifier ce seuil (à n’importe quel nombre compris entre 1 et 250 000) pour mieux l’adapter aux exigences de votre environnement réseau.
Junos OS prend en charge la protection par proxy SYN-ACK-ACK pour les adresses IPv4 et IPv6.
Protection de votre réseau contre une attaque par saturation par proxy SYN-ACK-ACK
Cet exemple montre comment protéger votre réseau contre une attaque par saturation par proxy SYN-ACK-ACK.
Exigences
Aucune configuration spéciale au-delà de l’initialisation de l’appareil n’est requise avant de configurer cette fonctionnalité.
Aperçu
Dans cet exemple, vous activez la protection contre un flood de proxy SYN-ACK-ACK. L’unité de valeur est le nombre de connexions par adresse source. La valeur par défaut est de 512 connexions à partir d’une seule adresse.
Configuration
Procédure
Configuration rapide de l’interface de ligne de commande
Pour configurer rapidement cet exemple, copiez les commandes suivantes, collez-les dans un fichier texte, supprimez les sauts de ligne, modifiez tous les détails nécessaires pour qu’ils correspondent à la configuration de votre réseau, copiez et collez les commandes dans l’interface de ligne de commande au niveau de la [edit]
hiérarchie, puis passez commit
en mode de configuration.
set security screen ids-option 1000-syn-ack-ack-proxy tcp syn-ack-ack-proxy threshold 1000 set security zones security-zone zone screen 1000-syn-ack-ack-proxy
Procédure étape par étape
L’exemple suivant vous oblige à naviguer à différents niveaux dans la hiérarchie de configuration. Pour vous protéger contre une attaque par saturation par proxy SYN-ACK-ACK :
Spécifiez les limites de session source.
[edit] user@host# set security screen ids-option 1000-syn-ack-ack-proxy tcp syn-ack-ack-proxy threshold 1000
Définissez la zone de sécurité pour l’écran de zone.
[edit] user@host# set security zones security-zone zone screen 1000-syn-ack-ack-proxy
Résultats
À partir du mode de configuration, confirmez votre configuration en entrant les show security screen
commandes et show security zones
. Si la sortie n’affiche pas la configuration prévue, répétez les instructions de configuration de cet exemple pour la corriger.
[edit] user@host# show security screen ids-option 1000-syn-ack-ack-proxy { tcp { syn-ack-ack-proxy threshold 1000; } }
[edit] user@host# show security zones security-zone zone { screen 1000-syn-ack-ack-proxy; }
Si vous avez terminé de configurer l’appareil, passez commit
en mode de configuration.
Vérification
Vérification de l’attaque par saturation par proxy SYN-ACK-ACK
But
Vérifiez l’attaque par saturation par proxy SYN-ACK-ACK.
Action
Entrez les commandes et show security screen ids-option 1000-syn-ack-ack-proxy
show security zones
à partir du mode opérationnel.
user@host> show security screen ids-option 1000-syn-ack-ack-proxy node0: -------------------------------------------------------------------------- Screen object status: Name Value TCP SYN-ACK-ACK proxy threshold 1000 user@host> show security zones Security zone: zone Send reset for non-SYN session TCP packets: Off Policy configurable: Yes Screen: 1000-syn-ack-ack-proxy Interfaces bound: 0 Interfaces:
Sens
L’exemple de sortie montre qu’il n’y a pas d’attaque de SYN-ACK-ACK-proxy flood.