Depuis la pandémie de COVID-19, l’économie numérique poursuit son expansion, 90 % des organisations développant leurs architectures d’applications modernes. Dans le Rapport 2023 de F5 sur l’état de la stratégie applicative, plus de 40 % des 1 000 décideurs informatiques du monde entier interrogés qualifient leur portefeuille d’applications de « moderne ». Ce pourcentage n’a cessé d’augmenter ces dernières années et devrait dépasser 50 % d’ici 2025. Toutefois, l’essor des applications modernes et le recours aux microservices s’accompagnent d’une prolifération des API et de leurs points de terminaison, ce qui accroît de manière exponentielle les vulnérabilités potentielles et la surface d’attaque.
Selon Continuous API Sprawl, un rapport du bureau du CTO de F5, il existait environ 200 millions d’API dans le monde en 2021, un chiffre qui devrait avoisiner les 2 milliards d’ici 2030. À la complexité découlant de cette croissance rapide des API s’ajoute la difficulté de gérer des applications distribuées dans des environnements hybrides et multicloud. Les personnes interrogées dans le Rapport 2023 sur l’état de la stratégie applicative ont indiqué que la complexité liée à la gestion de multiples outils et API constituait leur principal défi lors du déploiement d’applications dans des environnements multicloud. L’application de politiques de sécurité cohérentes et l’optimisation des performances des applications arrivaient juste derrière, à égalité.

