Partager via


Protéger Azure OpenAI à l’aide d’Azure Web Application Firewall sur Azure Front Door

De plus en plus d’entreprises utilisent les API Azure OpenAI, tandis que le nombre et la complexité des attaques de sécurité contre les applications web évoluent constamment. Une stratégie de sécurité forte est nécessaire pour protéger les API Azure OpenAI contre diverses attaques d’applications web.

Azure Web Application Firewall (WAF) est un produit Azure Networking qui protège les applications web et les API contre plusieurs des dix principales attaques web, vulnérabilités et expositions (CVE) courantes, et attaques de bots malveillants recensées par OWASP.

Cet article explique comment utiliser Azure Web Application Firewall (WAF) sur Azure Front Door pour protéger les points de terminaison Azure OpenAI.

Prérequis

Si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer.

Créer une instance Azure OpenAI à l’aide du modèle gpt-35-turbo

Tout d’abord, créez une instance OpenAI.

  1. Créez une instance Azure OpenAI et déployez un modèle gpt-35-turbo en suivant les étapes fournies dans Créer et déployer une ressource Azure OpenAI Service.

  2. Identifiez le point de terminaison Azure OpenAI et la clé API.

    Ouvrez le studio Azure OpenAI et ouvrez l’option Conversation sous Terrain de jeu. Utilisez l’option Afficher le code pour afficher le point de terminaison et la clé API. Capture d’écran montrant le terrain de jeu de la conversation dans Azure AI Studio.

    Capture d’écran montrant un exemple de code Azure OpenAI avec le point de terminaison et la clé.

  3. Validez l’appel Azure OpenAI à l’aide de votre méthode de test d’API préférée, telle que Visual Studio ou Insomnia. Utilisez les valeurs de point de terminaison et de clé API Azure OpenAPI obtenues lors des étapes précédentes. Utilisez ces lignes de code dans le corps POST :

    {
    "model":"gpt-35-turbo",
    "messages": [
    {
    "role": "user",
    "content": "What is Azure OpenAI?"
    }
    ]
    }
    
    

    Capture d’écran montrant le corps post.

  4. En réponse à POST, vous devez recevoir un message 200 OK : Capture d’écran montrant le message POST 200 OK.

    Azure OpenAI génère également une réponse à l’aide du modèle GPT.

Créer une instance Azure Front Door avec Azure WAF

Utilisez maintenant le portail Azure pour créer une instance Azure Front Door avec Azure WAF.

  1. Créez un niveau optimisé Azure Front Door Premium avec une stratégie de sécurité WAF associée dans le même groupe de ressources. Utilisez l’option Création personnalisée.

    1. Démarrage rapide : Créer un profil Azure Front Door – Portail Azure
  2. Ajoutez les points de terminaison et les routes.

  3. Ajoutez le nom d’hôte d’origine : le nom d’hôte d’origine est testazureopenai.openai.azure.com.

  4. Ajoutez la stratégie WAF.

Configurer une stratégie WAF pour vous protéger contre les vulnérabilités des applications web et des API

Activez la stratégie WAF en mode prévention et vérifiez que Microsoft_DefaultRuleSet_2.1 et Microsoft_BotManagerRuleSet_1.0 sont activés.

Capture d’écran montrant une stratégie WAF.

Vérifier l’accès à Azure OpenAI via le point de terminaison Azure Front Door

Vérifiez maintenant votre point de terminaison Azure Front Door.

  1. Récupérez le point de terminaison Azure Front Door à partir de Front Door Manager.

    Capture d’écran montrant le point de terminaison Azure Front Door.

  2. Utilisez votre méthode de test d’API préférée, telle que Visual Studio ou Insomnia, pour envoyer une requête POST au point de terminaison Azure Front Door.

    1. Remplacez le point de terminaison Azure OpenAI par le point de terminaison AFD dans la requête POST. Capture d’écran montrant la requête POST finale.

    Azure OpenAI génère également une réponse à l’aide du modèle GPT.

Vérifier que WAF bloque une attaque OWASP

Envoyez une requête POST simulant une attaque OWASP sur le point de terminaison Azure OpenAI. WAF bloque l’appel avec un code de réponse 403 Interdit.

Configurer des règles de restriction IP à l’aide de WAF

Pour restreindre l’accès au point de terminaison Azure OpenAI aux adresses IP requises, consultez Configurer une règle de restriction IP avec un WAF pour Azure Front Door.

Problèmes courants

Les éléments suivants sont des problèmes courants que vous pouvez rencontrer lors de l’utilisation d’Azure OpenAI avec Azure Front Door et Azure WAF.

  • Vous recevez un message 401 : Accès refusé lorsque vous envoyez une requête POST à votre point de terminaison Azure OpenAI.

    Si vous tentez d’envoyer une requête POST à votre point de terminaison Azure OpenAI immédiatement après sa création, vous pouvez recevoir un message 401 : Accès refusé, même si vous avez la clé API appropriée dans votre requête. Ce problème se résout généralement après un certain temps sans intervention directe.

  • Vous recevez un message 415 : Type de support non pris en charge lorsque vous envoyez une requête POST à votre point de terminaison Azure OpenAI.

    Si vous tentez d’envoyer une requête POST à votre point de terminaison Azure OpenAI avec l’en-tête Content-Type text/plain, vous obtenez ce message. Veillez à mettre à jour votre en-tête Content-Type vers application/json dans la section d’en-tête dans votre test.