Passerelle de couche d’application pour le protocole IPSec

Si la communication entre deux périphériques réseau (par exemple, client et serveur) utilise le protocole IPSec, le trafic IKE (qui est via UDP) utilise des champs de port, mais pas le trafic ESP (Encapsulating Security Payload). Si un périphérique NAT sur le chemin attribue la même adresse IP NAT (mais des ports différents) à deux clients ou plus à la même destination, le périphérique NAT n’est pas en mesure de distinguer et d’acheminer correctement le trafic ESP de retour ne contient pas d’informations de port. Par conséquent, le trafic IPsec ESP échoue sur le périphérique NAT.

Les points de terminaison IPSec compatibles NAT-Traversal (NAT-T) détectent la présence d’un périphérique NAT intermédiaire pendant la phase 1 IKE et basculent vers le port UDP 4500 pour tout le trafic IKE et ESP ultérieur (encapsulant ESP dans UDP). Sans prise en charge NAT-T sur les points de terminaison IPsec homologues, le trafic ESP protégé IPsec est transmis sans encapsulation UDP. Par conséquent, le trafic IPsec ESP échoue sur le périphérique NAT.

L’appliance Citrix ADC prend en charge la fonctionnalité ALG (Application Layer Gateway) IPsec pour les configurations NAT à grande échelle. L’ALG IPsec traite le trafic ESP IPsec et gère les informations de session de sorte que le trafic n’échoue pas lorsque les points de terminaison IPSec ne prennent pas en charge NAT-T (encapsulation UDP du trafic ESP).

Fonctionnement d’IPSec ALG

Un ALG IPsec surveille le trafic IKE entre un client et le serveur et n’autorise qu’un seul échange de messages IKE phase 2 entre le client et le serveur à un moment donné.

Une fois que les paquets ESP bidirectionnels sont reçus pour un flux particulier, l’ALG IPSec crée une session NAT pour ce flux particulier afin que le trafic ESP ultérieur puisse circuler en douceur. Le trafic ESP est identifié par les SPI (Security Parameters Indexes), qui sont uniques pour un flux et pour chaque direction. Un ALG IPsec utilise des SPI ESP à la place des ports source et destination pour effectuer des NAT à grande échelle.

Si une porte ne reçoit pas de trafic, elle expire. Après l’expiration des deux portes, un autre échange IKE phase 2 est autorisé.

Délais d’expiration IPsec ALG

IPSec ALG sur une appliance Citrix ADC comporte trois paramètres de délai d’expiration :

  • Délai d’expiration de la porte ESP. Durée maximale pendant laquelle l’appliance Citrix ADC bloque une porte ALG IPSec pour un client particulier sur une adresse IP NAT spécifique pour un serveur donné si aucun trafic ESP bidirectionnel n’est échangé entre le client et le serveur.
  • Délai d’expiration de la session IKE. Durée maximale pendant laquelle l’appliance Citrix ADC conserve les informations de session IKE avant de les supprimer s’il n’y a pas de trafic IKE pour cette session.
  • Délai d’expiration de la session ESP. Durée maximale pendant laquelle l’appliance Citrix ADC conserve les informations de session ESP avant de les supprimer s’il n’y a pas de trafic ESP pour cette session.

Points à considérer avant de configurer IPSec ALG

Avant de commencer à configurer IPSec ALG, tenez compte des points suivants :

  • Vous devez comprendre les différents composants du protocole IPSec.
  • IPSec ALG n’est pas pris en charge pour les configurations DS-Lite et Large échelle NAT64.
  • IPSec ALG n’est pas pris en charge pour le flux LSN en épingle à cheveux.
  • IPSec ALG ne fonctionne pas avec les configurations RNAT.
  • IPSec ALG n’est pas pris en charge les clusters ADC IncitriX.

Étapes de configuration

La configuration d’IPSec ALG pour NAT44 à grande échelle sur une appliance Citrix ADC comporte les tâches suivantes :

  • Créez un profil d’application LSN et liez-le à la configuration LSN. Définissez les paramètres suivants lors de la configuration d’un profil d’application :
    • Protocol=UDP
    • IP Pooling = PAIRED
    • Port=500

