En quoi consiste la sécurité des API ?

La sécurité des API consiste à protéger les interfaces de programmation des applications (API, Application Programming Interface) contre les cyberattaques. De même que les applications Web, les API sont les moteurs de la transformation digitale, mais elles sont aussi très vulnérables aux attaques. Des attaques par injection SQL aux mauvaises configurations de serveurs, les menaces à la cybersécurité pouvant laisser les API exposées au danger, entraînant de coûteuses violations de données et une forte diminution de la productivité, ne manquent pas. Les fonctionnalités de sécurité des API, telles qu’API Discovery et API Abuse, contribuent à limiter ces risques et travaillent en tandem avec d’autres mécanismes de sécurité, comme la gestion des bots et les pares-feux d’applications Web, afin de protéger l’ensemble des environnements d’exploitation.

Explorez d’autres thèmes liés à la sécurité des API :

Que doit offrir une solution de sécurité des API ?

À mesure que les environnements informatiques se complexifient, la sécurisation de l’ensemble des API, qui assurent la connexion des composants essentiels et l’accès client, se complexifie elle aussi.

Les environnements couvrent désormais plusieurs clouds, de nombreuses applications et de multiples architectures applicatives, intègrent des plateformes open source telles que Kubernetes et servent plus de collaborateurs distants. Ceci se traduit par l’apparition de nouvelles problématiques pour garantir une sécurité suffisante des API. Dans ce contexte, une solution de sécurité des API adéquate peut être livrée dans le cloud ou sur site, avec des fonctionnalités incluant notamment, mais sans s’y limiter :

  • La protection des API monolithiques et des API plus récentes basées sur des microservices.
  • La réduction et la prévention des botnets afin d’éviter toute utilisation abusive des API.
  • L’intégration à un pare-feu d'applications Web afin de bloquer les attaques de type XSS et par injection SQL.
  • L’automatisation de la découverte et de l’inventaire de vos API.
  • Un modèle de sécurité positif pour vos API.
  • Une analytique de la sécurité et des performances des API, ainsi que la détection des abus des API.
  • Une protection des API contre les menaces JSON/XML et les tentatives de saturation des tampons.
  • Une protection contre les DdoS (dénis de services distribués) volumétriques et des couches 4 à 7.
  • Une gestion centralisée et ultra personnalisable des stratégies de sécurité.
  • Un portail de gestion unifié offrant une visibilité complète sur la gouvernance en matière de sécurité au sein des clouds.
  • Une protection homogène et à très faible latence des applications, quel que soit leur emplacement.
  • Un proxy pour le trafic applicatif, avec redirection BGP et DNS.

Pour livrer ces fonctionnalités clés de gestion et de protection des API, une plateforme de sécurité des API moderne peut tirer parti de la puissance de technologies, telles que l’intelligence artificielle et le Machine Learning, afin de s’adapter en continu au paysage changeant des menaces. Plusieurs points de présence peuvent également être mis en place pour assurer la fiabilité des performances et la redondance de la solution à l’international.

Pourquoi et comment améliorer la sécurité de vos API

Parce qu’elles sont automatisées dès la conception, les API sont uniquement vulnérables aux cyberattaques automatisées, comme celles qui tentent d’utiliser à grande échelle les informations de connexion volées lors de fuites de données (credential stuffing). Les attaques basées sur des bots programmables, sans oublier les campagnes de DdoS, demeurent également une préoccupation constante.

La sophistication de ces types de menaces n’a fait qu’augmenter avec la complexité des environnements d’exploitation et de renseignements de sécurité. Fondamentalement, les entreprises dépendent plus que jamais :

  • Des charges de travail déployées dans plusieurs clouds, protégées par un patchwork d’outils de sécurité disparate correspondant à leurs environnements respectifs.
  • Des nouvelles architectures applicatives, comme celles basées sur les microservices et qui nécessitent un accès ainsi qu’une communication efficaces avec les API, en plus d’une sécurité robuste des API.
  • Des consoles de gestion cloud en libre-service, qui nécessitent un ensemble de compétences différent des solutions de sécurité des applications et des API héritées (legacy).

Alors que l’approche traditionnelle de la sécurité des applications Web et des API tournait souvent autour de pares-feux d’applications Web autonomes et de mesures anti-DdoS mis en place dans des datacenters individuels, une nouvelle stratégie, adaptée à cette réalité multi-cloud plus axée sur les API, est nécessaire.

Plus particulièrement, cette stratégie doit non seulement prendre en charge le contrôle d’accès, l’autorisation et l’authentification afin de tenir les menaces avancées à distance, mais aussi assurer une protection complète fondée sur une posture de sécurité homogène au sein des environnements de sécurité multi-cloud. Les solutions de sécurité des API sont désormais capables d’assurer ce niveau de cybersécurité complète à plusieurs couches, ainsi qu’une gestion plus rationalisée des API, au travers d’un service cloud pratique offrant les fonctionnalités suivantes :

Déploiement et configuration directs au sein de plusieurs clouds

