Ces dernières années, la prolifération des API a considérablement modifié la manière dont les entreprises fonctionnent. Les API permettent à différentes applications de communiquer et d'échanger des données entre elles, permettant ainsi des processus commerciaux et un développement de logiciels plus efficaces.
Cependant, l’utilisation accrue des API entraîne un risque de prolifération des API , où les API sont créées et déployées au sein d’équipes et d’architectures distribuées, souvent sans supervision ni gestion appropriées. Cela peut créer un nouvel ensemble de risques de sécurité pour les entreprises, car chaque API représente un point d’entrée potentiel permettant aux attaquants d’accéder sans autorisation à des données et systèmes sensibles.
L’un des principaux moteurs de la prolifération des API est la prolifération des microservices. Une architecture de microservices divise une application plus grande en applications individuelles plus petites qui communiquent entre elles via une API. Cela permet de diviser les applications complexes en parties distinctes qui peuvent être gérées par des équipes individuelles et mises à l'échelle indépendamment les unes des autres pour répondre aux demandes 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, notamment 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 API qui décrit le fonctionnement d'une API, jusqu'au format des requêtes et des réponses.
Les avantages du développement de logiciels axés sur les API peuvent être facilement compromis par le fait de ne pas prendre au sérieux la sécurité des API, en particulier lors de la conception et du déploiement. Au niveau le plus élémentaire, plus d’API signifie plus de surface d’attaque. Bien que les API jouent un rôle essentiel dans le développement de logiciels modernes, elles deviennent simultanément plus faciles à exploiter.
En 2018, Gartner a prédit que les API deviendraient le vecteur d’attaque le plus courant pour les applications d’ici 2022. Au mieux, leur prédiction d’un tel retard était trop optimiste. Des violations d’API très médiatisées dans de grandes entreprises, affectant des millions d’utilisateurs, se produisaient déjà et ne font que devenir plus courantes :
L’ampleur et la variété de ces attaques révèlent les défis auxquels sont confrontés les responsables de la sécurité et de l’ingénierie. Certaines attaques exploitent des API qui ont été incorrectement exposées sur Internet. D’autres utilisent des clés API ou d’autres méthodes d’authentification qui ont été exposées de manière incorrecte dans les référentiels de code. Ou bien les attaquants accèdent aux environnements internes via des exploits VPN et utilisent des API internes pour exfiltrer des données.
Le moyen le plus courant de se protéger contre les menaces API est de combiner des stratégies de sécurité des applications Web traditionnelles avec des techniques de sécurité API modernes. Les stratégies traditionnelles sont souvent inefficaces face aux diverses menaces pesant sur les API d’aujourd’hui. Les techniques modernes telles que la découverte automatisée d’API et les tests de contraste d’API tentent de combler ces lacunes.
Il est essentiel pour les entreprises de se 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 se déplacer vers la gauche (intégrer la sécurité dans le code pour éliminer les vulnérabilités avant que les applications et les API ne soient mises en production). Aucune des deux stratégies ne peut à elle seule assurer une sécurité complète des API. La clé pour prévenir les violations est donc une approche holistique qui couvre trois catégories de pratiques de sécurité des API :
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 importants 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.
La gestion de la posture de sécurité des API crée une visibilité sur le nombre, les types, les emplacements et les données exposés par vos API. Ces informations vous aident à comprendre les risques associés à chaque API afin que vous puissiez prendre les mesures appropriées pour la protéger.
Fonctionnalité clé :
Technologies représentatives :
Il est important de garder à l’esprit qu’aucune technologie ne peut trouver de manière fiable toutes les API de votre architecture . La plupart des techniques de découverte s’appuient sur la visibilité fournie par les équilibreurs de charge, les passerelles API et les contrôleurs d’entrée existants, et ne sont pas susceptibles de détecter les erreurs de configuration qui contournent ces composants architecturaux.
En fin de compte, la révision du code et le respect des meilleures pratiques API-first offrent une prévention à long terme plus efficace. Mais les outils de découverte d’API automatisés restent utiles pour créer rapidement une vue d’ensemble de votre posture de sécurité et pour détecter les API qui pourraient autrement rester non gérées et non sécurisées.
Alors que la gestion de la posture de sécurité des API concerne la sécurité à l’échelle de l’entreprise, les tests de sécurité des API concernent en grande partie les API individuelles. Dans leur forme la plus élémentaire, les tests de sécurité des API permettent d'identifier et de prévenir les vulnérabilités et les risques associés en testant l'environnement d'exécution de l'API, c'est-à-dire l'application exécutée derrière l'API. Ils permettent de garantir que les exigences de sécurité de base ont été respectées, notamment les conditions d'authentification, d'autorisation, de limitation du débit et de chiffrement.
Fonctionnalité clé :
Technologies représentatives :
Il existe à la fois des outils de test de contrats open source et des produits commerciaux de fournisseurs de sécurité API dédiés. Le marché des tests de sécurité des applications (AST) existe depuis des décennies et de plus en plus de fournisseurs proposent des outils d'analyse et de test dédiés aux API.
La protection de l’exécution des API fait référence à la sécurisation des API pendant qu’elles fonctionnent et gèrent les demandes. Il donne la priorité à l’intégration de la sécurité dans l’infrastructure de la plateforme ainsi que dans le code des API elles-mêmes. L’objectif est d’identifier et de prévenir les requêtes API malveillantes qui émergent après le déploiement.
Fonctionnalité clé :
Technologies représentatives :
Toutes les passerelles API et WAF/WAAP ne sont pas créés de la même manière. Certains services, notamment les solutions natives disponibles sur le cloud et d’autres plateformes, manquent de la visibilité et de la standardisation globales requises dans les architectures multi-cloud et hybrides.
Compte tenu de l’importance de la sécurisation des API, il est essentiel d’aborder la sécurité des API de manière organisée. Les responsables de l’ingénierie des plateformes et de la sécurité doivent travailler ensemble pour 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 approximativement à trois domaines de pratique principaux : Gestion de la posture de sécurité des API, tests de sécurité des API et protection de l'exécution des API. En d’autres termes, vous devez vous concentrer sur la connaissance du nombre d’API dont vous disposez, sur la manière de les tester pour détecter les erreurs et sur la manière d’intégrer la sécurité dans votre code.
Comme toute 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 de développement de logiciels. La bonne nouvelle est qu’il n’y a rien de bien mystérieux à savoir comment sécuriser les API.
La plupart des organisations ont déjà mis en place des mesures pour lutter contre les attaques bien connues telles que les scripts intersites, les injections, les déni de service distribués et d’autres qui peuvent cibler les API. Et bon nombre des bonnes pratiques décrites ci-dessus sont probablement assez familières aux professionnels de la sécurité chevronnés. Quel que soit le nombre d’API exploitées par votre organisation, votre objectif est d’établir des politiques de sécurité des API solides et de les gérer de manière proactive au fil du temps.
Démarrez 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 API ; et F5 NGINX App Protect WAF et DoS pour une sécurité API avancée.
« Cet article de blog peut faire référence à des produits qui ne sont plus disponibles et/ou qui ne sont plus pris en charge. Pour obtenir les informations les plus récentes sur les produits et solutions F5 NGINX disponibles, explorez notre famille de produits NGINX . NGINX fait désormais partie de F5. Tous les liens NGINX.com précédents redirigeront vers un contenu NGINX similaire sur F5.com."