Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
De plus en plus d’entreprises adoptent une approche API-first pour leurs applications internes, et le nombre et la complexité des attaques de sécurité contre les applications Web évoluent constamment. Cette situation oblige les entreprises à adopter une stratégie de sécurité solide pour protéger les API contre les diverses attaques d’applications Web.
Azure Web Application Firewall (WAF) est un produit de mise en réseau Azure qui protège les API contre les 10 principales attaques web de l’OWASP , les CVE et les attaques de bots malveillants.
Cet article explique comment utiliser le pare-feu d’applications web Azure sur Azure Front Door pour protéger les API hébergées sur Gestion des API Azure
Créez une instance APIM et publiez une API dans APIM qui génère une réponse d’API fictive
Créez une instance APIM. Pour plus d’informations, consultez Démarrage rapide : Créer une instance de service Gestion des API Azure à l’aide du portail Azure.
La capture d’écran suivante montre qu’une instance APIM appelée contoso-afd-apim-resource a été créée. La création et l’activation d’un service de gestion des API peuvent prendre jusqu’à 30 à 40 minutes.
Créez une API et générez des réponses d’API fictives. Pour plus d’informations, consultez Didacticiel : Réponses d’API fictives.
Remplacez le nom de l’API Test API donné dans le tutoriel ci-dessus par Book API.
L’API Book effectue une opération GET pour
_/test_
en tant que chemin d’URL pour l’API. Vous pouvez voir que la réponse de l’API est définie sur 200 OK avec le type de contenu application/json avec le texte sous forme de{“Book”:” $100”}
.Décochez la case Abonnement requis sous l’onglet Paramètres de l’API et sélectionnez Enregistrer.
Testez les réponses fictives à partir de l’interface APIM. Vous devriez recevoir une réponse de 200 OK .
Maintenant, l’API Book a été créée. Un appel réussi à cette URL renvoie une réponse 200 OK et renvoie le prix d’un livre sous la forme de 100 $.
Créer une instance Azure Front Door Premium avec l’API hébergée par APIM comme origine
L’ensemble de règles par défaut géré par Microsoft est basé sur l’ensemble de règles de base OWASP et inclut les règles Microsoft Threat Intelligence.
Remarque
L’ensemble de règles managées n’est pas disponible pour la référence SKU Azure Front Door Standard. Pour plus d’informations sur les différentes références SKU, consultez Comparaison des niveaux Azure Front Door.
Utilisez les étapes décrites dans l’option de création rapide pour créer un profil Azure Front Door Premium avec une stratégie de sécurité WAF associée dans le même groupe de ressources :
Démarrage rapide : Créer un profil Azure Front Door – Portail Azure
Utilisez les paramètres suivants lors de la création du profil Azure Front Door :
- Nom : myAzureFrontDoor
- Nom du point de terminaison : bookfrontdoor
- Type d’origine : Gestion des API
- Nom d’hôte d’origine : contoso-afd-apim-resource.azure-api.net(contoso-afd-apim-resource)
- Stratégie WAF : créez une nouvelle stratégie WAF avec le nom bookwafpolicy.
Tous les autres paramètres restent aux valeurs par défaut.
Activer le pare-feu d’applications web Azure en mode prévention
Sélectionnez la stratégie Azure WAF « bookwafpolicy » et assurez-vous que le mode de stratégie est défini sur « Prévention » dans l’onglet Vue d’ensemble de la stratégie
Le mode de détection Azure WAF est utilisé pour tester et valider la stratégie. La détection ne bloque pas l’appel mais enregistre toutes les menaces détectées, tandis que le mode de prévention bloque l’appel si une attaque est détectée. En règle générale, vous testez le scénario avant de passer en mode de prévention. Pour cet exercice, nous passons en mode prévention.
Le pare-feu d’applications web Azure sur Azure Front Door contient plus d’informations sur les différents modes de stratégie WAF.
Restreindre l’accès à l’APIM via Azure Front Door uniquement
Les demandes acheminées via Front Door incluent des en-têtes spécifiques à votre configuration Front Door. Vous pouvez configurer la stratégie d’en-tête de vérification en tant que stratégie APIM entrante pour filtrer les demandes entrantes en fonction de la valeur unique de l’en-tête de demande HTTP X-Azure-FDID envoyée à Gestion des API. Cette valeur d’en-tête est l’ID Azure Front Door, qui est disponible sur la page Vue d’ensemble de l’AFD.
Copiez l’ID Front Door à partir de la page de présentation d’AFD.
Accédez à la page API APIM, sélectionnez l’API Book, puis choisissez Conception et Toutes les opérations. Dans la stratégie entrante, sélectionnez + Ajouter une stratégie.
Sélectionnez Autres politiques
Sélectionnez « Afficher les extraits » et sélectionnez Vérifier l’en-tête HTTP.
Ajoutez le code suivant à la stratégie de trafic entrant pour l’en-tête HTTP
X-Azure-FDID
. Remplacez le{FrontDoorId}
par l’ID AFD copié à la première étape de cette section.<check-header name="X-Azure-FDID" failed-check-httpcode="403" failed-check-error-message="Invalid request" ignore-case="false"> <value>{FrontDoorId}</value> </check-header>
Cliquez sur Enregistrer.
À ce stade, l’accès APIM est limité au point de terminaison Azure Front Door uniquement.
Vérifiez que l’appel d’API est acheminé via Azure Front Door et protégé par le pare-feu d’applications web Azure
Obtenez le point de terminaison Azure Front Door nouvellement créé à partir de Front Door Manager.
Examinez les groupes d’origine et vérifiez que le nom d’hôte d’origine est contoso-afd-apim-resource.azure-api.net. Cette étape vérifie que l’instance APIM est une origine dans Azure Front Door Premium nouvellement configuré.
Dans la section Stratégies de sécurité , vérifiez que la politique WAF bookwafpolicy est provisionnée.
Sélectionnez bookwafpolicy et vérifiez que les règles gérées sont provisionnées dans la bookwafpolicy . Les dernières versions de Microsoft_DefaultRueSet et Microsoft_BotManagerRuleSet sont provisionnées pour protéger l’origine contre les 10 principales vulnérabilités OWASP et les attaques de bots malveillants.
À ce stade, l’appel de bout en bout est configuré et l’API est protégée par le pare-feu d’applications web Azure.
Vérifiez la configuration
Accédez à l’API via le point de terminaison Azure Front Door à partir de votre navigateur. L’API doit renvoyer la réponse suivante :
Vérifiez que l’APIM n’est pas accessible directement sur Internet et qu’il n’est accessible que via l’AFD :
Essayez maintenant d'invoquer l'URL du point de terminaison AFD via une attaque de l'OWASP Top 10 ou une attaque automatisée, et vous devriez recevoir un message
REQUEST IS BLOCKED
indiquant que la demande est bloquée. L’API a été protégée contre les attaques web par le pare-feu d’applications web Azure.