BLOG

Protéger les entreprises signifie protéger les API

Miniature de Lori MacVittie
Lori MacVittie
Publié le 4 novembre 2019

Les API créent de la valeur grâce à leur capacité d'abstraction au niveau de la couche application. Par exemple, utiliser une API pour abstraire l’accès aux systèmes et données internes vous permet de simplifier et d’automatiser l’accès aux systèmes informatiques hérités. Les API assurent aussi l’intégration aux écosystèmes et aux partenaires. Aujourd’hui, elles sont le principal levier d’automatisation et d’orchestration, faisant des API une technologie clé d’une transformation numérique réussie. Ainsi, les API deviennent une force stratégique pour les entreprises, générant innovation, agilité opérationnelle et monétisation.

Monétisation 

Dans une économie numérique, tout ce qui peut générer des revenus sera éventuellement monétisé. C'est particulièrement vrai pour les API, et les recherches indiquent que l'économie des API est forte.

  • Plus d’une entreprise sur dix (11 %) génère plus de la moitié de ses revenus à partir d’API et d’implémentations liées aux API. ( Valeur commerciale des API
  • Pas moins de 59 % des entreprises génèrent entre 26 % et 50 % des revenus de leur organisation grâce aux API. ( Valeur commerciale des API )

Intégration

Les API ont supplanté les ESB et les portails Web comme principal moyen d’intégration interentreprises. Le recours aux API en tant que composant stratégique de la réussite des entreprises dans l’économie numérique est bien documenté.

    o Plus de 60 % conviennent que l’intégration des API est essentielle à leur stratégie commerciale. ( État de l'intégration des API 2018 )

    o Plus de 50 % de toutes les collaborations B2B se dérouleront via l’intégration d’API. ( État de l'intégration des API 2018 )

    o 51 % citent le « partenariat avec des organisations externes » comme l'un des principaux facteurs de leur décision de développer des API.
        ( État de l'API 2019

La dépendance des architectures commerciales et d’applications modernes telles que les microservices sur les API en fait une cible particulièrement attrayante pour les attaquants qui comprennent l’intérêt d’obtenir l’accès (ou le contrôle) de ces points de terminaison. Ce risque nécessite d’accorder une plus grande attention à la couche API, notamment pour sécuriser l’accès aux fonctions métier qu’elles représentent.

L'authentification n'est pas facultative

La sécurité des API commence par l’accès. Et cela signifie authentification. Les API ouvertes ne doivent pas être une description d’un modèle d’accès API. C'est un attribut qui signifie que l'API est bien documentée et suit une norme. L’invocation des API doit toujours nécessiter une authentification et, idéalement, une autorisation.

Il existe plusieurs options disponibles et avant de choisir, vous devez vous renseigner sur les capacités et les limites de chacune d'entre elles.

  • BIEN: HTTP basique
    L'authentification HTTP de base est la valeur par défaut. C'est le moyen le plus simple et le plus courant d'appliquer l'authentification du trafic basé sur HTTP, comme la plupart des API actuelles. L’inconvénient de l’authentification de base est qu’elle nécessite des informations d’identification et, comme nous le savons tous, les informations d’identification sont souvent partagées entre plusieurs applications. Les identifiants volés (ou exposés) sont de plus en plus utilisés par les attaquants pour obtenir l’accès aux systèmes. La force des mots de passe et l’endroit et la manière dont ils sont stockés jouent également un rôle dans la sécurité globale de cette méthode. C'est mieux que rien.
  • MIEUX: Clés API
    Les clés API sont un cran au-dessus de l'authentification de base HTTP car elles sont émises (et, on suppose, suivies) par l'émetteur. Les clés API sont distribuées et utilisées à diverses fins au-delà de la sécurité, notamment le comptage et la facturation. Ils sont généralement statiques, ce qui signifie qu’ils pourraient potentiellement être extraits et utilisés par un tiers pour se faire passer pour un utilisateur légitime. Le partage des clés constitue également un véritable problème. Tout comme les identifiants, les clés peuvent être partagées par les collègues et la famille. Et plus ils se propagent, plus ils risquent d’être récupérés et utilisés par quelqu’un avec des intentions malveillantes.
  • MEILLEUR CHOIX : Jetons expirables
    Avec la croissance du nombre d’API, l’usage des jetons s’est généralisé. Les plus répandus aujourd’hui sont les jetons OAuth (exclusivement pour les API) et les JWT (JSON Web Tokens). L’adoption de JSON comme format standard pour échanger des revendications sur l’accès aux ressources HTTP, et son usage au-delà des API, a fait des JWT un des mécanismes d’authentification et d’autorisation les plus courants. Ils bénéficient même d’un RFC (7519). Tout comme son cousin XML, SAML, une assertion JSON définit le périmètre d’accès et le rôle de l’utilisateur authentifié. Ces jetons sont très portables et, surtout, comportent une date et une heure d’expiration pour empêcher leur usage frauduleux comme usurpation d’identité. En revanche, ils demandent plus d’efforts à intégrer et leur support natif n’est pas garanti partout. Cela peut entraîner des erreurs d’implémentation ouvrant involontairement des failles d’exploitation.

La sécurité des API peut être implémentée directement dans une application ou, mieux, dans une passerelle API. Une passerelle API peut protéger davantage les API avec des fonctionnalités telles que la limitation du débit (pour empêcher les attaques par déni de service accidentelles ou intentionnelles) et l'autorisation. L'autorisation restreint l'accès aux API en autorisant l'accès à des appels d'API spécifiques uniquement à des clients spécifiés, généralement identifiés par des jetons ou des clés API. Une passerelle API peut également limiter les méthodes HTTP utilisées et enregistrer les tentatives d'abus d'autres méthodes afin que vous soyez au courant des tentatives d'attaques.

Notre dépendance aux applications signifie que les API sur lesquelles elles s’appuient doivent également être protégées. Si vous n’avez pas encore commencé avec les bases, il est temps de vous y mettre. Si vous souhaitez protéger votre entreprise, vous aurez besoin d’API sécurisées.