Prévenez les attaques contre les API grâce aux outils essentiels et aux bonnes pratiques de sécurité des API

NGINX | 18 juillet 2023

Ces dernières années, la multiplication des API a profondément transformé le fonctionnement des entreprises. Les API permettent à différentes applications de communiquer et d’échanger des données entre elles, rendant ainsi les processus métier et le développement logiciel plus efficaces.

Cependant, l’utilisation accrue des API s’accompagne d’un risque de prolifération des API, celles-ci étant créées et déployées au sein d’équipes et d’architectures distribuées, souvent sans supervision ni gestion adéquates. Cette situation peut engendrer de nouveaux risques de sécurité pour les entreprises, car chaque API constitue un point d’entrée potentiel permettant à des attaquants d’accéder sans autorisation à des données et systèmes sensibles.

L’essor du développement logiciel axé sur les API

L’un des principaux facteurs de la prolifération des API est la multiplication des microservices. Une architecture de microservices décompose une application de grande taille en applications individuelles plus petites qui communiquent entre elles via des API. Les applications complexes sont ainsi divisées en composants distincts, qui peuvent être gérés par des équipes dédiées et mis à l’échelle indépendamment les uns des autres afin de répondre aux besoins en matière de trafic.

Les microservices offrent de nombreux avantages aux développeurs, notamment une flexibilité et une évolutivité accrues. Toutefois, ces avantages s’accompagnent de compromis, dont une complexité supplémentaire. Par conséquent, de nombreuses entreprises adoptent une approche API-first pour créer des microservices. Dans cette stratégie, le processus de conception des applications et des services commence par un contrat d’API qui décrit le fonctionnement d’une API, jusqu’au format des requêtes et des réponses.

Intégrez la sécurité tout au long du cycle de vie de l’API

La surface d’attaque s’étend à mesure que les API se multiplient

Les avantages du développement logiciel axé sur les API peuvent facilement être compromis si la sécurité des API n’est pas prise au sérieux, en particulier lors de la conception et du déploiement. Fondamentalement, plus le nombre d’API augmente, plus la surface d’attaque s’étend. Si les API jouent un rôle essentiel dans le développement logiciel moderne, elles deviennent dans le même temps plus faciles à exploiter.

En 2018, Gartner prédisait que les API deviendraient le vecteur d’attaque le plus courant contre les applications d’ici 2022. En réalité, prévoir un tel délai était bien trop optimiste. Des violations d’API très médiatisées touchant de grandes entreprises et affectant des millions d’utilisateurs se produisaient déjà et n’ont fait que se multiplier :

  • En 2018, Facebook a indiqué que les données d’au moins 50 millions d’utilisateurs étaient menacées après que des pirates ont exploité l’API destinée aux développeurs de l’entreprise afin d’obtenir des informations personnelles identifiables (PII) associées aux pages de profil des utilisateurs, notamment leur nom, leur genre et leur ville d’origine.
  • En 2019, LinkedIn a signalé qu’un pirate informatique avait exploité des API et utilisé des techniques d’extraction de données pour recueillir les informations de plus de 700 millions d’utilisateurs, qui ont ensuite été mises en vente sur le dark web.
  • En 2021, une API gérée par Peloton a permis à un acteur malveillant de demander des informations personnelles identifiables, notamment l’âge, le genre, la ville, le poids et la date de naissance.
  • En 2022, Twitter a remédié à une faille d’API qui a exposé les données de 5,4 millions de comptes utilisateurs, notamment des numéros de téléphone et des adresses e-mail.
  • En 2023, T-Mobile a indiqué qu’une faille d’API avait entraîné le vol des données de 37 millions de clients, notamment leurs noms, adresses e-mail, adresses postales, numéros de téléphone, dates de naissance, entre autres.

L’ampleur et la diversité de ces attaques mettent en évidence les défis auxquels sont confrontés les responsables de la sécurité et de l’ingénierie. Certaines attaques exploitent des API exposées par erreur sur Internet. D’autres utilisent des clés d’API ou d’autres méthodes d’authentification divulguées par erreur dans des dépôts de code. Il arrive également que des attaquants accèdent à des environnements internes en exploitant des failles de VPN, puis utilisent des API internes pour exfiltrer des données.

Contrer les attaques visant les API nécessite une stratégie et des outils adaptés

La méthode la plus courante pour se protéger contre les menaces visant les API consiste à associer les stratégies traditionnelles de sécurité des applications web aux techniques modernes de sécurité des API. Les stratégies traditionnelles se révèlent souvent insuffisantes face à la diversité actuelle des menaces visant les API. Les techniques modernes, telles que la découverte automatisée des API et les tests de contraste des API, visent à combler ces lacunes.

