Pourquoi et comment sécuriser le point de terminaison API?

Comment sécurisez-vous votre API?


C’est l’ère de l’explosion de l’économie numérique, et des charges de données massives sont acheminées via les API. Affaires, jeux, éducation, science, arts. . . vous le nommez, tout fonctionne sur les API. Pour un monde si fondamentalement tributaire des API, il est étonnamment peu axé sur la sécurité.

Pour les développeurs, les valeurs par défaut de leurs frameworks suffisent; ou pire encore, lorsqu’aucun framework n’est utilisé, ils pensent qu’ils suivent des pratiques sécurisées. Pour les administrateurs système, la sécurité par défaut offerte par leur infrastructure ou leur fournisseur de services est ce sur quoi ils comptent.

Pas une jolie vue du tout, si vous me demandez.

Source: developer.ibm.com

Inutile de dire qu’il y a beaucoup d’enjeux que nous ne réalisons que lorsque quelque chose vraiment terrible arrive.

Mais tout d’abord. ��

Pourquoi sécuriser les points de terminaison API?

Cela doit être une évidence, non? Nous devons sécuriser les points de terminaison, car c’est de cela que dépend l’entreprise.

Bien que ce soit un argument suffisamment solide en soi, je veux élargir un peu le point de vue et souligner d’autres conséquences connexes, mais tout aussi mortelles,.

Perte d’entreprise

Ceci est évident. Si quelqu’un réussit à jouer avec vos points de terminaison API, cela mettra tout à l’arrêt. Les failles de sécurité peuvent également prendre beaucoup de temps à se remettre, ce qui se traduit par un suicide en termes commerciaux. S’il est vrai que la plupart des entreprises ne seront probablement pas affectées par une heure ou deux d’indisponibilité, pour certaines, ce n’est pas autorisé.

Imaginez un échange de devises en baisse pendant quelques minutes!

Problèmes de conformité

Le fait de ne pas sécuriser correctement vos API peut vous poser de sérieux problèmes, selon les zones géographiques ou les industries avec lesquelles vous traitez. Par exemple, si vous êtes au service du secteur bancaire (dans l’UE, en particulier), le coût de la découverte avec des API non sécurisées entraînera d’énormes problèmes juridiques et de conformité. À tel point que cela pourrait même signifier la fin de votre entreprise.

Perte de réputation

Le piratage est déjà assez douloureux en soi, mais si les nouvelles sortent dans le public, il y aura une perte irrémédiable pour votre image de marque. Par exemple, Sony a été piraté très mal à plusieurs reprises maintenant, et dans les cercles de sécurité, la société est un risée de toutes sortes.

Même si aucune perte réelle de données ou d’argent n’est encourue, bonne chance pour convaincre vos clients sabordés. ��

Factures d’infrastructure gonflées

Lorsque votre API s’exécute sur une infrastructure, elle consomme des ressources (bande passante, CPU et mémoire, principalement). Par exemple, lorsque l’API n’est pas sécurisée correctement et que des étrangers malveillants sont en mesure d’interagir avec elle, il leur est possible de forcer l’API à continuer de faire beaucoup de travail inutile (exécuter des requêtes de base de données lourdes, par exemple), ce qui peut se propager vos factures pour des raisons.

Sur les plates-formes où la mise à l’échelle automatique des ressources est activée (comme AWS), les résultats peuvent être choquants (hors sujet, mais si jamais vous êtes pris dans une soupe comme celle-ci sur AWS, ils comprennent très bien la situation et renoncent rapidement à la facture gonflée – au moment de l’écriture, au moins!).

Moral de l’équipe

Donc, vous pensez peut-être, l’équipe qui a laissé ces compromis se perdre perdra leur moral? Enfin, pas tout à fait. Il est possible que les compromis soient dus à la faible sécurité de l’infrastructure, ce qui découragera les développeurs ou vice versa.

Si cela se produit suffisamment de temps, vous aurez une culture sur les mains que vous regretterez d’avoir laissé se développer.

Gains des concurrents

Disons donc qu’il y a eu une brèche mais qu’il n’y a pas eu de perte réelle. Cependant, vos concurrents utiliseront l’incident pour créer leur propre API et affirmer à quel point la leur est plus sûre (même si ce n’est pas le cas!). Encore une fois, bonne chance pour convaincre le marché. ��

