Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Présentation d’ALG

Une passerelle de couche application (ALG) permet à la passerelle d’analyser les charges utiles de la couche applicative et de prendre des décisions d’autoriser ou de refuser le trafic vers le serveur d’applications. Les ALG prennent en charge les applications telles que le protocole DE TRANSFERT (FTP) et divers protocoles IP qui utilisent la charge utile de la couche application pour communiquer les ports TCP (Transmission Control Protocol) dynamiques ou UDP (User Datagram Protocol) sur lesquels les applications ouvrent des connexions de données.

Présentation d’ALG

Une passerelle de couche application (ALG) est un composant logiciel conçu pour gérer des protocoles spécifiques tels que SIP (Session Initiation Protocol) ou FTP sur les équipements Juniper Networks exécutant Junos OS. Le module ALG est responsable du traitement des paquets en fonction de la couche application sur les commutateurs.

La fonctionnalité ALG peut être déclenchée soit par un service ou une application configuré dans la stratégie de sécurité :

  • Un service est un objet qui identifie un protocole d’application à l’aide d’informations de couche 4 (telles que les numéros de port TCP et UDP standard et acceptés) pour un service d’application (tel que Telnet, FTP et SMTP).

  • Une application spécifie l’application de couche 7 qui s’associe à un service de couche 4.

Un service prédéfini a déjà une correspondance avec une application de couche 7. Toutefois, pour les services personnalisés, vous devez relier le service à une application explicitement, en particulier si vous souhaitez que la stratégie applique une ALG.

Les ALG pour les paquets destinés à des ports connus sont déclenchés par type de service. L’ALG intercepte et analyse le trafic spécifié, alloue des ressources et définit des stratégies dynamiques pour permettre au trafic de passer en toute sécurité à travers l’équipement :

  1. Lorsqu’un paquet arrive sur l’équipement, le module de flux transfère le paquet selon la règle de sécurité définie dans la stratégie.

  2. Si une stratégie autorise le paquet, le type de service ou le type d’application associé est assigné et une session est créée pour ce type de trafic.

  3. Si une session est trouvée pour le paquet, aucune règle de stratégie n’est nécessaire. Le module ALG est déclenché si ce type d’application ou de service particulier nécessite le traitement ALG pris en charge.

L’ALG inspecte également le paquet à la recherche d’adresses IP et d’informations de port intégrées dans la charge utile du paquet, et effectue le traitement de la traduction des adresses réseau (NAT) si nécessaire. Un tampon de message n’est alloué que lorsque le paquet est prêt à traiter. La mise en mémoire tampon est libérée après que le paquet a terminé la gestion ALG, y compris la modification de la charge utile, l’exécution du NAT, l’ouverture d’un trou d’épingle pour une nouvelle connexion entre un client et un serveur, et le transfert de données entre un client et un serveur situé sur les côtés opposés d’un équipement Juniper Networks

La taille maximale du jbuf est de 9 Ko. Si la taille de la mémoire tampon du message est supérieure à 9 Ko, l’intégralité du message ne peut pas être transférée au gestionnaire de paquets ALG. Les paquets suivants de la session contournent ainsi le traitement ALG, ce qui entraîne une défaillance de la transaction. L’optimisation de la mise en mémoire tampon de messages ALG est améliorée pour réduire la consommation de mémoire élevée.

L’ALG ouvre également une porte pour l’adresse IP et le numéro de port afin de permettre l’échange de données pour les sessions de contrôle et de données. La session de contrôle et la session de données peuvent être couplées pour avoir la même valeur de timeout, ou être indépendantes.

Les ALG sont pris en charge sur les clusters de châssis.

Comprendre les services ALG personnalisés

Par défaut, les ALG sont liés à des services prédéfinis. Par exemple, le FTP ALG est lié à junos-ftp, l’ALG RTSP à junos-rtsp, etc.