Il est essentiel pour les entreprises de protéger à droite (mettre en œuvre des contrôles globaux et des politiques de sécurité pour protéger les applications et les API déployées) et de décaler à gauche (intégrer la sécurité au code afin d’éliminer les vulnérabilités avant la mise en production des applications et des API). Aucune de ces stratégies ne peut à elle seule assurer une sécurité complète des API. La prévention des violations repose donc sur une approche globale couvrant trois catégories de pratiques de sécurité des API :

Sécurité des API de bout en bout

En combinant la bonne stratégie avec les bons outils, les organisations peuvent mieux protéger leurs API contre les attaques et garantir la sécurité de leurs systèmes logiciels. Examinons les fonctionnalités et les outils essentiels que les responsables de l’ingénierie des plateformes doivent mettre en œuvre pour protéger les API tout au long de leur cycle de vie.

Qu’est-ce que la gestion de la posture de sécurité des API ?

La gestion de la posture de sécurité des API offre une visibilité sur le nombre, les types et les emplacements de vos API, ainsi que sur les données qu’elles exposent. Ces informations vous aident à comprendre les risques associés à chaque API afin de prendre les mesures appropriées pour la protéger.

Fonctionnalités clés :

  • Découverte automatisée des API – Découverte automatique et continue des API pour une visibilité complète sur les API déployées dans un environnement
  • Caractérisation des API – Identifiez et classez les API par protocole ou architecture (REST, GraphQL, SOAP, etc.) et cartographiez les flux de données sensibles afin de mieux comprendre votre exposition aux risques
  • Catalogage des API – Tenez à jour une liste exhaustive des API afin d’encourager les équipes de développement à réutiliser les API existantes et d’aider les équipes SecOps à obtenir une vue d’ensemble complète de votre posture de sécurité

Technologies représentatives :

  • Web application and API protection (WAAP) – Exploite une position globale privilégiée au sein de l’infrastructure d’API afin d’analyser le trafic entrant et sortant des environnements, d’identifier les API et d’obtenir une vue d’ensemble de votre exposition aux risques
  • Découverte en ligne ou basée sur un agent – Associe un agent aux passerelles d’API, aux répartiteurs de charge ou aux contrôleurs Ingress Kubernetes existants afin de dupliquer et d’analyser le trafic des API
  • Découverte hors bande ou sans agent – Utilise la mise en miroir du trafic ou des journaux et métriques exportés pour analyser le trafic des API ; offre généralement une visibilité moindre sur les API et les menaces que les autres technologies
  • Robots d’exploration de domaine – Les fournisseurs de solutions de sécurité des API peuvent proposer des robots d’exploration qui analysent votre domaine à la recherche de points de terminaison d’API exposés permettant au trafic de contourner vos passerelles API et vos répartiteurs de charge, au niveau desquels des politiques de sécurité peuvent être appliquées

Il est important de garder à l’esprit qu’aucune technologie ne peut détecter de manière fiable toutes les API de votre architectureLa plupart des techniques de découverte reposent sur la visibilité offerte par les équilibreurs de charge, les passerelles API et les contrôleurs Ingress existants, et sont peu susceptibles de détecter les erreurs de configuration qui contournent ces composants architecturaux.

En définitive, la revue du code et l’adoption des bonnes pratiques privilégiant une approche API-first permettent une prévention plus efficace à long terme. Les outils automatisés de découverte d’API restent toutefois utiles pour obtenir rapidement une vue d’ensemble de votre posture de sécurité et repérer les API qui, autrement, risqueraient de ne pas être gérées ni sécurisées.

Qu’est-ce que le test de sécurité des API ?

Alors que la gestion de la posture de sécurité des API porte sur la sécurité à l’échelle de l’entreprise, les tests de sécurité des API se concentrent essentiellement sur chaque API. Dans leur forme la plus élémentaire, ces tests permettent d’identifier et de prévenir les vulnérabilités ainsi que les risques associés en testant l’environnement d’exécution de l’API, c’est-à-dire l’application qui fonctionne derrière celle-ci. Ils permettent de vérifier que les exigences de sécurité de base sont respectées, notamment en matière d’authentification, d’autorisation, de limitation du débit et de chiffrement.

Fonctionnalités clés :

  • Tests de contrat d’API – Utilise la spécification OpenAPI d’une API pour vérifier qu’elle fonctionne comme prévu, en comparant les requêtes des clients et les réponses du serveur. Cette méthode adopte une approche « de l’intérieur vers l’extérieur » afin de détecter les éventuelles vulnérabilités des API avant leur déploiement.
  • Tests dynamiques de sécurité des applications (DAST) – Simulent des attaques contre une API en cours d’exécution afin de détecter les vulnérabilités, en évaluant l’API de l’extérieur, comme le ferait un utilisateur malveillant.