Dans l’ensemble, les violations de la sécurité ont des conséquences qui vont au-delà de la perte d’argent.

Meilleures pratiques pour la sécurisation des points de terminaison API

Heureusement, il existe certaines pratiques faciles à mettre en œuvre et bien comprises que vous pouvez appliquer à vos points de terminaison API pour les sécuriser. Voici ce que la plupart des experts en sécurité recommandent.

HTTPS toujours

Si vos points de terminaison API permettent aux consommateurs d’API de parler via http ou d’autres protocoles non sécurisés, vous les exposez à un risque élevé. Les mots de passe, les clés secrètes et les informations de carte de crédit peuvent facilement être volés attaque de l’homme du milieu ou un outil de reniflage de paquets peut les lire en texte brut.

Donc, faites toujours de https la seule option disponible. Quelle que soit la banalité d’un point de terminaison, la connexion via http ne devrait même pas être une option. Le certificat TLS ne coûte pas cher, vous pouvez l’acheter pour aussi peu que 20 $ Boutique SSL.

Hachage de mot de passe unidirectionnel

Les mots de passe ne doivent jamais être stockés en texte brut, car en cas de violation de la sécurité, tous les comptes d’utilisateurs seront compromis. Dans le même temps, le cryptage symétrique doit être strictement évité, car tout attaquant ingénieux et persistant sera en mesure de les briser.

La seule option suggérée est des algorithmes de chiffrement asymétriques (ou «unidirectionnels») pour stocker les mots de passe. De cette façon, ni un attaquant ni aucun développeur ou administrateur système au sein de l’entreprise ne pourra lire les mots de passe des clients.

Authentification forte

Maintenant, presque toutes les API ont une forme d’authentification, mais à mon avis, le système OAuth2 fonctionne le mieux. Contrairement à d’autres méthodes d’authentification, il divise votre compte en ressources et n’autorise qu’un accès limité au porteur du jeton d’authentification.

Dans le même temps, une autre très bonne pratique pour définir des jetons pour expirer toutes les, disons, 24 heures, de sorte qu’ils doivent être actualisés. De cette façon, même si votre jeton est divulgué, il est possible que le délai de 24 heures réduise l’impact de la violation.

Appliquer la limitation de taux

À moins que vous n’ayez une API utilisée par des millions de personnes chaque minute, c’est une très bonne idée d’imposer une limite du nombre d’appels qu’un client peut passer à l’API dans une fenêtre de temps donnée..

C’est principalement pour décourager les bots, qui peuvent continuer à envoyer des centaines de demandes simultanées chaque seconde et faire consommer des ressources système à votre API sans raison valable. Tous les frameworks de développement Web sont livrés avec un middleware à débit limité (et sinon, il est assez facile de l’ajouter via une bibliothèque) qui ne prend qu’une minute environ à configurer.

Valider l’entrée

Cela ressemble à une évidence, mais vous serez surpris du nombre d’API qui tombent pour cela. La validation de l’entrée signifie non seulement de vérifier que les données entrantes sont dans un format correct, mais également qu’aucune surprise n’est possible. Un exemple simple est l’injection SQL, qui peut effacer vos bases de données si vous laissez passer les chaînes de requête avec peu ou pas de vérification.

Un autre exemple consiste à valider la taille de la requête POST et à renvoyer un code d’erreur et un message appropriés au client. Essayer d’accepter et d’analyser des entrées ridiculement grandes ne fera que faire exploser l’API.

Appliquer le filtrage des adresses IP, le cas échéant

Si vous êtes dans les services B2B et que vos API sont utilisées par des entreprises à partir d’emplacements définis, envisagez d’ajouter une couche de sécurité supplémentaire qui restreint l’adresse IP pouvant accéder à votre API. Pour chaque nouvel emplacement et nouveaux clients, l’adresse IP devra être vérifiée par rapport à la demande entrante.

Oui, cela ajoute de la gêne à l’intégration, mais le résultat final est une sécurité beaucoup plus stricte que ce qui pourrait être obtenu autrement.

Outils pour augmenter la protection des API

Existe-t-il des outils qui peuvent nous aider à analyser la vulnérabilité, voire mieux, offrant la première ligne de défense en matière de sécurisation des API?