Pourquoi la sécurité des API est essentielle à vos résultats financiers
Les API ne sont pas seulement les éléments constitutifs des applications modernes : elles sont également au cœur des activités numériques. Ainsi, 58 % des organisations interrogées dans le rapport F5 2023 déclarent tirer au moins la moitié de leurs revenus des services numériques. Les API permettent les communications entre les utilisateurs et les applications, ainsi qu’entre les applications. L’accès qu’elles offrent aux données privées des clients et aux informations internes des entreprises en fait des cibles particulièrement lucratives pour les cyberattaquants. En 2022, les API constituaient leur vecteur d’attaque privilégié.
La protection des API est primordiale dans toute stratégie globale de sécurité des applications. Les attaques peuvent avoir des conséquences dévastatrices qui vont bien au-delà de l’atteinte à la vie privée des consommateurs (aussi grave soit-elle) : elles peuvent atteindre un niveau de gravité supérieur, compromettre la sécurité publique et entraîner la perte de propriété intellectuelle. Voici quelques exemples de chacun de ces types d’attaques d’API survenues en 2022.
- Confidentialité des consommateurs – Twitter a subi une attaque d’API pendant plusieurs années. En décembre 2022, des pirates ont dérobé les données de profil et les adresses e-mail de 200 millions d’utilisateurs de Twitter. Quatre mois plus tôt, les chercheurs de CloudSEK avaient découvert 3 207 applications mobiles qui divulguaient des clés et des secrets d’API Twitter valides. Et un mois auparavant, des pirates avaient exploité une vulnérabilité d’API pour s’emparer des données de 5,4 millions d’utilisateurs et les vendre.
- Sécurité publique – Une équipe de chercheurs a découvert des vulnérabilités critiques dans la sécurité des API d’une vingtaine de grands constructeurs automobiles, notamment Toyota, Mercedes et BMW. Aujourd’hui, de nombreuses voitures fonctionnent comme des appareils intelligents, ce qui permet aux pirates d’aller bien au-delà du vol de numéros d’identification des véhicules (VIN) et de données personnelles sur leurs propriétaires. Ils peuvent localiser les voitures et contrôler leur système de gestion à distance, ce qui leur permet de les déverrouiller et de les démarrer, voire de les désactiver complètement.
- Propriété intellectuelle – Un employé de CircleCI spécifiquement ciblé a été victime d’une attaque par logiciel malveillant. CircleCI est une plateforme CI/CD utilisée par plus d’un million de développeurs dans le monde pour déployer du code. Cet employé disposait des privilèges nécessaires pour générer des jetons d’accès à la production, ce qui a permis aux pirates de dérober les clés API et les secrets des clients. La faille est passée inaperçue pendant près de trois semaines. Dans l’impossibilité de déterminer si les secrets d’un client avaient été volés et utilisés pour accéder sans autorisation à des systèmes tiers, CircleCI n’a pu que conseiller à ses clients de renouveler leurs jetons API de projet et personnels.
Ces attaques d’API font office d’avertissements. Lorsque des API présentent des failles de sécurité et ne sont pas protégées, les conséquences à long terme peuvent aller bien au-delà des pertes financières. On ne saurait trop insister sur l’importance de la sécurité des API.
Comment F5 NGINX vous aide à sécuriser vos API
La solution NGINX API Connectivity Stack vous aide à gérer vos passerelles d’API et vos API dans des environnements multicloud. En déployant NGINX Plus comme passerelle d’API avec NGINX App Protect WAF, vous pouvez contribuer à prévenir et à limiter les exploits courants ciblant les API, tout en répondant aux trois principaux défis liés aux API recensés dans le rapport F5 2023 sur l’état de la stratégie applicative – gérer la complexité des API dans les environnements multicloud, garantir l’application des politiques de sécurité et optimiser les performances des applications – ainsi qu’aux types d’attaques d’API abordés dans la section précédente. NGINX Plus peut être utilisé de plusieurs façons, notamment comme passerelle d’API permettant d’acheminer rapidement les requêtes d’API, d’authentifier et d’autoriser les clients d’API afin de sécuriser vos API, et de limiter le débit du trafic pour protéger vos services basés sur des API contre les surcharges.
NGINX Plus offre une protection prête à l’emploi, notamment contre les OWASP dix principales vulnérabilités de sécurité des API. Il vérifie également les cookies, les données JSON et XML mal formés, valide les types de fichiers autorisés et les codes d’état des réponses, et détecte les techniques d’évasion utilisées pour dissimuler les attaques. Une passerelle API NGINX Plus assure la protection des protocoles d’API HTTP ou HTTP/2, notamment REST, GraphQL et gRPC.
NGINX App Protect WAF fournit une sécurité légère et hautement performante pour les applications et les API, qui va au-delà de la protection de base contre l’OWASP API Security Top 10 et l’OWASP Top 10 (applications), grâce à plus de 7 500 signatures avancées, signatures de bots et campagnes de menaces. Il permet d’adopter une stratégie shift-left et d’automatiser facilement la sécurité des API afin d’intégrer la sécurité en tant que code dans les pipelines CI/CD. Lors de tests comparatifs avec les WAF d’AWS, d’Azure et de Cloudflare, NGINX App Protect WAF s’est révélé capable d’assurer une sécurité robuste des applications et des API, tout en offrant de meilleures performances et une latence plus faible. Pour en savoir plus, consultez ce rapport GigaOm.
NGINX App Protect WAF est intégré à la passerelle d’API NGINX Plus, ce qui élimine une étape pour le trafic des API. La réduction du nombre d’étapes entre les couches diminue la latence, la complexité et les points de défaillance. Cela contraste fortement avec les solutions classiques de gestion des API qui n’intègrent pas de WAF (vous devez déployer le WAF séparément et, une fois celui-ci configuré, le trafic des API doit transiter séparément par le WAF et la passerelle d’API). L’intégration étroite de NGINX garantit des performances élevées sans compromis sur la sécurité.
GraphQL et gRPC gagnent du terrain
Les développeurs d’applications et d’API sont constamment à la recherche de nouvelles façons d’améliorer la flexibilité, la rapidité ainsi que la facilité d’utilisation et de déploiement. Selon le Rapport 2022 sur l’état des API de Postman, REST reste aujourd’hui le protocole d’API le plus utilisé (89 %), mais GraphQL (28 %) et gRPC (11 %) continuent de gagner en popularité. En définitive, le choix du protocole d’API dépend fortement de l’objectif de l’application et de la solution la mieux adaptée à votre entreprise. Chaque protocole présente ses propres avantages.
Pourquoi utiliser les API GraphQL ?
Les principaux avantages de l’utilisation des API GraphQL sont les suivants :
- Adaptabilité – Le client choisit les données à demander, leur type et leur format.
- Efficacité – Il n’y a aucune récupération excessive de données, les requêtes sont exécutées selon un schéma défini et les données renvoyées correspondent exactement (et uniquement) à celles demandées. Le format des données est identique dans la requête et la réponse, ce qui rend les API GraphQL rapides, prévisibles et faciles à faire évoluer.
- Flexibilité – Prend en charge plus d’une douzaine de langages et de plateformes.
GitHub est un utilisateur bien connu de GraphQL. L’entreprise a adopté GraphQL en 2016 pour des raisons d’évolutivité et de flexibilité.
Pourquoi utiliser les API gRPC ?
Les principaux avantages de l’utilisation des API gRPC sont les suivants :
- Performances – Le format de données léger et compact réduit les besoins en ressources et permet un encodage et un décodage rapides des messages
- Efficace – Le format de données protobufs simplifie la communication en sérialisant les données structurées
- Fiabilité – HTTP/2 et TLS/SSL sont requis, ce qui renforce la sécurité par défaut
L’essentiel de la puissance provient du côté client, tandis que la gestion et les calculs sont délégués à un serveur distant qui héberge la ressource. gRPC convient aux cas d’utilisation qui nécessitent régulièrement une quantité déterminée de données ou de traitement, tels que les échanges entre microservices ou la collecte de données lorsque le demandeur (par exemple, un appareil IoT) doit préserver ses ressources limitées.
Netflix est un exemple bien connu d’utilisateur des API gRPC.
Sécurisez vos API GraphQL avec NGINX App Protect WAF
NGINX App Protect WAF prend désormais en charge les API GraphQL en plus des API REST et gRPC. Il sécurise les API GraphQL en appliquant des signatures d’attaque, en neutralisant les exploitations malveillantes et en assurant une protection contre les attaques. Le trafic GraphQL est analysé nativement, ce qui permet à NGINX App Protect WAF de détecter les violations en fonction de la syntaxe et du profil GraphQL, et d’appliquer des signatures d’attaque. La visibilité sur les requêtes d’introspection permet à NGINX App Protect WAF de les bloquer, ainsi que de bloquer les modèles détectés dans les réponses. Cette méthode permet de détecter les attaques et d’exécuter les signatures dans les segments appropriés d’une charge utile, contribuant ainsi à réduire les faux positifs.
Découvrez dans cette démonstration comment NGINX App Protect WAF peut protéger vos API GraphQL contre les attaques.
 
