Jump to section

Sécurité des API

Copier l'URL

La sécurité des API consiste à protéger l'intégrité des API, à la fois celles que vous possédez et celles que vous utilisez. Qu'est-ce que cela signifie ?

Vous avez probablement entendu parler de l'Internet des objets (IoT), tous ces objets du quotidien qui intègrent des fonctions de calcul. L'IoT permet par exemple de connecter votre téléphone à votre réfrigérateur. Ainsi, vous pouvez savoir exactement ce que vous devez acheter au supermarché pour le dîner improvisé du soir même. Vous faites peut-être partie d'une équipe DevOps, qui utilise des microservices et des conteneurs pour créer et déployer des applications existantes et cloud-native de manière rapide et itérative. Les API constituent l'une des méthodes de communication les plus courantes entre les microservices et les conteneurs, tout comme les systèmes et les applications. Et alors que l'intégration et l'interconnectivité deviennent de plus en plus importantes, les API le deviennent aussi.

Les entreprises utilisent des API pour connecter des services et transférer des données. Les fuites de données les plus importantes sont dues à des API défaillantes, vulnérables ou piratées, car celles-ci peuvent révéler au grand public des données médicales, financières et personnelles sensibles. Ceci dit, toutes les données ne se valent pas et ne nécessitent pas le même niveau de protection. Votre stratégie de sécurisation des API doit dépendre du type de données transférées.  

Si votre API se connecte à une application tierce, vous devez vous intéresser à la manière dont cette application redistribue les informations vers Internet. Pour reprendre l'exemple cité plus haut, cela vous est peut-être égal que quelqu'un découvre le contenu de votre réfrigérateur, mais vous seriez plus inquiet de savoir que cette personne peut utiliser la même API pour vous localiser

La sécurité des API web concerne le transfert des données via des API connectées à Internet. Pour la délégation des accès, il existe une norme ouverte nommée OAuth (Open Authorization). Elle permet aux utilisateurs d'accorder à des tiers l'accès à des ressources web sans avoir à partager leurs mots de passe. OAuth est le protocole standard qui vous permet de partager, par exemple, une vidéo de chiens sur les réseaux sociaux en appuyant simplement sur le bouton « Partager ».

La plupart des API utilisent l'architecture REST (Representational State Transfer) ou le protocole SOAP (Simple Object Access Protocol).

Les API REST sont basées sur le protocole HTTP et prennent en charge le chiffrement TLS (Transport Layer Security). Le standard TLS permet de garder une connexion Internet privée et de vérifier que les données échangées entre deux systèmes (un serveur et un serveur, ou un serveur et un client) sont chiffrées et non modifiables. Autrement dit, si un pirate informatique tente de dérober les informations de votre carte bancaire à partir d'un site d'achat en ligne, il ne pourra ni les lire ni les modifier. Lorsqu'un site web est protégé par le protocole TLS, son URL commence par « HTTPS » (Hyper Text Transfer Protocol Secure). 

Les API REST utilisent également le format de fichier JSON (JavaScript Object Notation), qui facilite le transfert des données via les navigateurs web. Grâce à l'utilisation du protocole HTTP et du format JSON, les API REST n'ont pas besoin de stocker des données ni de recréer des paquets, ce qui les rend ainsi plus rapides que les API SOAP.

De leur côté, les API SOAP utilisent des protocoles intégrés connus sous le nom de WS Security (Web Services Security). Ces protocoles définissent un ensemble de règles qui permettent d'ajouter un mécanisme de confidentialité et d'authentification. Les API SOAP prennent en charge les normes établies par les deux plus grands organismes internationaux de normalisation : OASIS (Organization for the Advancement of Structured Information Standards) et W3C (World Wide Web Consortium). Elles associent le chiffrement XML, les signatures XML et les jetons SAML pour vérifier l'authentification et les autorisations. Les API SOAP sont généralement reconnues pour leurs mesures de sécurité plus complètes, mais elles nécessitent un plus haut niveau de gestion. C'est pour cela qu'elles sont particulièrement bien indiquées pour les entreprises qui traitent des données sensibles.

Comme la plupart des individus, vous ne cachez probablement pas vos économies sous votre matelas. La plupart des personnes placent leur argent dans un lieu sûr (une banque) et utilisent différentes méthodes pour autoriser et authentifier leurs paiements. La sécurité des API fonctionne selon le même principe. Les API doivent s'exécuter dans un environnement fiable qui applique des politiques d'authentification et d'autorisation.