Une solution de sécurité des API peut limiter la complexité opérationnelle et infrastructurelle en proposant des tableaux de bord qui simplifient la configuration, la mise à l’échelle, ainsi que la maintenance d’une stratégie robuste de sécurité des applications et des API. La sécurisation des principales vulnérabilités des API peut être effectuée via un portail unifié en libre-service, pour l’administration et la mise en œuvre de la sécurité : en d’autres termes, une vue unifiée pour le contrôle des stratégies.

Protection de toutes les API et applications, où qu’elles soient

Une plateforme de sécurité des API vous permet de protéger le trafic en provenance ou à destination des applications connectées, qu’elles soient hébergées dans un cloud public ou privé, résident sur site ou soient bâties sur une architecture monolithique ou de microservices. À mesure que vos API évoluent et prennent en charge des services back-end supplémentaires et des applications ayant récemment migré, la plateforme de sécurité des API garde le rythme et applique ainsi les protections adéquates à l’ensemble d’entre elles.

Pare-feu d’applications Web intégré

Le pare-feu d’applications Web au sein d’une architecture de sécurité des API est conçu pour protéger les applications et les API contre les menaces les plus sophistiquées. L’analyse des signatures aide à identifier les attaques connues et les vulnérabilités des API, tandis qu’un modèle de sécurité positif permet de lutter contre les menaces de type zero-day en permettant uniquement les services essentiels à l’environnement.

Protection à plusieurs couches contre les DDoS

Les attaques DDoS se présentent sous plusieurs formes, incluant des variantes qui reproduisent de façon convaincante le comportement de demandes légitimes. La sécurité des API peut inclure la réduction des DDoS des couches 4 à 7, afin de stopper les attaques volumétriques et les campagnes plus sophistiquées qui ciblent la couche 7 en exploitant les faiblesses de sécurité des API. Un réseau d’épuration global, Always-on et haute performance, peut offrir un soutien supplémentaire pour limiter les attaques DDoS et veiller à ce que seul le trafic propre soit redirigé vers l’infrastructure de l’entreprise.

Réduction et gestion des bots

De par leur nature hautement automatisée, les bots malveillants sont capables de capturer des informations et de surcharger les API de demandes indésirables. Afin de limiter les bots, les outils de sécurité des API peuvent mettre en œuvre une surveillance en temps réel au travers du fingerprinting des signatures et des appareils. Une intégration à des SIEM et des plateformes de collaboration permet également la création de tableaux de bord et de rapports en temps réel sur les bots et autres menaces à la sécurité des API.

Une sécurité améliorée des API avec Citrix ADC et Citrix ADM

Citrix Web App and API Protection assure une sécurité complète, intégrée et multicouche des API. De plus, investir dans Citrix ADC et Citrix ADM permet de renforcer encore davantage la sécurité des API grâce à des fonctionnalités telles que les passerelles API dotées de paramètres personnalisables :

  • La passerelle API de Citrix ADC fournit un point d’entrée unique pour les appels des API. Elle prend en charge la limitation de débit, l’authentification et l’autorisation, la redirection de contenu, ainsi que des tâches complémentaires, pour assurer un accès fiable et sécurisé aux services back-end via vos API.
  • Citrix ADM utilise le Machine Learning pour bloquer un éventail de cyberattaques, notamment les connexions client excessives via les API et les tentatives de détournement de comptes. Des analyses de données sont disponibles dans Citrix ADM pour assurer le suivi de problèmes tels que les violations de pares-feux d’applications Web et de bots.
  • La sécurité des API au sein de la plateforme analytique basée sur le Machine Learning de Citrix ADM ne fait pas peser une charge mémoire ou processeur excessive sur les instances Citrix ADC. De plus, ses fonctionnalités de détection sont toujours entièrement disponibles, sans qu’aucune mise à niveau ne soit nécessaire.

Dans l’ensemble, une sécurité efficace des API implique de faire fonctionner plusieurs outils de concert. Les solutions de gestion des API Citrix protègent vos ressources les plus précieuses et aident vos utilisateurs à rester productifs, où qu’ils se trouvent.

Ressources supplémentaires

Que fait Kubernetes ?

Kubernetes est utilisé pour gérer les architectures de microservices et peut être déployé dans la plupart des environnements cloud. Les grandes plateformes de cloud public, notamment Google, AWS et Microsoft Azure, offrent toutes la prise en charge de Kubernetes, ce qui permet au service informatique de déplacer plus facilement les applications vers le cloud. Kubernetes offre des avantages de taille aux équipes de développement, avec des fonctionnalités telles que la découverte de services et la répartition des charges, l’automatisation du déploiement et de la restauration, ainsi que la mise à l’échelle automatique en fonction du trafic et de la charge serveur.

Dans quel contexte Kubernetes est-il utilisé ?