Avantages de la sécurisation des API GraphQL avec NGINX App Protect WAF :
- Définir les paramètres de sécurité – Définissez, conformément à la politique de votre organisation, la longueur totale et la valeur des paramètres dans le modèle GraphQL et le profil de contenu, dans le cadre de la politique de sécurité de l’application
- Réduire les faux positifs – Améliorez la précision de la prévention des attaques grâce à des contrôles granulaires permettant de mieux détecter les attaques dans une requête GraphQL
- Limiter les exploitations malveillantes – Définissez le nombre maximal de requêtes regroupées dans une même requête HTTP afin de réduire le risque d’exploitation malveillante et d’attaques
- Éliminer les attaques par déni de service – Configurez la profondeur maximale de la structure dans les profils de contenu afin de bloquer les attaques par déni de service provoquées par des requêtes récursives
- Limiter l’exposition aux risques liés aux API – Appliquez des restrictions aux requêtes d’introspection afin d’empêcher les pirates de comprendre la structure de l’API, ce qui pourrait entraîner une faille de sécurité
Sécurisez les API de streaming bidirectionnel gRPC avec NGINX App Protect WAF
NGINX App Protect WAF prend désormais en charge le streaming bidirectionnel gRPC en plus des types de messages unaires, ce qui vous permet de sécuriser les API basées sur gRPC qui utilisent des flux de messages (côté client, côté serveur ou les deux). Vous bénéficiez ainsi d’une sécurité complète pour les API gRPC, quel que soit le type de communication.
NGINX App Protect WAF sécurise les API gRPC en imposant le respect de votre schéma, en définissant des limites de taille, en bloquant les fichiers inconnus et en empêchant les attaques par déni de service (DoS) visant à épuiser les ressources. Vous pouvez importer votre fichier IDL (Interface Definition Language) dans NGINX App Protect WAF afin qu’il puisse faire respecter la structure et le schéma de vos messages gRPC, et rechercher les attaques aux emplacements appropriés. Cela permet de détecter avec précision les tentatives d’exploitation de votre application via gRPC et d’éviter les faux positifs susceptibles de se produire lorsque la recherche de menaces est effectuée sans contexte aux mauvais emplacements.
Découvrez dans cette démonstration comment NGINX App Protect WAF peut protéger vos API gRPC bidirectionnelles contre les attaques.
 