Heureusement oui. Il existe plusieurs outils que vous pouvez utiliser, mais sachez qu’au bout du compte, aucune stratégie de sécurité n’est parfaite. Cela dit, ces outils peuvent multiplier la sécurité de votre API, ils sont donc recommandés.

Metasploit

Metasploit est un framework open source extrêmement populaire pour les tests de pénétration des applications Web et des API. Il peut analyser votre API sur plusieurs paramètres différents et effectuer un audit de sécurité exhaustif pour les différents niveaux de vulnérabilités présents.

Par exemple, l’analyse de sécurité effectuée par Metasploit peut vous dire si vos signatures d’API révèlent ou non les technologies sous-jacentes et le système d’exploitation; masquer c’est souvent la moitié de la bataille gagnée dans la sécurité des API.

Bien que le cadre central open source soit généralement suffisant, il existe d’excellents produits payants construits au-dessus de Metasploit qui valent le détour. Le plan pro est idéal si vous voulez un support premium et utiliserez le framework en profondeur, mais n’est généralement pas nécessaire si votre équipe est suffisamment expérimentée.

Cloudflare

Pas seulement CDN mais Cloudflare offre de nombreuses fonctionnalités de sécurité telles que WAF, limitation de débit, protection DDoS qui seront essentielles pour sécuriser votre API contre les menaces en ligne.

Netsparker

Netsparker est livré avec un USP de «numérisation basée sur les épreuves». En termes plus simples, il est souvent possible que des conditions de réseau irrégulières ou certains comportements d’API moins connus soient interprétés comme des failles de sécurité, qui s’avèrent plus tard incorrectes..

Cela gaspille des ressources, car toutes les vulnérabilités signalées doivent être analysées à nouveau manuellement pour confirmer qu’il ne s’agit pas de faux positifs. Netsparker dit que l’outil est en mesure de vous fournir une preuve de concept suffisamment solide pour les rapports, levant les doutes sur les maillons faibles trouvés.

Avec des entreprises comme Sony, Religare, Coca-Cola, Huawei, etc., sur leur liste de clients, vous pouvez être sûr que ces gens font quelque chose de bien. �� Au fait, ils ont aussi une incroyable blog de sécurité web que vous devez suivre.

SoapUI Pro

Construit par SmartBear, SoapUI Pro est un moyen intuitif et facile de créer des tests d’API et d’obtenir des rapports précis et basés sur les données à leur sujet. Il s’intègre également parfaitement à votre pipeline CI / CD, garantissant qu’aucun nouvel ajout de code ne compromet la sécurité de votre API..

SoapUI est capable de fonctionner avec Swagger, OAS et d’autres normes API populaires, ce qui réduit considérablement le temps de démarrage. Avec des clients comme Microsoft, Cisco, MasterCard, Oracle, etc. et des plans à partir de 659 $ par an, c’est un outil digne pour des API plus sécurisées.

Trustwave

Trustwave est une suite de solutions centrées sur l’analyse et le renforcement de la sécurité. L’une des caractéristiques uniques de ce service est qu’il permet non seulement une détection précise des menaces sur votre API, mais vous aide également à comprendre comment les corriger..

Trustwave effectue ce qu’il appelle une analyse contextuelle, ce qui signifie qu’une fois qu’un système d’exploitation ou une infrastructure sous-jacent a été détecté, le service effectue une série de vérifications connexes pour s’assurer que les failles de sécurité désagréables liées à cette plate-forme ne sont pas présentes.

Ils disposent également d’une solide équipe de chercheurs en sécurité qui mettent constamment à jour les capacités de service. Si vous tenez à la conformité, Trustwave est une bonne solution.

Si vous respectez les chiffres et souhaitez profiter de fonctionnalités telles que la réponse aux menaces, la relance en un seul clic des tests après les correctifs, etc., ne cherchez plus!

Il y a pas de pénurie des outils de sécurité API disponibles sur le marché, qu’ils soient open source, gratuits ou commerciaux, ou toute combinaison de ceux-ci. N’hésitez pas à explorer davantage, et si vous trouvez encore mieux quelque chose, écrivez-le dans les commentaires et je serai heureux de l’inclure! ��

MOTS CLÉS:

  • API

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map