TL; DR
La plupart des failles de sécurité des API sont dues à des autorisations défaillantes, et non à des exploits exotiques. Trois des cinq principales catégories du Top 10 de l'OWASP sur la sécurité des API concernent les échecs d'autorisation, en tête de liste : BALLE.
On ne peut pas sécuriser ce dont on ignore l'existence. Gestion des stocks inadéquate Il s'agit d'une catégorie de risque OWASP à part entière, et c'est le fondement sur lequel reposent tous les autres contrôles.
Détecter l'exposition avant le déploiement, pas après. L'analyse statique du code et des spécifications de l'API révèle un point de terminaison défectueux dans un pull request, pour le prix d'un commit; les tests en temps réel permettent de détecter le même problème en direct, moyennant le coût d'un incident.
Il s'agit d'une liste de contrôle à exécuter en continu. Sur tout pull request, il ne s'agit pas d'un test avant lancement : 10 pratiques, de l'inventaire et de l'autorisation à la limitation du débit, à l'exposition des données de réponse et à la confiance envers les tiers.
Votre surface d'attaque API s'accroît à chaque pull requestLa plupart des équipes ne découvrent qu'un point de terminaison est exposé qu'une fois qu'il est en production et reçoit du trafic, ce qui signifie que la correction qui aurait coûté une fois commit L'examen de ces pratiques coûte désormais un rapport d'incident. Ce guide présente les bonnes pratiques de sécurité des API qui ont fait leurs preuves en production, sous forme de checklist applicable immédiatement à votre code source, et non d'une liste de principes abstraits jamais mis en œuvre.
Pourquoi les bonnes pratiques de sécurité des API ont-elles changé ?
Les API servaient autrefois de lien entre les systèmes. Désormais, elles constituent l'interface principale pour presque tout : applications mobiles, intégrations partenaires, agents d'IA, microservices internes. Cette évolution a modifié le périmètre des bonnes pratiques de protection des API. Il ne suffit plus de sécuriser l'API documentée ; il faut également prendre en compte celles développées par vos équipes et non documentées.
Deux chiffres expliquent pourquoi c'est important. Top 10 de la sécurité de l'API OWASP Le rapport classe les problèmes d'autorisation défaillante dans trois de ses cinq principales catégories, ce qui signifie que la plupart des incidents d'API réels sont liés à quelques schémas évitables, et non à des failles zero-day complexes. La mauvaise gestion des stocks figure également dans cette liste, en tant que catégorie de risque à part entière : les équipes subissent des intrusions via des API dont elles ignoraient l'existence.
C’est le thème récurrent dans tous les points ci-dessous. Une bonne gestion des API repose avant tout sur la connaissance de son écosystème, et non sur la simple défense de ce que l’on a pensé à documenter.
Aperçu des meilleures pratiques en matière de sécurité des API
Avant la liste détaillée, voici la version courte : ce qu’il faut mettre en œuvre, contre quoi cela protège réellement et avec quel degré d’urgence.
| Pratiques | Contre quoi il protège | Priorité |
|---|---|---|
| Chiffrement HTTPS/TLS | Interception de données, attaques de type « homme du milieu » | Requis |
| Authentification (OAuth 2.0, JWT) | Accès non autorisé, usurpation d'identité | Requis |
| Autorisation et contrôle d'accès | Élévation de privilèges, fuite de données | Requis |
| Validation des entrées | Attaques par injection, requêtes malformées | Requis |
| Inventaire complet des API | Des points de terminaison non documentés et obsolètes restent exposés. | Requis |
| Limitation de débit | Attaques par force brute, DDoS, abus | Haute |
| Gestion des clés API | Vol d'identifiants, utilisation non autorisée | Haute |
| Journalisation et surveillance | Intrusions non détectées, lenteur de la réponse aux incidents | Haute |
| Analyse statique avant déploiement | Exposition envoyée en production avant même que quiconque ne l'ait examinée | Haute |
| Tests de sécurité (SAST + DAST) | Vulnérabilités inconnues, régressions | Haute |
Considérez la ligne « Obligatoire » comme la base non négociable pour toute API, interne ou publique. Les éléments de priorité « Élevée » sont ce qui distingue un programme capable de détecter les problèmes rapidement. pull request d'une personne qui le découvre dans un rapport d'incident.
Liste de contrôle des meilleures pratiques en matière de sécurité des API
1. Constituez un inventaire complet avant de construire une défense
Il est impossible de protéger un point de terminaison dont on ignore l'existence. Toute démarche de protection d'API doit commencer par un inventaire complet : chaque point de terminaison, sa méthode, son chemin, le service et le module auxquels il appartient, et la nécessité d'une authentification. Ces informations doivent être extraites à la fois du code source et des spécifications de l'API (OpenAPI, Swagger), et non de la seule documentation, car c'est précisément dans l'écart entre les deux que se cachent les points de terminaison oubliés ou orphelins.
Où Xygeni trouve sa place : Sécurité de l'API Xygeni Il construit cet inventaire directement à partir du code source de votre application et des spécifications de votre API, faisant apparaître les points de terminaison documentés par votre équipe et ceux qui ne l'ont pas été, avant même qu'ils n'atteignent la production.
2. Appliquer l'autorisation au niveau de l'objet et de la fonction
Les failles d'autorisation au niveau des objets et des fonctions figurent systématiquement en tête du Top 10 de la sécurité des API OWASP. La meilleure pratique n'est pas d'« ajouter une authentification », mais de vérifier, à chaque requête, si cet utilisateur en particulier est autorisé à accéder cet objet précisIl ne s'agit pas simplement de savoir s'ils sont connectés. L'authentification détermine l'identité d'une personne. L'autorisation, quant à elle, détermine les ressources auxquelles elle est autorisée à accéder et doit être vérifiée systématiquement, sans être déduite d'un jeton valide.
3. Valider et nettoyer toutes les données reçues par l'API.
Chaque paramètre, en-tête et champ du corps est considéré comme une donnée non fiable jusqu'à preuve du contraire. Appliquez une validation stricte du schéma, rejetez les champs inattendus (cette mesure vous protège contre les attributions massives) et ne vous fiez jamais aux données fournies par le client pour déterminer le périmètre d'accès ou la logique de tarification.
4. Limitation du débit et régulation intégrées dès la conception, et non comme une solution de dernier recours.
Une consommation illimitée de ressources peut saturer votre infrastructure ou engendrer des coûts importants pour les services backend facturés à l'usage. Définissez des limites par point de terminaison, par utilisateur et par clé API, et assurez-vous que ces limites soient proportionnelles au coût réel de l'opération, et non pas un montant fixe appliqué à tous.
5. Considérez chaque réponse comme une fuite de données potentielle.
L'exposition excessive de données se produit lorsqu'une API renvoie plus d'informations que nécessaire au client et compte sur l'interface utilisateur pour les filtrer. Il s'agit d'une pratique courante, et non d'une erreur rare ; c'est d'ailleurs l'une des violations les plus fréquentes des bonnes pratiques de protection des API, car elle reste invisible tant que l'on n'examine pas les réponses brutes plutôt que l'interface utilisateur affichée.
Où Xygeni trouve sa place : La sécurité de l'API Xygeni signale directement l'exposition des informations personnelles identifiables dans les réponses de l'API, détectant ainsi le partage excessif avant l'envoi plutôt qu'après qu'un client ou un organisme de réglementation le remarque.
6. Maintenez un inventaire précis et à jour des API, y compris celles qui sont obsolètes.
Non conforme inventaire La gestion des API fait l'objet d'une catégorie à part entière dans la liste OWASP, et ce pour une bonne raison : les versions d'API obsolètes et les environnements de test non documentés restent souvent accessibles, et souvent vulnérables, longtemps après que leur existence soit tombée dans l'oubli. Un programme de bonnes pratiques de gestion des API doit impérativement inclure la mise hors service, et pas seulement la détection.
7. Examinez attentivement les sources tierces auxquelles votre API fait confiance.
L'utilisation non sécurisée d'API tierces représente un risque sous-estimé. Les développeurs ont tendance à accorder plus de crédit aux données provenant d'une autre API qu'aux données saisies par l'utilisateur, ce qui est tout à fait erroné ; une intégration tierce reste une source externe non vérifiée et doit donc être validée de la même manière.
8. Présentez des preuves aux développeurs, et pas seulement des alertes.
Un rapport d'incident indiquant « autorisation défaillante sur ce point de terminaison » nécessite une investigation préalable avant toute correction. En revanche, un rapport précisant le fichier, la classe, la méthode et la ligne concernés permet une intervention immédiate des développeurs. Cette pratique est essentielle pour l'ensemble du programme de sécurité, et pas seulement pour l'API : les rapports d'incident qui requièrent une investigation avant correction ralentissent considérablement le processus.
Où Xygeni trouve sa place : Chaque détection de faille de sécurité de l'API Xygeni pointe vers le gestionnaire, le fichier, la classe, la méthode et la ligne exacts qui l'ont introduite, de sorte que la correction commence dès que la détection est effectuée.
9. Détectez les risques avant le déploiement, et non après.
Les tests d'API en cours d'exécution indiquent qu'un point de terminaison est exposé une fois qu'il traite déjà du trafic. L'analyse statique du code et des spécifications de l'API détecte la même exposition alors qu'il est encore en cours d'exécution. pull request, lorsque la réparation coûte un commit Au lieu d'une réponse à un incident, les meilleures pratiques de gestion des API considèrent la découverte statique comme la première couche, les tests d'exécution constituant une seconde vérification complémentaire de l'environnement en production.
Où Xygeni trouve sa place : La sécurité de l'API Xygeni est statique par conception, analysant le code et les spécifications avant la publication, et fonctionne en parallèle Xygeni DAST pour la couverture d'exécution des applications déjà en production.
10. Intégrez les risques liés aux API au même niveau que les autres risques de votre application.
Les API ne tombent pas en panne de manière isolée. Une vulnérabilité d'API se situe souvent en aval d'un problème de dépendance ou d'une configuration incorrecte. pipelineou un secret divulgué. Traiter la sécurité des API comme un outil distinct doté de sa propre console revient à perdre ce contexte précisément au moment où il est le plus crucial.
Où Xygeni trouve sa place : La sécurité des API est associée à SAST, SCA, Secrets, IaCet DAST sur une seule plateforme Xygeni, de sorte qu'une découverte d'API soit visible à côté du code et du risque de dépendance qui l'a générée, et non dans un document séparé. login.
Transformer la liste de contrôle en une habitude
Les bonnes pratiques de sécurité des API ne sont efficaces que si elles sont mises en œuvre de manière continue, et non lors d'une revue préalable au lancement. Effectuez un inventaire et une analyse statique sur chaque API. pull request, pas une fois par trimestre. Traitez un nouveau point de terminaison non documenté de la même manière qu'une nouvelle dépendance non documentée : comme un élément à examiner immédiatement, et non ultérieurement. Et évaluez vos bonnes pratiques de protection des API de la même manière que vous évaluez toute autre partie de l'API. SDLC, en fonction de la précocité avec laquelle vous détectez le problème, et non pas seulement si vous l'avez détecté tout court.
Réponses rapides : Questions-réponses sur les bonnes pratiques en matière de sécurité des API
| Questionne toi | Compagnie de Solution |
|---|---|
| Quelle est la bonne pratique la plus importante en matière de sécurité des API ? | Une authentification et une autorisation fortes, appliquées à chaque point de terminaison, et pas seulement à ceux que vous avez pensé à sécuriser. |
| Les API internes doivent-elles utiliser HTTPS ? | Oui. Il faut chiffrer tout le trafic API, y compris les communications entre services, et pas seulement les points de terminaison publics. |
| Les clés API sont-elles suffisantes pour la sécurité ? | Non. Les clés API identifient une application, pas un utilisateur. Pour une authentification robuste, associez-les à OAuth 2.0 ou JWT. |
| Qu'est-ce que BOLA ? | Authentification défaillante au niveau des objets : une API ne parvient pas à vérifier qu’un utilisateur est autorisé à accéder à une ressource spécifique. Ce problème figure en tête du classement OWASP des 10 principales vulnérabilités de sécurité des API depuis 2019. |
| À quelle fréquence dois-je renouveler mes clés API ? | Régulièrement, tous les 60 à 90 jours, et immédiatement après toute suspicion de compromission. |
| Quel code d'état la limitation de débit doit-elle renvoyer ? | 429 Trop de requêtes, avec un en-tête Retry-After indiquant au client quand réessayer. |
| Dois-je valider les données saisies sur le serveur, même derrière une passerelle ? | Toujours. Valider au niveau de l'API, indépendamment des vérifications effectuées par un client ou une passerelle en amont. |
| Comment puis-je tester la sécurité de l'API dans CI/CD? | Vérifiez l'authentification, l'autorisation, la validation des entrées et la limitation du débit sur chaque pull request, pas seulement avant une publication, et automatisez le processus plutôt que de vous fier à une vérification manuelle. |
Points clés à retenir
- L'inventaire passe avant la défense. Vous ne pouvez pas appliquer d'autorisation, de limites de débit ou de contrôles de données à un point de terminaison dont vous ignorez l'existence, et une mauvaise gestion des stocks constitue un risque à part entière dans le Top 10 de la sécurité des API de l'OWASP.
- C’est au niveau de l’autorisation, et pas seulement de l’authentification, que se produisent la plupart des violations de données. Trois des cinq principaux risques de sécurité des API identifiés par l'OWASP sont liés à des échecs d'autorisation. Vérifier l'identité d'une personne ne revient pas à vérifier ses droits d'accès.
- L'analyse statique détecte ce que les tests d'exécution détectent trop tard. Trouver une exposition dans un pull request coûte un commitDécouvrir cela dans les coûts de production est un incident.
- Chaque réponse représente une fuite de données potentielle. L'exposition excessive des données est une habitude, pas une erreur rare, et elle est invisible jusqu'à ce que quelqu'un examine les réponses brutes de l'API au lieu de l'interface utilisateur rendue.
- Les bonnes pratiques de sécurité des API ne fonctionnent que si elles sont appliquées de manière continue., s'exécuter sur chaque pull request, et non un bilan trimestriel ou une liste de contrôle avant lancement.
- Les risques liés aux API ne devraient pas être gérés par un outil séparé. Les meilleures pratiques en matière de protection des API considèrent les anomalies détectées au niveau des API comme faisant partie intégrante du même tableau de risques que le code, les dépendances et… pipeline security, et non une console isolée.
QFP
Quelles sont les meilleures pratiques de sécurité des API les plus importantes pour commencer ?
Commencez par l'inventaire. Impossible d'appliquer des contrôles d'autorisation, des limites de débit ou des contrôles d'exposition des données à un point de terminaison dont vous ignorez l'existence. Un inventaire complet et précis de chaque point de terminaison d'API est donc fondamental pour toutes les autres étapes de cette liste.
Quelle est la différence entre les bonnes pratiques de sécurité des API et les bonnes pratiques générales de sécurité des applications ?
Les API présentent des risques que les pratiques générales de sécurité applicative ne couvrent pas entièrement : l’autorisation à grande échelle au niveau des objets et des fonctions, le danger spécifique lié à la confiance accordée aux réponses des API tierces et la difficulté de suivre les points de terminaison obsolètes ou non documentés. Les bonnes pratiques de sécurité des API sont des bonnes pratiques de sécurité applicative, appliquées aux aspects de la surface d’attaque les plus faciles à négliger.
Les tests de sécurité des API doivent-ils être effectués avant ou après le déploiement ?
Les deux, mais le point d'action le plus important se situe en amont. L'analyse statique du code et des spécifications d'API permet de détecter les vulnérabilités lorsqu'elles sont encore présentes. pull requestLes tests d'exécution (DAST) permettent ensuite de valider ce qui est réellement accessible une fois l'application en production. Se fier uniquement aux tests d'exécution signifie que chaque correction coûte plus cher que nécessaire.
À quelle fréquence faut-il mettre à jour un inventaire d'API ?
En continu, idéalement sur chaque pull requestUn inventaire constitué une seule fois et revu trimestriellement est déjà obsolète dès l'expédition d'un nouveau terminal, ce qui constitue précisément la faille que la mauvaise gestion des stocks exploite.
Les bonnes pratiques de gestion des API s'appliquent-elles aux API internes, et pas seulement aux API publiques ?
Oui. Les API internes sont souvent soumises à des exigences de sécurité moins strictes car elles « ne sont pas exposées à Internet », mais elles traitent tout de même des données sensibles et restent accessibles à toute personne ayant accès au réseau interne, y compris un compte compromis ou une personne interne.







