Citrix ADC

Protection d’AWS API Gateway à l’aide du pare-feu d’application Web Citrix

Vous pouvez déployer une appliance Citrix ADC devant votre AWS API Gateway et sécuriser la passerelle d’API contre les menaces externes. Citrix Web Application Firewall (WAF) peut défendre votre API contre les 10 principales menaces de l’OWASP et les attaques zero-day. Citrix WAF utilise une base de code unique pour tous les facteurs de forme ADC. Par conséquent, vous pouvez appliquer et appliquer des politiques de sécurité de manière cohérente dans n’importe quel environnement. Citrix WAF est facile à déployer et est disponible sous forme de licence unique. Le Citrix WAF vous offre les fonctionnalités suivantes :

  • Configuration simplifiée
  • Gestion des robots
  • Visibilité holistique
  • Rassemblez des données provenant de plusieurs sources et affichez les données sur un écran unifié

Outre la protection de la passerelle API, vous pouvez également utiliser les autres fonctionnalités de Citrix ADC. Pour plus d’informations, consultez la documentation Citrix ADC. En plus d’éviter les basculements du centre de données et de minimiser le temps d’arrêt, vous pouvez placer ADC en haute disponibilité au sein ou entre les zones de disponibilité. Vous pouvez également utiliser ou configurer le clustering avec la fonction Autoscale.

Auparavant, AWS API Gateway ne prenait pas en charge les protections nécessaires pour sécuriser les applications sous-jacentes. Sans les protections du Web Application Firewall (WAF), les API étaient sujettes à des menaces de sécurité.

Déployer l’appliance Citrix ADC devant la passerelle d’API AWS

Dans l’exemple suivant, une appliance Citrix ADC est déployée devant la passerelle d’API AWS.

Déployer ADC devant la passerelle d'API AWS

Supposons qu’il existe une véritable demande d’API pour le service AWS Lambda. Cette demande peut concerner n’importe lequel des services d’API mentionnés dans la documentation Amazon API Gateway. Comme le montre le schéma précédent, le flux de trafic est le suivant :

  1. Le client envoie une demande à la fonction AWS Lambda (XYZ). Cette demande client est envoyée au serveur virtuel Citrix ADC (192.168.1.1).
  2. Le serveur virtuel inspecte le paquet et recherche tout contenu malveillant.
  3. L’appliance Citrix ADC déclenche une stratégie de réécriture pour modifier le nom d’hôte et l’URL dans une demande client. Par exemple, vous souhaitez changer https://restapi.citrix.com/default/LamdaFunctionXYZ surhttps://citrix.execute-api.<region>.amazonaws.com/default/LambdaFunctionXYZ.
  4. L’appliance Citrix ADC transmet cette demande à la passerelle d’API AWS.
  5. AWS API Gateway envoie ensuite la demande au service Lambda et appelle la fonction Lambda « XYZ ».
  6. Dans le même temps, si un attaquant envoie une demande d’API avec un contenu malveillant, la demande malveillante atterrit sur l’appliance Citrix ADC.
  7. L’appliance Citrix ADC inspecte les paquets et les supprime en fonction de l’action configurée.

Configurer l’appliance Citrix ADC avec WAF activé

Pour activer WAF sur une appliance Citrix ADC, procédez comme suit :

  1. Ajoutez un commutateur de contenu ou un serveur virtuel d’équilibrage de charge. Supposons que l’adresse IP du serveur virtuel soit 192.168.1.1, qui se résout en un nom de domaine (restapi.citrix.com).
  2. Activez la stratégie WAF sur le serveur virtuel Citrix ADC. Pour plus d’informations, consultez Configuration du Web App Firewall.
  3. Activez la stratégie de réécriture pour modifier le nom de domaine. Supposons que vous souhaitiez modifier la demande entrante de l’équilibreur de charge sur le nom de domaine « restapi.citrix.com » afin qu’elle soit réécrite sur le serveur principal AWS API Gateway à l’adresse « citrix.execute-api.<region>Nom de domaine .amazonaws ».
  4. Activez le mode L3 sur l’appliance Citrix ADC pour qu’elle agisse en tant que proxy. Utilisez la commande suivante :

    enable ns mode L3
    <!--NeedCopy-->
    

À l’étape 3 de l’exemple précédent, supposons que l’administrateur du site Web souhaite que l’appliance Citrix ADC remplace le nom de domaine « restapi.citrix.com » par « citrix.execute-api ».<region>.amazonaws.com » et l’URL avec « Default/Lambda/xyz ».

