ADC

Protégez AWS API Gateway à l’aide du pare-feu NetScaler Web App Firewall

Vous pouvez déployer une appliance NetScaler devant votre AWS API Gateway et sécuriser la passerelle d’API contre les menaces externes. NetScaler Web App Firewall (WAF) peut protéger votre API contre les 10 principales menaces de l’OWASP et les attaques de type « jour zéro ». NetScaler Web App Firewall utilise une base de code unique pour tous les formats ADC. Par conséquent, vous pouvez appliquer et appliquer des politiques de sécurité de manière cohérente dans n’importe quel environnement. NetScaler Web App Firewall est facile à déployer et est disponible sous forme de licence unique. Le pare-feu NetScaler Web App fournit 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 d’API, vous pouvez également utiliser les autres fonctionnalités de NetScaler. Pour plus d’informations, consultez la documentation de NetScaler. 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éployez l’appliance NetScaler devant la passerelle d’API AWS

Dans l’exemple suivant, une appliance NetScaler 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 du client est envoyée au serveur virtuel NetScaler (192.168.1.1).
  2. Le serveur virtuel inspecte le paquet et recherche tout contenu malveillant.
  3. L’appliance NetScaler déclenche une politique 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 NetScaler 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 contenant du contenu malveillant, la demande malveillante atterrit sur l’appliance NetScaler.
  7. L’appliance NetScaler inspecte les paquets et les supprime en fonction de l’action configurée.

Configurer l’appliance NetScaler avec WAF activé

Pour activer WAF sur une appliance NetScaler, 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 politique WAF sur le serveur virtuel NetScaler. 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 NetScaler 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 NetScaler 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. Connectez-vous à l’appliance NetScaler via 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, voir Configurer la réécriture pour modifier le nom d’hôte et l’URL dans la demande du client sur l’appliance NetScaler.

Fonctionnalités et fonctionnalités de NetScaler

Outre la sécurisation du déploiement, l’appliance NetScaler peut également améliorer la demande en fonction des besoins de l’utilisateur. L’appliance NetScaler fournit les fonctionnalités clés suivantes.

  • Équilibrage de la charge de la passerelle d’API : si vous possédez plusieurs passerelles d’API, vous pouvez équilibrer la charge de plusieurs passerelles d’API à l’aide de l’appliance NetScaler 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 la section Trafic d’équilibrage de charge sur une appliance NetScaler.
  • 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 NetScaler 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 NetScaler fournit de nombreuses fonctionnalités supplémentaires, qui peuvent être intégrées à la passerelle d’API AWS. Pour plus d’informations, consultez la documentation de NetScaler.

Protégez AWS API Gateway à l’aide du pare-feu NetScaler Web App Firewall