Meilleures pratiques de sécurité des API REST
Qu'est-ce qu'une API REST ?
Le style d'architecture logicielle REST (Representational State Transfer) remonte à une thèse de doctorat rédigée en 2000 par l'informaticien Roy Fielding. Au cours des décennies qui ont suivi, les API REST, parfois appelées API RESTful, ont évolué pour devenir un modèle d'architecture d'API très populaire pour les applications Web et pour mobile, ainsi que pour les applications interentreprises et les systèmes internes des organisations.
Alors que d'autres approches API (telles que SOAP, GraphQL et GRPC) sont également utilisées dans de nombreuses applications, les API REST sont les plus largement utilisées, principalement en raison de leur facilité de mise en œuvre. La conception d'une API REST est très facile à intégrer pour les infrastructures front-end actuelles, ce qui en fait un choix populaire pour les applications Web, les applications pour mobile et de nombreuses applications d'API internes et interentreprises.
Les 5 meilleures pratiques de sécurité des API REST
Bien que les API REST puissent être mises en œuvre de manière hautement sécurisée et résiliente, il existe un certain nombre de bases sécurité des API normes essentielles à toute mise en œuvre.
Les cinq principales façons d'intégrer la sécurité dans une conception d'API REST sont les suivantes :
Utilisez toujours le chiffrement TLS
Mettez en œuvre un modèle d'authentification et d'autorisation solide et évolutif
N'incluez pas d'informations sensibles dans les URL
Définissez précisément les requêtes et réponses d'API RESTful autorisées
Mettez en œuvre des fonctionnalités de découverte d'API en continu
Utilisez toujours le chiffrement TLS
Comme pour les autres types de trafic HTTP sensible, l'utilisation de TLS pour les API RESTful assurera le chiffrement de toutes les communications entre l'utilisateur d'API et le point de terminaison d'API. Ceci est aussi important pour la sécurité de l'API REST que pour la sécurité des applications Web, car le trafic HTTP qui en résulte inclut des informations d'authentification sensibles, tels que des mots de passe, des clés API ou des jetons.
Mettez en œuvre un modèle d'authentification et d'autorisation solide et évolutif
De nombreuses techniques différentes peuvent être utilisées pour gérer l'accès aux API REST. Les techniques les plus couramment utilisées sont les clés API et les jetons de sécurité. Mais la gestion des clés et des jetons peut être assez complexe.
Cela conduit souvent à des failles de sécurité involontaires des API REST. Ce risque peut être atténué en intégrant un OAuth 2.0–fournisseur de gestion des identités compatible pour l'authentification et l'émission de jetons d'accès. Une passerelle d'API centralisée peut également être utilisée pour standardiser et protéger votre approche de sécurité de l'API REST.
N'incluez pas d'informations sensibles dans les URL
L'une des failles de conception courantes des API REST concerne l'inclusion d'informations sensibles (notamment les identifiants utilisateur, les clés ou les jetons) dans les URL. Même lorsque TLS est utilisé, ces informations restent faciles à découvrir pour les acteurs malveillants. Les URL sont également fréquemment enregistrées par divers serveurs et terminaux réseau le long du chemin de données de la requête API, ce qui entraîne une fuite de données supplémentaire si les URL contiennent des informations sensibles.
Définissez précisément les requêtes et réponses d'API RESTful autorisées
Il est important de supposer que les acteurs malveillants tenteront d'utiliser les API de manière malveillante ou involontaire. Par conséquent, il est important de ne pas faire implicitement confiance aux requêtes API RESTful. L'une des étapes les plus importantes à suivre est la validation des attributs tels que le format, la longueur et le type des paramètres ou objets.
Vous devez également contrôler étroitement les types de réponses que l'API REST peut fournir. Par exemple, les réponses doivent être limitées aux types de contenu explicitement autorisés, tels que GET, PUT et POST.
Mettez en œuvre des fonctionnalités de découverte d'API en continu
Même les organisations qui adhèrent aux meilleures pratiques de sécurité des API REST peuvent être prises par surprise par des API fantômes qui ont été mises en œuvre en dehors des processus normaux ou par des API zombies oubliées dans une infrastructure existante qui n'a pas encore été mise hors service. Il est donc essentiel de mettre en œuvre des fonctionnalités de découverte des API en continu à l'échelle de l'entreprise.
La meilleure façon de s'assurer qu'un inventaire complet de toutes les API existe consiste à recueillir les données de toutes les sources d'informations disponibles sur l'activité des API, y compris :
passerelles d'API ;
réseaux de diffusion de contenu ;
journaux du fournisseur de cloud ;
systèmes de gestion des journaux ;
outils d'orchestration.
L'analyse de ces données pour rechercher des preuves de l'activité des API permettra à votre équipe de sécurité de connaître toutes les API utilisées dans l'entreprise. Toutes les API REST inattendues découvertes peuvent ensuite être mises hors service ou intégrées dans un inventaire formalisé en appliquant les meilleures pratiques d'API REST appropriées.
Les 4 meilleures pratiques de sécurité avancées des API REST
La mise en œuvre d'un ensemble de normes de sécurité fondamentales dans votre conception d'API REST est une première étape essentielle, mais ces étapes seules ne garantiront pas la sécurité totale de vos applications. De nombreux acteurs malveillants ont développé des techniques avancées pour contourner les mesures de sécurité de base des API RESTful. Après tout, toutes les attaques contre la sécurité des API REST n'ont pas pour but de violer l'infrastructure des applications Web.
Dans de nombreux cas, l'objectif est simplement de détourner l'usage de la fonctionnalité API pour accéder à des données sensibles et obtenir un avantage concurrentiel. Ces activités peuvent provenir de sources de confiance, telles que des clients ou des partenaires auxquels l'accès aux API REST a été accordé. Les identifiants, les clés et les jetons peuvent également être volés ou piratés, ce qui permet aux acteurs malveillants de faire progresser des activités similaires au-delà des normes de sécurité de base des API REST.
Pour fournir une protection supplémentaire contre ces formes plus sophistiquées d'abus d'API, vous pouvez utiliser les quatre meilleures pratiques de sécurité avancées des API REST suivantes :
Utiliser le cloud pour collecter de grands ensembles de données de sécurité des API REST
Appliquer des analyses comportementales à vos données d'API REST
Fournir des informations sur l'utilisation des API REST aux équipes de développement et d'exploitation
Mener des activités proactives de recherche des menaces à l'encontre des API REST
Utiliser le cloud pour collecter de grands ensembles de données de sécurité des API REST
De nombreuses techniques de sécurité des API de première génération fonctionnent sur site. Par conséquent, elles se limitent à analyser des fenêtres d'activité très courtes, après quoi les données d'API sont supprimées. Ceci est inefficace puisque de nombreux types d'abus d'API sont effectués de manière lente sur des semaines, voire des mois. L'envoi des données d'activité des API vers le cloud permet d'obtenir l'échelle nécessaire pour stocker les informations d'API couvrant une période d'un mois ou plus. Cela permet d'accéder à des techniques d'analyse plus sophistiquées.
Appliquer des analyses comportementales à vos données d'API REST
Une fois que vous disposez d'une quantité significative d'informations sur l'activité des API REST, vous pouvez également exploiter la balance de calcul du cloud pour effectuer des analyses comportementales. La première façon d'améliorer votre stratégie de sécurité des API REST consiste à identifier les entités impliquées afin de disposer de davantage de contexte. Les entités peuvent inclure des utilisateurs ainsi que des processus métier significatifs.
Lorsque vous disposez de ce contexte, vous pouvez définir les modèles d'utilisation normaux de vos API. À partir de là, vous pouvez effectuer une analyse plus approfondie pour détecter les anomalies. Ce type de détection d'anomalies est le meilleur moyen de repérer les abus, en particulier lorsqu'ils proviennent d'utilisateurs authentifiés.
Fournir des informations sur l'utilisation des API REST aux équipes de développement et d'exploitation
L'une des meilleures façons de protéger votre organisation des failles de sécurité des API REST est de les éviter entièrement. Le fait de partager des informations sur la façon dont vos API RESTful sont utilisées, et attaquées, avec vos développeurs et votre personnel d'exploitation aidera votre organisation à « se décaler » en adoptant de meilleures pratiques de sécurité des API REST dès le début des processus de développement et de mise en œuvre.
Mener des activités proactives de recherche des menaces à l'encontre des API REST
Il est important de ne pas attendre que les abus d'API REST dégénèrent en incidents de sécurité très graves pour agir. Le fait d'enquêter sur l'utilisation des API REST et de chercher à détecter les tentatives d'attaques de manière proactive, même si elles échouent, vous aidera à détecter les faiblesses de vos pratiques de sécurité des API REST.
L'évaluation de l'activité d'utilisation des API est également un moyen efficace de découvrir la présence de failles de sécurité des API REST, telles que celles décrites dans la liste des 10 principaux risques pour la sécurité des API dressée par l'Open Web Application Security Project (OWASP). Trouver et éliminer ces failles de sécurité avant que les acteurs malveillants ne puissent les exploiter est l'un des moyens les plus efficaces d'améliorer votre stratégie de sécurité des API REST.
Vous êtes prêt à commencer ?
Akamai aide certaines des organisations les plus reconnues dans le monde à mettre en œuvre les meilleures pratiques de sécurité des API REST fondamentales et avancées. De la détection des API à l'analyse comportementale en passant par la recherche de menaces gérée,notre approche vous aidera à accélérer vos efforts en matière de sécurité des API REST.
En savoir plus
Vous souhaitez en savoir plus ? Découvrez la solution API Security d'Akamai.