Un service prédéfini a déjà une correspondance avec une application de couche 7. Toutefois, pour les services personnalisés, vous devez relier le service à une application explicitement, en particulier si vous souhaitez que la stratégie applique une ALG.

Lorsque vous appliquez des services prédéfinis à votre stratégie, le trafic correspondant au service est envoyé à son ALG correspondant pour traitement ultérieur. Toutefois, dans certaines circonstances, vous devrez peut-être définir des services personnalisés pour atteindre les objectifs suivants :

  • Utilisez le gestionnaire ALG pour traiter un trafic spécial, avec des protocoles, des ports de destination, etc. spécifiés par le client.

  • Autorisez le trafic mais contournez le traitement ALG lorsque le trafic correspond à des services prédéfinis qui se lient à ALG.

  • Ajoutez d’autres applications à l’ensemble d’applications de l’ALG actuel.

Dans l’exemple suivant, vous devez parcourir différents niveaux de la hiérarchie de configuration. Pour obtenir des instructions sur la façon d’y parvenir, reportez-vous à la section Utilisation de l’éditeur CLI en mode de configuration dans le guide de l’utilisateur CLI.

Les trois utilisations des services personnalisés sont illustrées ci-dessous, en prenant l’exemple de MS-RPC ALG :

  • Utilize the ALG handler to process special traffic:

    Le trafic avec le port de destination TCP 6000 sera envoyé à MS-RPC ALG pour traitement ultérieur.

  • Permit traffic but bypass ALG processing:

    Tous les ALG seront ignorés par le trafic avec le port de destination TCP 135.

  • Add more applications to an ALG’s application set— Pour ajouter des applications telles que les services MS-RPC ou Sun RPC, qui ne sont pas prédéfinis sur les équipements :

    Le trafic de données MS-RPC avec TCP, uuid e3514235-4b06-11d1-ab04-00c04fc2dcd2, sera autorisé, lorsque custom-msrpc est appliqué à la stratégie avec d’autres applications junos-ms-rpc** prédéfinies.

Comprendre l’ALG DNS IPv6 pour le routage, le NAT et le NAT-PT

Le système de noms de domaine (DNS) est la partie de l’ALG qui gère le trafic DNS, surveille les paquets de requête et de réponse DNS et ferme la session si l’indicateur DNS indique que le paquet est un message de réponse.

L’ALG DNS prend en charge IPv4 en mode de routage pour Junos OS version 10.0 et versions antérieures. Dans la version 10.4 de Junos OS, cette fonctionnalité implémente la prise en charge d’IPv6 sur l’ALG DNS pour le routage, la traduction des adresses réseau (NAT) et la traduction du protocole d’adresses réseau (NAT-PT).

Lorsque l’ALG DNS reçoit une requête DNS du client DNS, une vérification de sécurité est effectuée sur le paquet DNS. Lorsque l’ALG DNS reçoit une réponse DNS du serveur DNS, une vérification de sécurité similaire est effectuée, puis la session pour le trafic DNS se termine.

Trafic DNS ALG IPv6 en mode NAT

Le NAT IPv6 assure la traduction d’adresses entre les équipements réseau IPv4 et IPv6. Il assure également la traduction d’adresses entre les hôtes IPv6. Le NAT entre les hôtes IPv6 est effectué de la même manière et à des fins similaires que le NAT IPv4.

Lorsque le trafic DNS fonctionne en mode NAT, l’ALG DNS traduit l’adresse publique d’une réponse DNS en une adresse privée lorsque le client DNS est sur un réseau privé, et traduit de même une adresse privée en adresse publique lorsque le client DNS se trouve sur un réseau public.

Dans junos OS version 10.4 IPv6 NAT prend en charge :

  • Traductions NAT source

  • Mappages NAT de destination

  • Mappages NAT statiques

Note:

Le NAT DNS ALG IPv6 prend uniquement en charge le mappage NAT statique.

