Les API, ou interfaces de programmation d’applications, sont un ensemble de protocoles, de routines et d’outils qui permettent à différentes applications, différents systèmes logiciels ou différents composants de communiquer entre eux. Les API jouent un rôle de plus en plus essentiel dans les infrastructures numériques modernes, car elles constituent le tissu d’interconnexion qui relie les applications, les services, les systèmes et les données sur des plateformes distribuées.
Les API sont si essentielles aux environnements numériques actuels que les organisations adoptent de plus en plus une approche « API-first », dans laquelle la conception des applications commence par l’API. Cette démarche s’oppose à l’approche traditionnelle « code-first », qui donne la priorité au code monolithique et ne prend en compte la conception des API que plus tard, voire pas du tout.
Il ne fait aucun doute que les API se multiplient. Une organisation gère désormais en moyenne plus de 400 API au sein de son infrastructure numérique, tandis que 68 % des organisations utilisent des API pour gérer la mise à disposition et la sécurité des applications. La plupart des organisations sont également conscientes que la prolifération des API représente un risque : 58 % des organisations considèrent la prolifération des API comme un problème majeur. En effet, l’omniprésence des API élargit la surface d’attaque d’une organisation et fait apparaître des menaces imprévues en raison de leurs interdépendances au sein d’architectures multicloud.
“Les API jouent un rôle de plus en plus essentiel dans les infrastructures numériques modernes, car elles constituent le tissu d’interconnexion qui relie les applications, les services, les appareils et les données sur des plateformes distribuées.”
Les API sont exposées à l’exploitation de vulnérabilités, aux abus liés aux menaces automatisées, aux dénis de service, aux erreurs de configuration et aux attaques qui contournent les contrôles d’authentification et d’autorisation. Des mesures robustes de sécurité des API sont essentielles, car les API donnent accès à une logique métier critique et à des informations sensibles. Elles doivent protéger les données des utilisateurs, les identifiants d’authentification et les transactions financières contre tout accès non autorisé, toute manipulation ou toute divulgation, tout en garantissant l’intégrité et la disponibilité des API.
Cet article de blog présente un aperçu rapide des principales menaces de sécurité qui pèsent sur les API, ainsi qu’une liste de contrôle décrivant les stratégies clés et les bonnes pratiques en matière de sécurité des API afin de les protéger dans des environnements multicloud, notamment les contrôles d’accès, la validation des entrées et la gestion des sorties, les tests d’API et la surveillance. Il recommande également les principales normes de sécurité des API à respecter et propose des outils de sécurité pour protéger vos précieuses API.
1. Contrôle d’accès, authentification et autorisation
Le contrôle d’accès est le processus structuré qui consiste à déterminer quels utilisateurs disposent de droits d’accès à des ressources spécifiques et à faire respecter ces droits. Ce processus comprend à la fois l’authentification et l’autorisation. L’authentification consiste à vérifier l’identité d’un utilisateur, tandis que l’autorisation détermine le niveau d’accès dont l’utilisateur authentifié peut bénéficier.
Voici les principales recommandations à inclure dans une liste de contrôle des accès afin d’améliorer la sécurité des API :
- N’utilisez pas l’authentification basique pour le contrôle d’accès. L’authentification basique repose généralement sur de simples identifiants composés d’un nom d’utilisateur et d’un mot de passe, qui peuvent facilement être compromis par un attaquant déterminé. Utilisez plutôt des méthodes de contrôle d’accès plus robustes, telles que OAuth ou les jetons web JSON (JWT).
- Suivez les bonnes pratiques relatives aux jetons d’API. Les jetons d’API sont souvent utilisés pour accorder l’accès à des points de terminaison et à des services d’API. Une mauvaise gestion de ces jetons peut exposer des systèmes sensibles à des accès non autorisés ou à des utilisations abusives. Limitez la portée et les autorisations des jetons, définissez toujours une date d’expiration pour les jetons d’accès, et stockez et transmettez les jetons de manière sécurisée.
- Recherchez les failles d’authentification et d’autorisation. Identifiez et corrigez les failles de sécurité courantes liées à la manière dont les utilisateurs sont authentifiés et aux ressources auxquelles ils sont autorisés à accéder. Ces menaces comprennent les failles d’authentification, qui surviennent lorsque des attaquants parviennent à usurper l’identité d’utilisateurs légitimes en compromettant des mots de passe, des clés, des jetons de session ou des informations de compte utilisateur. Une faille d’autorisation au niveau des propriétés des objets (BOLA) se produit lorsqu’une application n’applique pas correctement les contrôles d’accès au niveau des objets ou des données, ce qui permet à un attaquant de manipuler ou de contourner les contrôles d’autorisation et d’accéder sans autorisation à des objets ou à des données spécifiques au sein d’une application. Une faille d’autorisation au niveau des fonctions se produit lorsqu’une API n’applique pas correctement les contrôles d’autorisation au niveau des fonctions ou des opérations, ce qui permet aux attaquants d’accéder à des fonctionnalités non autorisées ou de manipuler des fonctions légitimes.
- Sécurisez les référentiels d’identités. Protégez les systèmes qui stockent des données sensibles liées aux identités, telles que les clés d’API, les journaux d’authentification et les identifiants des utilisateurs. Cela implique de chiffrer les données au repos, de restreindre les accès et de mettre en place des contrôles d’accès robustes. En sécurisant les référentiels d’identités, les organisations réduisent le risque que des attaquants accèdent sans autorisation à des informations critiques d’authentification et d’autorisation.
- Utilisez une passerelle API. Gérez le contrôle d’accès à toutes les API depuis un emplacement unique et centralisé. Cela facilite l’application de politiques cohérentes, notamment en matière d’authentification, de limitation du débit et de règles d’autorisation. En appliquant ces contrôles par l’intermédiaire de la passerelle, les organisations réduisent le risque d’erreurs de configuration et garantissent une protection uniforme de toutes les API.
- Chiffrez toutes les données sensibles. Le chiffrement protège les données qui transitent par les API contre les accès non autorisés, qu’elles soient en transit ou au repos. Même si des attaquants interceptent le trafic réseau ou accèdent aux systèmes de stockage, les données chiffrées restent illisibles sans les clés de déchiffrement appropriées. Cela contribue à garantir la confidentialité et l’intégrité des données, ainsi qu’à assurer la conformité réglementaire.
- Mettez en place une limitation du débit. Le contrôle de la fréquence à laquelle un client peut envoyer des requêtes API sur une période donnée contribue à prévenir les attaques par déni de service distribué (DDoS), en empêchant les attaquants de submerger une API de trafic, ainsi que les attaques par bourrage d’identifiants, en ralentissant ou en bloquant les tentatives de connexion répétées.
2. Entrées et sorties
La validation des entrées de l’API empêche les pirates d’envoyer des requêtes API malveillantes, tandis que la gestion des sorties protège contre la perte de données en veillant à ce que l’API ne divulgue aucune donnée sensible.
Voici les principales recommandations à inclure dans une liste de contrôle des entrées et des sorties afin d’améliorer la sécurité des API :
- Validez les entrées utilisateur pour l’en-tête Content-Type et le format des données. L’en-tête Content-Type indique à l’API le type de données envoyées. Sa validation garantit que l’API ne traite que les formats attendus et pris en charge. La vérification du format des données permet de s’assurer que la structure de la charge utile correspond à celle attendue par l’API ou à l’usage prévu. Ces validations peuvent empêcher les attaques par injection en rejetant les entrées inattendues ou mal formées.
- Imposez la méthode HTTP appropriée pour chaque type de requête d’API. L’application stricte des méthodes garantit un comportement prévisible de l’API et la protège contre les utilisations abusives ou les élévations de privilèges. Par exemple, GET doit uniquement récupérer des données, sans les modifier ; POST sert aux requêtes de création ; PUT/PATCH doit être utilisé pour les requêtes de remplacement ou de mise à jour ; et DELETE pour les requêtes de suppression. Si ces méthodes HTTP ne sont pas strictement imposées, des utilisateurs malveillants pourraient exploiter l’API en utilisant une méthode non autorisée — par exemple, en envoyant une requête POST ou PUT à un point de terminaison GET — afin de modifier des données qu’ils devraient uniquement pouvoir consulter.
- Testez les entrées malveillantes et mal configurées. La recherche de vulnérabilités par injection et de mauvaises configurations consiste à vérifier activement que l’API traite et assainit correctement les entrées utilisateur afin de prévenir les attaques. Les injections SQL se produisent lorsqu’un attaquant soumet une entrée spécialement conçue pour manipuler la requête de base de données, ce qui peut permettre d’exposer, de modifier ou de supprimer des données. Par ailleurs, des paramètres d’entrée mal configurés peuvent permettre aux attaquants de contourner les contrôles ou d’accéder à des données sensibles.
- Veillez à ce que les API ne renvoient jamais de données sensibles. Configurez l’API de manière à éviter d’exposer des informations confidentielles ou critiques pour la sécurité dans ses réponses. Les identifiants et les mots de passe ne doivent jamais figurer dans les réponses de l’API, même dans les messages d’erreur, car ils pourraient être interceptés ou utilisés à mauvais escient. Les jetons d’accès, les jetons d’actualisation ou les identifiants de session doivent être protégés et renvoyés uniquement dans des contextes contrôlés et sécurisés. Les en-têtes permettant la prise d’empreinte peuvent révéler des informations sur le serveur ou la pile applicative, ce qui pourrait aider des attaquants à concevoir des exploits ciblés.
- Veillez à ce que les API renvoient un code d’état approprié une fois la requête traitée. L’API doit indiquer précisément le résultat d’une requête à l’aide de codes d’état standard, afin de garantir un comportement clair, cohérent et sécurisé. Ces codes d’état comprennent notamment 200 OK, 400 Bad Request, 401 Unauthorized et 405 Method Not Allowed.
- Veillez à ce que les API renvoient des messages d’erreur génériques. Les messages d’erreur détaillés peuvent révéler le fonctionnement interne de l’API, notamment la structure de la base de données, la configuration du serveur ou la logique d’authentification. Les attaquants peuvent exploiter ces informations pour élaborer des attaques ciblées, telles que l’injection SQL, l’élévation de privilèges ou les attaques par force brute visant les identifiants.
3. Tests de sécurité des API
Les tests de sécurité des API doivent être effectués en continu, et pas uniquement lors du déploiement initial, car les API sont dynamiques et font souvent l’objet de mises à jour ou de l’ajout de nouvelles fonctionnalités. En outre, le paysage des menaces évolue lui aussi, les attaquants développant constamment de nouvelles techniques.
Voici les principales recommandations à inclure dans une liste de contrôle pour les tests de sécurité des API :
- Effectuez des tests fonctionnels. Assurez-vous que les fonctions principales de l’API fonctionnent comme prévu et restent stables après l’ajout de nouvelles fonctionnalités ou l’application de correctifs.
- Testez les performances. Effectuez des tests de charge sur l’API afin d’en déterminer les limites de performance et le temps nécessaire à son rétablissement après un incident.
- Effectuez des analyses de vulnérabilités et des tests d’intrusion. Utilisez un scanner d’API automatisé pour tester le code source et rechercher les erreurs d’exécution, et effectuez régulièrement des tests d’intrusion afin d’identifier les vulnérabilités de l’API face à des attaques plus sophistiquées, nouvelles ou inédites.
4. Surveillance
La surveillance des API est essentielle, car elle permet de détecter les menaces en temps réel et d’établir un niveau de référence de l’activité « normale », indispensable pour repérer les anomalies. Une surveillance continue permet aux équipes de sécurité d’identifier rapidement des comportements inhabituels, tels que des pics de trafic, des échecs de connexion répétés ou une utilisation anormale des points de terminaison, qui sont souvent des signes d’attaque.
Une checklist de surveillance des API doit inclure les éléments suivants :
- Utilisez un outil de découverte d’API pour surveiller en continu les nouvelles API et les documenter. Vous ne pouvez pas sécuriser ce dont vous ignorez l’existence. Les développeurs peuvent déployer ou tester des API sans autorisation formelle, créant ainsi des points de terminaison non répertoriés ou non documentés (« API fantômes ») susceptibles d’échapper aux équipes de sécurité et de devenir des cibles faciles pour les attaquants. La découverte continue garantit que chaque API exposée est correctement inventoriée, évaluée, sécurisée et régie.
- Tenez à jour un catalogue centralisé de toutes les API. Le maintien d’une vue unique et structurée de l’ensemble de l’écosystème d’API simplifie leur surveillance grâce à une meilleure visibilité, une gestion rationalisée et une réponse plus rapide aux incidents.
- Consignez et analysez le trafic des API. Identifiez les pics inattendus du volume de requêtes, qui peuvent indiquer une attaque DDoS, et surveillez les requêtes provenant de régions géographiques inhabituelles pour les utilisateurs légitimes, car elles peuvent signaler des tentatives d’accès non autorisé. Une hausse soudaine du nombre de requêtes ayant échoué peut révéler une activité de bourrage d’identifiants ou des clients mal configurés qui sollicitent l’API de manière répétée avec des données non valides.
5. Normes de sécurité des API : OWASP et NIST
L’Open Worldwide Application Security Project (OWASP) et le National Institute of Standards and Technology (NIST) publient tous deux des bonnes pratiques en matière de cybersécurité.
- L’OWASP se concentre spécifiquement sur la sécurité des applications et publie des listes des risques les plus courants pour les applications web et les grands modèles de langage. Le Top 10 de l’OWASP des risques de sécurité liés aux API est un guide pratique pour concevoir des API sécurisées et effectuer des tests de sécurité.
- Le NIST adopte une approche globale de la cybersécurité et publie le cadre de cybersécurité du NIST (CSF). Le CSF du NIST permet d’aligner la sécurité de vos API sur des stratégies plus larges, structurées autour de six piliers : identifier, protéger, détecter, répondre, rétablir et gouverner.
6. Outils de sécurité des API
En raison de l’adoption d’une conception d’applications axée sur les API et de la prolifération de celles-ci, une solution complète de protection des applications web et des API (WAAP) constitue la meilleure défense pour les environnements d’API. Une solution WAAP offre une sécurité globale et réunit au sein d’une solution unique un pare-feu pour applications web (WAF), des services de découverte et de protection des API, une protection contre les attaques DDoS et une gestion des bots.
Les principaux avantages d’une solution WAAP sont les suivants :
- Observabilité renforcée. Une visibilité complète sur le trafic des applications web et des API, grâce aux journaux, aux métriques et aux analyses en temps réel, permet aux équipes de sécurité de détecter les anomalies, de résoudre plus rapidement les problèmes et d’obtenir des informations exploitables sur l’activité des utilisateurs et les nouvelles tendances en matière de menaces.
- Protection intégrée et complète. WAAP associe des fonctionnalités robustes de découverte et de visibilité des API à des capacités d’application essentielles pour contrôler et bloquer les menaces visant les API, notamment des contrôles spécifiques pour les listes d’autorisation et de refus, la limitation du débit, le filtrage GeoIP, ainsi que la création de règles personnalisées. En outre, WAAP intègre une protection contre les attaques DoS de couche 7, une fonctionnalité de prévention des pertes de données (DLP) permettant de détecter et de masquer les données sensibles, la gestion des bots et un WAF, le tout au sein d’une solution unique. Cette approche globale garantit à la fois la visibilité et la sécurité des API, permettant une gouvernance adéquate et des performances fiables.
- Gestion centralisée des politiques. WAAP gère les politiques de sécurité de l’ensemble des applications web et des API depuis un point de contrôle unique, quel que soit l’endroit où les applications sont hébergées ou leur architecture sous-jacente. Cette approche centralisée garantit une application cohérente des politiques, réduit les erreurs de configuration et simplifie les opérations de sécurité dans des environnements variés.
- Gestion et maintenance rationalisées des politiques. En automatisant et en optimisant la mise en œuvre et la mise à jour des politiques dans les applications et les API, les solutions WAAP facilitent leur application, leur amélioration et leur adaptation, selon les besoins, à l’ensemble des applications et des API afin de contrer l’évolution des menaces et du comportement des applications. Cela réduit les interventions manuelles, accélère la réponse aux nouvelles techniques d’exploitation et garantit une application uniforme dans tous les systèmes.
- Pistes d’audit claires. Des journaux détaillés et des pistes d’audit concernant les accès, les modifications de politiques et les événements de sécurité sont essentiels pour démontrer la conformité aux normes réglementaires et sectorielles pour l’ensemble des vecteurs de menace et des composants d’une application, notamment les API, l’infrastructure et les données.
Sécurité des API par F5
F5 propose des solutions de sécurité des API dans le cadre de ses solutions de protection des applications web et des API (WAAP), qui sécurisent les API dans des environnements d’infrastructure hybrides et multicloud complexes, tout en réduisant la complexité et en améliorant l’efficacité opérationnelle. Les solutions WAAP de F5 offrent une approche complète de la protection des API tout au long de leur cycle de vie, depuis les phases de développement et de test jusqu’à leur mise en production, leur exploitation et leur surveillance.
Les solutions WAAP de F5 atténuent les risques et améliorent la résilience numérique en protégeant en continu la logique métier critique sur laquelle reposent les applications web et les API. Elles offrent une visibilité universelle sur les API grâce à leur découverte dynamique, leur surveillance continue et la détection des menaces, tout en sécurisant les points de terminaison des API à l’aide de mécanismes essentiels de contrôle et d’application des politiques. Les solutions WAAP de F5 peuvent être déployées dans n’importe quel environnement, notamment sur site, dans le cloud ou sous forme de service.
À propos de l’auteur
Articles de blog associés