Les applications conteneurisées représentent la dernière étape dans la séparation de l’infrastructure des serveurs traditionnels. Selon Gartner, d’ici 2022, plus de 75 % des entreprises dans le monde exécuteront des applications conteneurisées en production.1  Cela s’explique par le fait que, à mesure que les entreprises ont adopté le DevOps pour un déploiement plus rapide des applications, elles se sont aperçues que la conteneurisation les aidait à développer des applications cloud plus rapidement, à maintenir des services persistants Always-on et à gérer efficacement les nouvelles versions.

Qu’est-ce qu’un service dans Kubernetes ?

Dans Kubernetes, un service est un composant qui regroupe des pods au fonctionnement similaire et répartit efficacement les charges entre eux. Le service maintient une adresse IP stable et un nom de DNS unique pour un ensemble de pods afin que, lors de leur création et de leur destruction, les autres pods puissent se connecter à l’aide de la même adresse IP. D’après la documentation Kubernetes, les pods qui constituent le back-end d’une application peuvent changer, mais le front-end n’a pas à garder un œil dessus.

Kubernetes vs Docker

Les conteneurs Docker constituent un moyen efficace de répartir des applications packagées. Alors que Kubernetes est conçu pour coordonner et gérer des conteneurs Docker, il doit également faire face à la concurrence de Docker Swarm, un simple moteur d’orchestration des conteneurs doté de capacités de clustering. Parmi les autres concurrents de Kubernetes figurent Apache Mesos et Jenkins, un outil serveur d’intégration continue.

Qu’est-ce que l’implémentation réseau Kubernetes ?

L’implémentation réseau est essentielle à l’exécution des systèmes distribués de nœuds et de pods qui forment les clusters Kubernetes. L’implémentation réseau Kubernetes repose sur le fait que chaque pod possède une adresse IP unique partagée par tous les conteneurs au sein du pod, et qui peut être redirigée depuis les autres pods, indépendamment du nœud sur lequel ils se trouvent. Des conteneurs isolés désignés réservent un espace de nom réseau partagé par tous les conteneurs au sein d’un pod, de façon à ce que l’IP du pod ne change pas lorsqu’un conteneur est détruit. Le fait d’attribuer une IP à chaque pod facilite la communication entre les pods au sein du cluster et garantit que deux applications n’essaieront pas d’utiliser les mêmes ports. Ce modèle d’une IP par pod est similaire au modèle des machines virtuelles et facilite le portage des applications des machines virtuelles aux conteneurs.

Répartition des charges Kubernetes

Kubernetes tire parti du fait que chaque pod possède sa propre adresse IP pour assurer une répartition basique des charges du trafic est-ouest entre les pods de microservices. Une fonction Kubernetes baptisée « proxy-kube », dans son mode par défaut iptables, peut assurer une répartition basique des charges en appliquant une gestion des IP basée sur des règles, via une sélection aléatoire (dernière connexion) ou circulaire, pour répartir le trafic réseau entre les pods d’une liste d’IP.

Ingress Kubernetes

Parce qu’elle manque de fonctionnalités avancées, notamment pour la visibilité et la répartition des charges de la couche 7, la fonction proxy-kube n’assure pas une répartition des charges authentique d’un Ingress, cet objet API qui vous permet d’établir des règles pour le routage du trafic afin de gérer l’accès externe au cluster Kubernetes. Mais un Ingress n’est que la première étape. Bien qu’il définisse les règles et la destination du trafic, un Ingress nécessite un composant additionnel, à savoir un contrôleur Ingress, pour accorder l’accès aux services externes.

Contrôleur Ingress Kubernetes

Les contrôleurs Ingress Kubernetes gèrent les demandes entrantes et fournissent des indications de routage adaptées à la technologie. Un grand nombre de contrôleurs Ingress open source existent, et l’ensemble des grands fournisseurs cloud maintiennent des contrôleurs Ingress qui sont compatibles avec leurs répartiteurs de charges et s’intègrent de façon native avec les autres services cloud. Dans les scénarios d’utilisation courants, plusieurs contrôleurs Ingress s’exécutent au sein d’un cluster Kubernetes, où ils peuvent être sélectionnés et déployés pour répondre à chaque demande.

Solutions Citrix pour Kubernetes

Citrix ADC

Pour la plupart des entreprises qui accélèrent leur passage aux microservices, Kubernetes est la plateforme de choix, car elle favorise des déploiements plus rapides, la portabilité vers le cloud, la mise à l’échelle et la disponibilité. Citrix vous offre la plus vaste sélection de plateformes et d’outils Kubernetes et open source, avec une plateforme de mise à disposition des applications flexible qui vous permet de passer à un environnement cloud à votre rythme. Avec Citrix ADC, vous pouvez :

  • Tirer parti des compétences existantes de votre équipe informatique plutôt que de lui imposer une formation intensive
  • Assurer une protection complète à l’aide de stratégies de sécurité homogènes pour l’ensemble des applications monolithiques et de microservices
  • Bénéficier d’une visibilité complète sur les microservices à grande échelle afin de les dépanner rapidement et facilement

Explorez les scénarios d’utilisation et découvrez les solutions de mise à disposition des applications Citrix pour les applications cloud et de microservices.

Ressources supplémentaires

Prochaine étape