Trafic DNS ALG IPv6 en mode NAT-PT

LE NAT-PT IPv6 fournit l’allocation d’adresses et la traduction de protocoles entre les équipements réseau IPv4 et IPv6. Le processus de traduction est basé sur la méthode de traduction IP/ICMP sans état (SIIT) ; toutefois, l’état et le contexte de chaque communication sont conservés pendant la durée de vie de la session. IPv6 NAT-PT prend en charge les paquets ICMP (Internet Control Message Protocol), TCP (Transmission Control Protocol) et UDP (User Datagram Protocol).

NAT-PT IPv6 prend en charge les types de NAT-PT suivants :

  • NAT-PT traditionnel

  • NAT-PT bidirectionnel

Un mécanisme dns mappe dynamiquement les adresses IPv6 aux serveurs IPv4 uniquement. NAT-PT utilise l’ALG DNS pour effectuer les traductions de manière transparente.

Par exemple, une entreprise utilisant un réseau IPv6 interne doit pouvoir communiquer avec des serveurs IPv4 externes qui n’ont pas d’adresses IPv6.

Pour prendre en charge la liaison d’adresse dynamique, un DNS doit être utilisé pour la résolution des noms. L’hôte IPv4 recherche le nom du nœud IPv6 dans son serveur DNS IPv4 configuré en local, qui transmet ensuite la requête au serveur DNS IPv6 via l’équipement à l’aide de NAT-PT.

Lorsque le trafic DNS fonctionne en mode NAT-PT, l’ALG DNS traduit l’adresse IP dans un paquet de réponse DNS entre l’adresse IPv4 et l’adresse IPv6 lorsque le client DNS est dans un réseau IPv6 et que le serveur est dans un réseau IPv4, et vice versa.

Note:

En mode NAT-PT, seule la traduction des adresses IPV4 vers IPV6 est prise en charge dans l’ALG DNS. Pour prendre en charge le mode NAT-PT dans un ALG DNS, le module NAT doit prendre en charge NAT-PT.

Lorsque l’ALG DNS reçoit une requête DNS du client DNS, l’ALG DNS effectue les vérifications de sécurité et d’intégrité suivantes sur les paquets DNS :

  • Applique la longueur maximale du message DNS (512 octets par défaut et 8 Ko)

  • Applique une longueur de nom de domaine de 255 octets et une longueur de label de 63 octets

  • Vérifie l’intégrité du nom de domaine auquel fait référence le pointeur si des pointeurs de compression sont rencontrés dans le message DNS

  • Vérifie l’existence d’une boucle de pointeur de compression

Des vérifications similaires sont effectuées lorsque l’ALG DNS reçoit une réponse DNS du serveur DNS, après quoi la session de ce trafic DNS est fermée.

Comprendre la prise en charge IPv6 dans FTP ALG

Le protocole FTP (File Transfer Protocol) est la partie de l’ALG qui gère le trafic FTP. Les requêtes PORT/PASV et les réponses 200/227 correspondantes dans FTP sont utilisées pour annoncer le port TCP, que l’hôte écoute pour la connexion de données FTP.

Les commandes EPRT/EPSV/229 sont utilisées pour ces requêtes et réponses. FTP ALG prend déjà en charge EPRT/EPSV/229, mais uniquement pour les adresses IPv4.

Dans la version 10.4 de Junos OS, les commandes EPRT/EPSV/229 ont été mises à jour pour prendre en charge les adresses IPv4 et IPv6.

FTP ALG utilise des objcaches pré-alloués pour stocker ses cookies de session. Lorsque les adresses IPv4 et IPv6 sont toutes deux prises en charge sur FTP ALG, la structure des cookies de session s’agrandit de 256 bits (32 octets) pour stocker l’adresse IPv6.

Prise en charge de FTP ALG pour IPv6