Technologies représentatives :

  • Logiciels de test des contrats d’API – Outils spécialisés permettant d’exécuter des tests qui décomposent les requêtes et les réponses d’API afin de vérifier que le comportement du client et du serveur est conforme au contrat d’API
  • Logiciels de test de sécurité des applications (AST) – Outils qui analysent et testent les applications, y compris les API, en simulant des attaques

Il existe à la fois des outils open source de test de contrats et des produits commerciaux proposés par des fournisseurs spécialisés dans la sécurité des API. Le marché des tests de sécurité des applications (AST) existe depuis des décennies, et un nombre croissant de fournisseurs proposent des outils dédiés à l’analyse et au test des API.

Qu’est-ce que la protection des API à l’exécution ?

La protection des API à l’exécution consiste à sécuriser les API lorsqu’elles fonctionnent et traitent des requêtes. Elle vise en priorité à intégrer la sécurité à l’infrastructure de la plateforme ainsi qu’au code des API elles-mêmes. L’objectif est d’identifier et de bloquer les requêtes API malveillantes qui surviennent après le déploiement.
Fonctionnalités clés :

  • Contrôle d’accès – Appliquer les politiques d’authentification (authN) et d’autorisation (authZ)
  • Network security – Chiffrer et protéger les communications sur l’ensemble du réseau
  • Protection des applications – Protégez les environnements d’exécution des API contre les requêtes API malveillantes et les attaques
  • Surveillance en temps réel – Visualisez, tracez et atténuez les attaques sur l’ensemble de l’infrastructure API

Technologies représentatives :

  • Passerelle API – Applique et fait respecter les politiques de sécurité, notamment l’authentification, l’autorisation, la limitation du débit, les listes de contrôle d’accès et le chiffrement
  • Pare-feu d’application web (WAF) – Protège les API et les applications contre les attaques sophistiquées de couche 7 en surveillant et en filtrant activement le trafic en fonction des signatures d’attaque
  • Fournisseur d’identité (IdP) – Service qui stocke et vérifie l’identité des utilisateurs, et qui fonctionne généralement avec des fournisseurs d’authentification unique (SSO) pour authentifier les utilisateurs

Toutes les passerelles d’API et tous les WAF/WAAP ne se valent pas. Certains services, notamment les solutions natives disponibles dans le cloud et sur d’autres plateformes, n’offrent pas la visibilité globale et la standardisation requises pour les architectures multicloud et hybrides.

Bonnes pratiques en matière de sécurité des API

Compte tenu de l’importance de la sécurisation des API, il est essentiel d’aborder leur sécurité de manière structurée. Les responsables de l’ingénierie des plateformes et de la sécurité doivent collaborer afin de répondre aux exigences de sécurité tout au long du cycle de vie des API. Comme nous l’avons vu précédemment, cela correspond globalement à trois grands domaines de pratique : la gestion de la posture de sécurité des API, les tests de sécurité des API et la protection des API lors de leur exécution. En d’autres termes, vous devez savoir combien d’API vous possédez, comment les tester pour détecter les erreurs et comment intégrer la sécurité à votre code.

Liste des bonnes pratiques en matière de sécurité des API

Conclusion

Comme pour tous les aspects de la cybersécurité, la sécurité des API est un processus continu qui nécessite la collaboration de nombreuses parties prenantes, notamment les ingénieurs réseau, les responsables des opérations de sécurité, les responsables de l’ingénierie des plateformes et les ingénieurs en développement logiciel. La bonne nouvelle, c’est que la sécurisation des API n’a rien de mystérieux.

La plupart des organisations ont déjà mis en place des mesures pour lutter contre des attaques bien connues telles que le cross-site scripting, les injections, les dénis de service distribués et d’autres attaques susceptibles de cibler les API. Par ailleurs, bon nombre des bonnes pratiques décrites ci-dessus sont probablement déjà bien connues des professionnels chevronnés de la sécurité. Quel que soit le nombre d’API exploitées par votre organisation, votre objectif est d’établir des politiques robustes de sécurité des API et de les gérer de manière proactive au fil du temps.

Commencez votre essai gratuit de 30 jours de NGINX API Connectivity Stack, qui comprend F5 NGINX Management Suite API Connectivity Manager pour gérer, gouverner et sécuriser les API, F5 NGINX Plus comme passerelle d’API, ainsi que F5 NGINX App Protect WAF and DoS pour une sécurité avancée des API.

Ressources supplémentaires


Partager

Articles de blog associés

Tendances actuelles des technologies cloud natives, de l’ingénierie de plateforme et de l’IA
NGINX | 13/10/2025

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 ?
NGINX | 03/11/2023

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
NGINX | 11/03/2020

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
NGINX | 11/06/2019

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
NGINX | 24/01/2017

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
NGINX | 19/05/2015

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.