Skydda Azure OpenAI med Azure Web Application Firewall på Azure Front Door

Det finns ett växande antal företag som använder Azure OpenAI-API:er och antalet och komplexiteten i säkerhetsattacker mot webbprogram utvecklas ständigt. En stark säkerhetsstrategi krävs för att skydda Azure OpenAI-API:er från olika webbprogramattacker.

Azure Web Application Firewall (WAF) är en Azure Networking-produkt som skyddar webbprogram och API:er från olika OWASP-topp 10-webbattacker, vanliga sårbarheter och exponeringar (CVE) och skadliga robotattacker.

Den här artikeln beskriver hur du använder Azure Web Application Firewall (WAF) på Azure Front Door för att skydda Azure OpenAI-slutpunkter.

Krav

Om du inte har en Azure-prenumeration kan du skapa ett kostnadsfritt konto innan du börjar.

Skapa Azure OpenAI-instans med modellen gpt-35-turbo

Skapa först en OpenAI-instans.

  1. Skapa en Azure OpenAI-instans och distribuera en gpt-35-turbomodell med hjälp av Skapa och distribuera en Azure OpenAI Service-resurs.

  2. Identifiera Azure OpenAI-slutpunkten och API-nyckeln.

    Öppna Azure OpenAI Studio och öppna alternativet Chatt under Playground. Använd alternativet Visa kod för att visa slutpunkten och API-nyckeln. Skärmbild som visar Azure AI Studio Chat Playground.

    Skärmbild som visar Azure OpenAI-exempelkod med slutpunkt och nyckel.

  3. Verifiera Azure OpenAI-anrop med Postman. Använd azure OpenAPI-slutpunkten och api-key-värdena som hittades i de tidigare stegen. Använd följande kodrader i POST-brödtexten:

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

    Skärmbild som visar inläggstexten.

  4. Som svar på POST bör du få 200 OK: Skärmbild som visar POST 200 OK.

    Azure OpenAI genererar också ett svar med hjälp av GPT-modellen.

Skapa en Azure Front Door-instans med Azure WAF

Använd nu Azure Portal för att skapa en Azure Front Door-instans med Azure WAF.

  1. Skapa en premiumoptimerad Azure Front Door-nivå med en associerad WAF-säkerhetsprincip i samma resursgrupp. Använd alternativet Anpassad skapande .

    1. Snabbstart: Skapa en Azure Front Door-profil – Azure Portal
  2. Lägg till slutpunkter och vägar.

  3. Lägg till ursprungsvärdnamnet: Ursprungsvärdnamnet är testazureopenai.openai.azure.com.

  4. Lägg till WAF-principen.

Konfigurera en WAF-princip för att skydda mot webbprogram och API-sårbarheter

Aktivera WAF-principen i förebyggande läge och se till att Microsoft_DefaultRuleSet_2.1 och Microsoft_BotManagerRuleSet_1.0 är aktiverade.

Skärmbild som visar en WAF-princip.

Kontrollera åtkomsten till Azure OpenAI via Azure Front Door-slutpunkten

Kontrollera nu din Azure Front Door-slutpunkt.

  1. Hämta Azure Front Door-slutpunkten från Front Door Manager.

    Skärmbild som visar Azure Front Door-slutpunkten.

  2. Använd Postman för att skicka en POST-begäran till Azure Front Door-slutpunkten.

    1. Ersätt Azure OpenAI-slutpunkten med AFD-slutpunkten i Postman POST-begäran. Skärmbild som visar det slutliga POST.

    Azure OpenAI genererar också ett svar med gpt-modellen.

Verifiera att WAF blockerar en OWASP-attack

Skicka en POST-begäran som simulerar en OWASP-attack på Azure OpenAI-slutpunkten. WAF blockerar anropet med svarskoden 403 Förbjuden .

Konfigurera IP-begränsningsregler med WAF

Information om hur du begränsar åtkomsten till Azure OpenAI-slutpunkten till de IP-adresser som krävs finns i Konfigurera en IP-begränsningsregel med en WAF för Azure Front Door.

Vanliga problem

Följande är vanliga problem som kan uppstå när du använder Azure OpenAI med Azure Front Door och Azure WAF.

  • Du får ett meddelande om 401: Åtkomst nekad när du skickar en POST-begäran till azure OpenAI-slutpunkten.

    Om du försöker skicka en POST-begäran till din Azure OpenAI-slutpunkt direkt efter att du har skapat den kan du få meddelandet 401: Åtkomst nekad även om du har rätt API-nyckel i din begäran. Det här problemet löser sig vanligtvis efter en viss tid utan några direkta åtgärder.

  • Du får ett 415: Media Type-meddelande som inte stöds när du skickar en POST-begäran till azure OpenAI-slutpunkten.

    Om du försöker skicka en POST-begäran till Azure OpenAI-slutpunkten med rubriken text/plainInnehållstyp får du det här meddelandet. Se till att uppdatera rubriken Innehållstyp till application/json i rubrikavsnittet i Postman.