Voici une liste des méthodes les plus courantes pour renforcer la sécurité de vos API :

  • Utiliser des jetons : définissez des identités vérifiées, puis contrôlez l'accès aux services et aux ressources à l'aide des jetons qui leur sont attribués.  
  • Utiliser le chiffrement et les signatures : chiffrez vos données à l'aide d'un protocole, tel que TLS (voir plus haut). Exigez des signatures afin de garantir que seuls les utilisateurs autorisés déchiffrent et modifient vos données.
  • Identifier les vulnérabilités : maintenez à jour les composants de votre système d'exploitation, de votre réseau, de vos pilotes et de vos API. Examinez la manière dont tous ces éléments interagissent afin d'identifier les failles susceptibles d'être utilisées pour s'introduire dans vos API. Utilisez des analyseurs de paquets pour détecter les problèmes de sécurité et repérer les fuites de données.
  • Utiliser des quotas et la limitation de requêtes : définissez des quotas quant à la fréquence d'appels de votre API et suivez son utilisation dans l'historique. Une augmentation du nombre d'appels peut indiquer que l'API est utilisée de manière abusive. Il peut également s'agir d'une erreur de programmation, par exemple une boucle infinie qui ne cesse d'appeler l'API. Établissez des règles de limitation de requêtes pour protéger vos API des pics de trafic et des attaques par déni de service.
  • Utiliser une passerelle d'API : les passerelles d'API régissent le trafic des API. Avec une bonne passerelle, vous pouvez authentifier le trafic ainsi que contrôler et analyser l'utilisation des API.

Enfin, la sécurité des API dépend le plus souvent d'une gestion adaptée. De nombreuses plateformes de gestion des API prennent en charge les trois mécanismes de sécurité suivants :

  • une clé d'API, une chaîne avec un seul jeton (p. ex. : un petit périphérique matériel qui fournit des informations d'authentification uniques) ;
  • l'authentification de base (ID/clé de l'application), une solution de chaîne avec deux jetons (p. ex. : nom d'utilisateur et mot de passe) ;
  • OpenID Connect (OIDC), une simple couche d'identification placée sur la structure OAuth (p. ex. : vérification de l'identité de l'utilisateur via l'obtention d'informations de profil de base et l'utilisation d'un serveur d'authentification).

Lorsque vous choisissez un gestionnaire d'API, vérifiez les types et le nombre de mécanismes de sécurité qu'il peut gérer. Prévoyez également l'intégration des meilleures pratiques en matière de sécurité des API mentionnées plus haut.

Bien que les fuites de données soient inquiétantes, vous pouvez adopter les mesures nécessaires pour renforcer la sécurité et ainsi les éviter. La sécurisation des API n'est pas simple à mettre en œuvre, mais elle est essentielle. Il vous suffit de savoir quoi surveiller. Chaque année, nous publions un rapport des risques détectés sur les produits Red Hat. Celui-ci contient la liste des vulnérabilités globales qui affectent nos logiciels d'entreprise et solutions.Pour partir sur de bonnes bases, vous devez adopter des mesures de sécurité continue, poser des questions pertinentes, connaître les éléments à prendre en compte et utiliser un gestionnaire d'API fiable. Et nous sommes là pour vous aider.

Nous vous recommandons d'utiliser notre solution primée, Red Hat 3scale API Management. Celle-ci inclut :

  • un gestionnaire d'API qui gère à la fois l'API, les applications et les rôles des développeurs ;
  • un gestionnaire de trafic (une passerelle d'API) qui applique les politiques du gestionnaire d'API ;
  • un fournisseur d'identité qui prend en charge de nombreux protocoles d'authentification.

Située au niveau de la passerelle d'API, la solution Red Hat 3scale API Management décode les jetons horodatés qui arrivent à expiration, vérifie la validité de l'identification du client et confirme la signature au moyen d'une clé publique.

Keep reading

ARTICLE

Le DevSecOps, qu'est-ce que c'est ?

Si vous souhaitez tirer pleinement parti de l'agilité et de la réactivité d'une approche DevOps, vous devez également intégrer la sécurité informatique au cycle de vie complet de vos applications.

ARTICLE

Quelles sont les spécificités de la sécurité dans le cloud ?

Les préoccupations en matière de sécurité de haut niveau affectent les systèmes informatiques traditionnels et cloud. Découvrez quelles sont les différences.

ARTICLE

Le SOAR, qu'est-ce que c'est ?

Le SOAR fait référence à trois capacités logicielles clés qu'utilisent les équipes de sécurité : la gestion des cas et des workflows, l'automatisation des tâches et la centralisation de l'accès, de l'interrogation et du partage des renseignements sur les menaces.

En savoir plus sur la sécurité

Produits

Structure de sécurité qui gère les identités des utilisateurs et préserve la confidentialité des communications.

Solution de sécurisation des conteneurs native pour Kubernetes et adaptée aux entreprises, qui permet de créer, de déployer et d'exécuter des applications cloud-native de manière sécurisée.

Service d'analyses prédictives qui aide à identifier et à écarter les menaces qui compromettent la sécurité, les performances et la disponibilité de votre infrastructure Red Hat.

Console unique pour le contrôle des clusters et applications Kubernetes, avec des politiques de sécurité intégrées.

Ressources