Avantages de la sécurisation des API gRPC avec NGINX App Protect WAF :
- Protection gRPC complète – Des appels unaires au streaming bidirectionnel, une sécurité complète quel que soit le type de communication
- Réduisez les faux positifs – Améliorez la précision grâce à l’application de la structure et du schéma des messages gRPC, afin de mieux détecter les attaques dans une requête gRPC
- Bloquez les exploitations malveillantes – Vérifiez que chaque champ du message gRPC présente le type et le contenu attendus, avec la possibilité de bloquer les champs inconnus
- Éliminer les attaques par déni de service (DoS) – Limitation de la taille des messages afin d’empêcher les attaques par déni de service (DoS) visant à épuiser les ressources
Les équipes SecOps et de développement d’API peuvent toutes deux gérer et automatiser la sécurité des API
Dans le Rapport 2022 sur l’état des API de Postman, 20 % des 37 000 développeurs et professionnels des API interrogés ont déclaré que leur organisation subissait des incidents liés aux API au moins une fois par mois, entraînant des pertes de données, des interruptions de service, des abus ou des accès inappropriés. À l’inverse, 52 % des répondants ont subi une attaque d’API moins d’une fois par an, ce qui souligne l’importance d’intégrer la sécurité en amont dans le cadre d’une stratégie shift-left pour la sécurité des API. Les API étant publiées plus fréquemment que les applications, la stratégie shift-left est de plus en plus appliquée à leur sécurité. Lorsque les organisations adoptent une culture shift-left et intègrent la sécurité en tant que code dans les pipelines CI/CD, elles incorporent la sécurité à chaque étape du développement des API, permettent aux développeurs de rester agiles et accélèrent le rythme des déploiements.
Un domaine clé dans lequel la protection doit être propre à l’API est la validation des schémas d’API, notamment des fichiers IDL gRPC et des requêtes GraphQL. Les schémas sont propres à chaque API et évoluent avec chaque version de celle-ci. Lorsque vous automatisez le schéma d’une API, chaque mise à jour de l’API nécessite également de mettre à jour la configuration et le code dans ce fichier. Les configurations WAF peuvent être déployées de manière automatisée afin de suivre les changements de version des API. NGINX App Protect WAF peut valider les schémas en vérifiant que les requêtes sont conformes à ce que l’API prend en charge (méthodes, points de terminaison, paramètres, etc.). NGINX App Protect WAF assure une sécurité cohérente des applications grâce à des politiques déclaratives pouvant être créées par les équipes SecOps, tandis que les équipes de développement d’API peuvent gérer et déployer la sécurité des API afin de bénéficier d’un contrôle plus précis et d’une plus grande agilité. Si vous souhaitez automatiser à grande échelle la sécurité de vos API dans des environnements hybrides et multicloud, NGINX App Protect WAF peut vous aider.
Résumé
Les portefeuilles d’applications modernes ne cessent de croître et, avec l’utilisation des microservices, les API se multiplient encore davantage. La sécurité des API est complexe et difficile à assurer, en particulier pour les organisations qui exploitent des environnements hybrides ou multicloud. Une sécurité insuffisante des API peut avoir des conséquences dévastatrices à long terme, au-delà des coûts financiers. NGINX App Protect WAF offre une sécurité complète des API, notamment une protection pour vos API REST, GraphQL et gRPC, et aide vos équipes SecOps et API à intégrer la sécurité en amont et à l’automatiser tout au long du cycle de vie des API et dans les environnements distribués.
Essayez NGINX App Protect WAF dès aujourd’hui grâce à un essai gratuit de 30 jours.
Ressources supplémentaires
Blog : Sécurisez votre passerelle API avec NGINX App Protect WAF
eBook : Sécurité moderne des applications et des API
eBook : Maîtriser l’architecture des API avec O’Reilly
Fiche technique : NGINX App Protect WAF
À propos de l’auteur

Articles de blog associés

Tendances actuelles des technologies cloud natives, de l’ingénierie de plateforme et de l’IA
Découvrez les principaux enseignements tirés des réponses à l’enquête annuelle F5 NGINX sur les dernières tendances en matière de technologies cloud natives, de sécurité, d’ingénierie de plateforme et d’IA.
Quels contrôleurs Ingress NGINX sont affectés par les vulnérabilités CVE-2022-4886, CVE-2023-5043 et CVE-2023-5044 ?
Lorsque de nouvelles CVE sont signalées, il est facile de ne plus savoir si elles concernent un outil de contrôleur Ingress NGINX particulier, car il existe plusieurs projets. Cet article présente les CVE et explique comment distinguer les différents projets de contrôleurs Ingress afin de dissiper toute confusion.
Votre API est-elle en temps réel ? Testez sa latence avec l’outil rtapi de NGINX
Votre API répond-elle aux requêtes en moins de 30 ms ? Si ce n’est pas le cas, il ne s’agit pas d’une API en temps réel offrant la faible latence exigée par la grande majorité des organisations. Mesurez la latence de votre API avec l’outil rtapi de NGINX et découvrez comment NGINX peut l’aider à offrir une réactivité en temps réel.

Un testeur d’expressions régulières pour NGINX et NGINX Plus
Le testeur d’expressions régulières (regex) pour NGINX et NGINX Plus vous évite de tâtonner en vous indiquant si une expression régulière utilisée dans un bloc location ou map correspond aux valeurs comme prévu. Il génère la configuration appropriée et affiche les valeurs des groupes de capture.
Caches partagés avec les clusters de cache NGINX Plus, partie 1
Optimisez la capacité de votre cache web en le répartissant entre plusieurs serveurs de cache web NGINX ou NGINX Plus. Découvrez comment procéder dans cet article.
Introduction aux microservices
Les microservices suscitent actuellement beaucoup d’intérêt. Cet article de blog est le premier d’une série de sept consacrée à la conception, au développement et au déploiement de microservices.