Le FTP ALG surveille les commandes et les réponses sur le canal de contrôle FTP pour vérifier l’exactitude syntaxique et ouvre les trous d’épingle correspondants pour permettre d’établir des connexions au canal de données. Dans la version 10.4 de Junos OS, l’ALG FTP a pris en charge le routage IPv4, le routage IPv6 et le mode NAT uniquement. Dans junos OS version 11.2 et versions ultérieures, le FTP ALG prend également en charge les modes NAT IPv6 et NAT-PT.

Mode EPRT

La commande EPRT permet de préciser une adresse étendue pour la connexion de données. L’adresse étendue doit comprendre le protocole réseau ainsi que les adresses réseau et de transport.

Le format de l’EPRT est :

EPRT<space><d><net-prt><d><net-addr><d><tcp-port><d>

  • <net-prt> : numéro de famille d’adresses défini par l’IANA

  • <net-addr> : chaîne spécifique au protocole de l’adresse réseau

  • <tcp-port> : un numéro de port TCP

Voici des exemples de commandes EPRT pour IPv6 :

EPRT |2|1080::800:200C:417A|5282|

Dans ce mode, FTP ALG se concentre uniquement sur la commande EPRT ; il extrait l’adresse IPv6 et le port de la commande EPRT et ouvre le trou d’épingle.

Mode EPSV

La commande EPSV demande à un serveur d’écouter sur un port de données et d’attendre une connexion. La réponse à cette commande inclut uniquement le numéro de port TCP de la connexion d’écoute.

Voici un exemple de chaîne de réponse :

Note:

Le code de réponse pour entrer en mode passif à l’aide d’une adresse étendue doit être 229. Vous devez extraire le port TCP en 229 charges utiles et l’utiliser pour ouvrir le trou d’épingle.

Comprendre la prise en charge du mode TAP pour ALG

Le mode Point d’accès terminal (TAP) est un équipement de secours qui vérifie le trafic mis en miroir via un commutateur. Le mode TAP ne dépend pas du statut ALG activé ou désactivé. La configuration ALG reste la même que le mode non TAP.

Lorsque vous configurez un équipement SRX Series pour qu’il fonctionne en mode TAP, il génère des informations de journal de sécurité pour afficher les informations sur les menaces détectées, l’utilisation des applications et les détails de l’utilisateur. Lorsque l’équipement est configuré pour fonctionner en mode TAP, il reçoit des paquets uniquement à partir de l’interface TAP configurée. À l’exception de l’interface TAP configurée, d’autres interfaces sont configurées sur une interface normale qui est utilisée comme interface de gestion ou connectée au serveur externe. L’équipement SRX Series génère un rapport de sécurité ou un journal en fonction du trafic entrant.

ALG prend en charge l’application telle que la charge utile NAT et autorise dynamiquement son trafic de données.

Note:

Vous ne pouvez configurer qu’une seule interface TAP lorsque vous utilisez l’équipement en mode TAP.

Activation et désactivation d’ALG en mode TAP

Cette rubrique explique comment activer ou désactiver l’état ALG en mode TAP.

Avant de commencer :

  • Lisez le guide Comprendre la prise en charge du mode TAP pour ALG pour en savoir plus sur la prise en charge d’ALG pour le mode TAP.

    • Le statut ALG par défaut pour les équipements SRX300, SRX320, SRX340, SRX345, SRX380 et SRX550M est le suivant :

    • Le statut ALG par défaut pour les équipements SRX4100 est le suivant :

  • Pour activer l’ALG désactivée par défaut, utilisez la commande suivante.

    Pour revenir à l’ALG activée par défaut, utilisez la commande suivante.

  • Pour désactiver l’ALG activée par défaut, utilisez la commande suivante.

    Pour revenir à l’état par défaut de l’ALG désactivé, utilisez la commande suivante.

  • Pour activer l’ALG IKE, utilisez la commande suivante.

    Pour revenir au statut par défaut de l’IKE ALG activé, utilisez la commande suivante.