Liez le profil d’application au groupe LSN d’une configuration LSN. Pour obtenir des instructions sur la création d’une configuration LSN, reportez-vous à la section Étapes de configuration pour LSN.

  • Créez un profil IPSec ALG. Un profil IPsec inclut divers délais d’expiration IPsec, tels que le délai d’expiration de session IKE, le délai d’expiration de session ESP et le délai d’expiration de la porte ESP. Vous liez un profil ALG IPsec à un groupe LSN. Un profil IPSec ALG possède les paramètres par défaut suivants :
    • Délai d’expiration de la session IKE = 60 minutes
    • Délai d’expiration de session ESP = 60 minutes
    • Délai d’expiration de la porte ESP = 30 secondes
  • Liez le profil ALG IPsec à la configuration LSN. ALG IPsec est activé pour une configuration LSN lorsque vous liez un profil ALG IPSec à la configuration LSN. Liez le profil ALG IPsec à la configuration LSN en définissant le paramètre de profil ALG IPsec sur le nom du profil créé dans le groupe LSN. Un profil ALG IPsec peut être lié à plusieurs groupes LSN, mais un groupe LSN ne peut avoir qu’un seul profil ALG IPsec.

Pour créer un profil d’application LSN à l’aide de l’interface de ligne de commande

À l’invite de commandes, tapez :

add lsn appsprofile <appsprofilename> UDP -ippooling PAIRED

show lsn appsprofile

Pour lier le port de destination au profil d’application LSN à l’aide de l’interface de ligne de commande

À l’invite de commandes, tapez :

bind lsn appsprofile <appsprofilename> <lsnport>

show lsn appsprofile

Pour lier un profil d’application LSN à un groupe LSN à l’aide de l’interface de ligne de commande

À l’invite de commandes, tapez :

bind lsn group <groupname> -appsprofilename <string>

show lsn group

Pour créer un profil ALG IPSec à l’aide de l’interface de ligne de commande

À l’invite de commandes, tapez :

add ipsecalg profile <name> [-ikeSessionTimeout <positive_integer>] [-espSessionTimeout <positive_integer>] [-espGateTimeout <positive_integer>] [-connfailover ( ENABLED | DISABLED)

show ipsecalg profile <name>

Pour lier un profil ALG IPSec à une configuration LSN à l’aide de l’interface de ligne de commande

À l’invite de commandes, tapez :

bind lsn group <groupname> -poolname <string> - ipsecAlgProfile <string>

show lsn group <name>

Pour créer un profil d’application LSN et le lier à une configuration LSN à l’aide de l’interface graphique

Accédez à Système > NAT à grande échelle > Profils, cliquez sur l’onglet Application, ajoutez un profil d’application LSN et liez-le à un groupe LSN.

Pour créer un profil ALG IPSec à l’aide de l’interface graphique**

Accédez à Système > NAT à grande échelle > Profils, cliquez sur l’onglet ALG IPSEC, puis ajoutez un profil ALG IPSec.

Pour lier un profil ALG IPsec à une configuration LSN à l’aide de l’interface graphique**

  1. Accédez à Système > NAT à grande échelle > Groupe LSN, ouvrez le groupe LSN.
  2. Dans Paramètres avancés, cliquez sur + Profil ALG IPSECpour lier le profil ALG IPSec créé au groupe LSN.

Exemple de configuration

Dans l’exemple de configuration NAT44 à grande échelle suivant, IPSec ALG est activé pour les abonnés du réseau 192.0.2.0/24. Le profil IPSec ALG IPSECALGPROFILE-1 avec divers paramètres de délai d’expiration IPsec est créé et est lié au groupe LSN LSN Group -1.

Exemple de configuration :

add lsn client LSN-CLIENT-1

Done

bind lsn client LSN-CLIENT-1 -network 192.0.2.0 -netmask 255.255.255.0

Done

add lsn pool LSN-POOL-1

Done

bind lsn pool LSN-POOL-1 203.0.113.3-203.0.113.9

Done

add lsn appsprofile LSN-APPSPROFILE-1 UDP -ippooling PAIRED

Done

bind lsn appsprofile LSN-APPSPROFILE-1 500

Done

add ipsecalg profile  IPSECALGPROFILE-1 -ikeSessionTimeout 45 –espSessionTimeout 40 –espGateTimeout 20 -connfailover ENABLED

Done

bind lsn group LSN-GROUP-1 -appsprofilename LSN-APPSPROFILE-1

Done

bind lsn group LSN-GROUP-1 -poolname LSN-POOL-1

Done

bind lsn group LSN-GROUP-1 - ipsecAlgProfile IPSECALGPROFILE-1

Done