(Pour un aperçu rapide de l’ascension de la sécurité des API en tant que sujet actuel de l’industrie, veuillez consulter ce récent article de blog . Les conseils ci-dessous reprennent ce point et vous aident à décrire ce que vous pouvez faire à ce sujet.)
Complétez votre passerelle API avec une passerelle de sécurité
La croissance explosive des API génère de nouveaux marchés pour les passerelles API et la sécurité des API. Même si ces éléments peuvent se consolider à l’avenir, vous pouvez aujourd’hui équiper votre passerelle API d’un pare-feu application Web (WAF) performant pour atténuer les menaces. Les WAF peuvent bloquer le trafic malveillant connu avant qu'il n'atteigne votre passerelle API en utilisant des fonctionnalités prêtes à l'emploi telles que l'intelligence IP, les signatures d'attaque, la détection de robots malveillants et les 10 principaux ensembles de règles OWASP. Les WAF plus matures, tels que F5 Advanced WAF , disposent de fonctionnalités dédiées et peuvent personnaliser les politiques de sécurité pour protéger plusieurs API au sein d'un seul domaine, et pas seulement un ensemble de règles globales par domaine.
Pour répondre aux besoins actuels et émergents, voici trois éléments à retenir :
- Les passerelles API sont devenues des points de contrôle stratégiques. Alors que les transitions technologiques entraînent encore plus de trafic non humain, l’API devient le point central de l’entreprise. Les passerelles API se trouvent à la périphérie et constituent le point d’entrée de tout le trafic API. La sécurité des API nécessite un contexte plus riche, des analyses, un identifiant de l'appelant et des capacités de corrélation pour être efficace.
- L’écart entre la passerelle API et les offres de sécurité API est considérable. Les fournisseurs de sécurité d’applications traditionnels ne disposent pas des fonctionnalités minimales de passerelle API telles que le contrôle de version, l’orchestration et le comptage. La plupart des solutions de passerelle API ne disposent pas des contrôles de sécurité standard disponibles dans la plupart des solutions WAF. Vous aurez besoin des deux pour une fonctionnalité et une sécurité adéquates.
- Cette lacune peut être comblée grâce à une passerelle de sécurité. L'ajout d'un Advanced WAF avec des capacités de protection API peut aider à surmonter les lacunes de sécurité de la plupart des passerelles API. F5 Advanced WAF a étendu ses capacités de sécurité pour inclure les API et les microservices. Bien que cela ne puisse pas remplacer les fonctionnalités étendues d’une passerelle API, cela peut améliorer et appliquer les contrôles de sécurité courants. Le Advanced WAF prend également en charge les API déclaratives afin que la politique de sécurité des API puisse être orchestrée et automatisée pour les environnements agiles.
Les passerelles de sécurité peuvent compenser les failles de sécurité, mais ne soyez pas paresseux
À mesure que la technologie évolue, les passerelles API contribueront à répondre à des problèmes de sécurité supplémentaires liés aux API, mais nous n’en sommes pas encore là. La planification et les meilleures pratiques contribueront grandement à assurer une protection adéquate de vos API à court terme. Pour protéger efficacement vos API, n’oubliez pas de :
- Utilisez toujours une passerelle de sécurité. N'autorisez pas les clients à accéder directement à votre API sans authentification. Forcez tout le trafic à passer par une passerelle de sécurité ou un proxy capable d'éliminer le trafic connu comme malveillant. Exploitez un WAF existant si vous en avez un. Même un WAF de base peut s'avérer utile en cas de besoin pendant que vous envisagez une solution plus complète.
- Restez simple. Avoir DevOps et SecOps conviennent d'un ensemble de normes (par exemple, OpenAPI/Swagger) pour le développement d'API. Les normes vous aideront à documenter et à tester vos API. OpenAPI 3.0 dispose de composants de sécurité dédiés qui peuvent être réutilisés pour aider à la mise en œuvre d'une conception sécurisée. L'utilisation des normes OpenAPI permet également d'utiliser des outils d'audit et de conformité tels que Crunch42, pour automatiser la conception et les tests de sécurité.
- Définir les exigences de sécurité . La portée des exigences de l’API comprend généralement uniquement les fonctionnalités souhaitées pour l’API, c’est-à-dire la définition des capacités que l’API doit prendre en charge. Les exigences de l’API doivent également inclure des exigences de sécurité (ce que l’API ne devrait PAS pouvoir faire). La sécurité faisant partie des spécifications de conception, la sécurité devient partie intégrante des tests fonctionnels de l'API.
- Créez des modèles de menaces pour les services API : clients et serveurs API. La modélisation des menaces du système proposé aidera à identifier les actifs/composants clés et les catégories de menaces. Des exigences de conception de sécurité peuvent ensuite être ajoutées pour atténuer les menaces identifiées. Assurez-vous que les contrôles sont alignés sur un modèle de risque souhaité pour l'API et l'application.
- Déchargez l'authentification et l'autorisation. Utilisez la passerelle API pour une authentification et une autorisation modernes. Toutes les API doivent disposer d’une authentification dans le cadre du déploiement. Il n’est pas nécessaire d’intégrer cela dans l’application elle-même (et ce n’est pas une bonne pratique, car le transfert du trafic non authentifié directement vers l’API peut la rendre vulnérable aux attaques). Il existe plusieurs formes d’authentification qui peuvent être utilisées, et une approche basée sur les risques peut aider votre sélection. OAuth 2.0 est généralement considéré comme la meilleure option pour les API REST. F5 BIG-IP APM est une bonne solution pour mettre en œuvre ces contrôles.
- Crypter tout. Aucune excuse pour ne pas utiliser le cryptage. SSL/TLS approche les 100 % pour tout le trafic Internet. Tout le trafic API public doit être chiffré. Si possible, utilisez des clés éphémères pour plus de sécurité (vous vous souvenez de Heartbleed ?). Si votre passerelle API ne peut pas gérer la charge de travail cryptographique en raison de performances ou de prix, envisagez de décharger la charge de travail sur un système dédié tel que F5 SSL Orchestrator .
- Décourager la « créativité » des développeurs en matière de sécurité . La sécurité est difficile à mettre en œuvre correctement ; la communauté de la sécurité le fait depuis des décennies, et pourtant nous continuons à trouver des failles. Même si vos développeurs sont brillants, méfiez-vous extrêmement de ceux qui inventent des contrôles de sécurité personnalisés tels qu'un nouveau modèle de cryptage. Pour éviter ce type de « créativité » en matière de sécurité, assurez-vous de fournir à DevOps des contrôles de sécurité de base standardisés et bien contrôlés. Si des contrôles de sécurité spécifiquement adaptés sont nécessaires, l’équipe SecOps doit être consultée.
L’utilisation des API a le potentiel d’être transformatrice en permettant de nouveaux modèles commerciaux et de nouvelles sources de revenus. Toutefois, si elles sont mises en œuvre sans mesures de protection adéquates, les API peuvent également perturber et mettre en danger les entreprises. Bien que la sécurité des API puisse encore être considérée comme un domaine technologique relativement nouveau, les pratiques décrites ci-dessus peuvent aider à combler les lacunes actuelles en matière de sécurité des API à mesure que les solutions environnantes arrivent à maturité.