La procédure suivante explique comment modifier le nom d’hôte et l’URL dans une demande client à l’aide de la fonction de réécriture :

  1. Ouvrez une session sur l’appliance Citrix ADC à l’aide de SSH.
  2. Ajoutez des actions de réécriture.

    add rewrite action rewrite_host_hdr_act replace "HTTP.REQ.HEADER("Host")" ""citrix.execute-api.<region>.amazonaws.com""
    
    add rewrite action rewrite_url_act replace HTTP.REQ.URL.PATH_AND_QUERY ""/default/lambda/XYZ""
    <!--NeedCopy-->
    
  3. Ajoutez des stratégies de réécriture pour les actions de réécriture.

    add rewrite policy rewrite_host_hdr_pol "HTTP.REQ.HEADER("Host").CONTAINS("restapi.citrix.com") "rewrite_host_hdr_act
    
    add rewrite policy rewrite_url_pol "HTTP.REQ.HEADER("Host").CONTAINS("restapi.citrix.com") "rewrite_url_act
    <!--NeedCopy-->
    
  4. Liez les stratégies de réécriture à un serveur virtuel.

    bind lb vserver LB_API_Gateway -policyName rewrite_host_hdr_pol -priority 10 -gotoPriorityExpression 20 -type REQUEST
    
    bind lb vserver LB_API_Gateway -policyName rewrite_url_pol -priority 20 -gotoPriorityExpression END -type REQUEST
    <!--NeedCopy-->
    

Pour plus d’informations, consultez Configurer la réécriture pour modifier le nom d’hôte et l’URL dans la demande du client sur l’appliance Citrix ADC.

Fonctionnalités et fonctionnalités de Citrix ADC

L’appliance Citrix ADC, en plus de sécuriser le déploiement, peut également améliorer la demande en fonction des besoins de l’utilisateur. L’appliance Citrix ADC fournit les fonctionnalités clés suivantes.

  • Équilibrage de charge de la passerelle API : si vous avez plusieurs passerelles API, vous pouvez équilibrer la charge de plusieurs passerelles API à l’aide de l’appliance Citrix ADC et définir le comportement de la demande d’API.

    • Différentes méthodes d’équilibrage de charge sont disponibles. Par exemple, la méthode de connexion Least évite de surcharger la limite API Gateway, la méthode de chargement personnalisé conserve une charge spécifique sur une passerelle API particulière, etc. Pour plus d’informations, consultez Algorithmes d’équilibragede charge

    • Le déchargement SSL est configuré sans interrompre le trafic.
    • Le mode Use Source IP (USIP) est activé pour conserver l’adresse IP du client.
    • Paramètres SSL définis par l’utilisateur : vous pouvez disposer de votre propre serveur virtuel SSL avec vos propres certificats et algorithmes signés.
    • Serveur virtuel de sauvegarde : si la passerelle API n’est pas accessible, vous pouvez envoyer la demande à un serveur virtuel de sauvegarde pour d’autres actions.
    • De nombreuses autres fonctionnalités d’équilibrage de charge sont disponibles. Pour plus d’informations, consultez Trafic d’équilibrage de charge sur une appliance Citrix ADC.
  • Authentification, autorisation et audit : vous pouvez définir vos propres méthodes d’authentification telles que LDAP, SAML, RADIUS, et autoriser et auditer les demandes d’API.

  • Répondeur : vous pouvez rediriger les demandes d’API vers une autre API Gateway pendant le temps d’arrêt.

  • Limitation du débit : vous pouvez configurer la fonctionnalité de limitation de débit pour éviter la surcharge d’une passerelle API.

  • Meilleure disponibilité : vous pouvez configurer une appliance Citrix ADC dans une configuration haute disponibilité ou une configuration en cluster pour améliorer la disponibilité de vos trafics d’API AWS.

  • API REST : prend en charge l’API REST, qui peut être utilisée pour automatiser le travail dans les environnements de production cloud.

  • Surveiller les données : Surveille et enregistre les données pour référence.

L’appliance Citrix ADC fournit de nombreuses autres fonctionnalités, qui peuvent être intégrées à la passerelle d’API AWS. Pour plus d’informations, consultez la documentation Citrix ADC.

Protection d’AWS API Gateway à l’aide du pare-feu d’application Web Citrix