F5 NGINXaaS pour Google Cloud : des applications résilientes et évolutives
Découvrez comment NGINXaaS s’intègre à Google Cloud pour renforcer les performances et la sécurité, et préparer vos applications critiques à un avenir propulsé par l’IA.
L’intégration de F5 Web Application Firewall (WAF) à AWS est disponible dès aujourd’hui
En faisant appel à un partenaire de déploiement AWS WAF tel que F5, vous pouvez renforcer la sécurité de vos applications web grâce à des règles personnalisées qui bloquent les schémas d’attaque courants, comme les injections SQL ou les attaques par scripts intersites (XSS).
Appliquer le principe de Peter Parker à l’inspection TLS
« Un grand pouvoir implique de grandes responsabilités. » Si l’on en trouve des échos chez Voltaire et Churchill, cette citation est surtout connue grâce aux bandes dessinées Spider-Man, où elle est attribuée à l’oncle Ben. Bien entendu, si cette phrase est si répandue dans la culture populaire, c’est notamment parce qu’elle peut s’appliquer à une multitude de situations et de sujets, y compris à l’inspection TLS.
Le NetOps a besoin de défenseurs, pas d’adversaires
Il est important de reconnaître que les équipes NetOps ne sont pas toujours celles qui font obstacle au déploiement de la dernière nouveauté, application ou service. Les freins à la rapidité sont souvent dus au fait que les organisations n’adoptent pas tous les principes du DevOps lorsqu’elles cherchent à transformer leurs opérations informatiques.
Mise à jour des services applicatifs : sécurité, rapidité et visiteurs suspects
Il est de nouveau temps de nous pencher sur les services applicatifs que les entreprises utilisent réellement pour rendre leurs applications plus rapides et plus sûres. On constate notamment une hausse du recours aux services de protection contre les bots, ainsi que la progression lente mais régulière de HTTP/2. Bien qu’il ne s’agisse pas d’une application…
Les templates prennent le contrôle du cloud
Les modèles s’imposent dans le cloud. Lisez le blog de F5 pour découvrir comment l’infrastructure en tant que code et les API déclaratives automatisent la mise à disposition des applications.
