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 10 principales attaques web recensées par OWASP, les vulnérabilités et expositions (CVE) courantes et les attaques de bots malveillants.

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 des instance Azure OpenAI à l’aide du modèle gpt-35-turbo

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

  1. Créez une instance Azure OpenAI et déployez un modèle gpt-35-turbo à l’aide de Créer et déployer une ressource Azure OpenAI Service.

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

    Ouvrez Azure OpenAI Studio 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. Valider l’appel Azure OpenAI à l’aide de Postman. Utilisez les valeurs de point de terminaison et de clé API Azure OpenAPI trouvées dans les é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 au POST, vous devriez recevoir 200 OK : Capture d’écran montrant 200 OK pour POST.

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

Créer un instance Azure Front Door avec Azure WAF

Utilisez maintenant le Portail Azure pour créer un 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 itinéraires.

  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 assurez-vous que Microsoft_DefaultRuleSet_2.1 et Microsoft_BotManagerRuleSet_1.0 sont activés.

Capture d’écran montrant la 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 Postman 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 Postman POST. Capture d'écran montrant le POST final.

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

Valider 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 les 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 en-tête dans Postman.