Udostępnij za pośrednictwem


Ochrona usługi Azure OpenAI przy użyciu usługi Azure Web Application Firewall w usłudze Azure Front Door

Coraz więcej przedsiębiorstw korzysta z interfejsów API usługi Azure OpenAI, a liczba i złożoność ataków zabezpieczających na aplikacje internetowe stale się rozwija. Silna strategia zabezpieczeń jest niezbędna do ochrony interfejsów API usługi Azure OpenAI przed różnymi atakami aplikacji internetowych.

Usługa Azure Web Application Firewall (WAF) to produkt sieci platformy Azure, który chroni aplikacje internetowe i interfejsy API przed różnymi atakami internetowymi OWASP top 10, Common Vulnerabilities and Exposures (CVEs) i złośliwymi atakami botów.

W tym artykule opisano sposób używania usługi Azure Web Application Firewall (WAF) w usłudze Azure Front Door w celu ochrony punktów końcowych usługi Azure OpenAI.

Wymagania wstępne

Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.

Tworzenie wystąpienia usługi Azure OpenAI przy użyciu modelu gpt-35-turbo

Najpierw utwórz wystąpienie openAI.

  1. Utwórz wystąpienie usługi Azure OpenAI i wdróż model gpt-35-turbo przy użyciu polecenia Create and deploy an Azure OpenAI Service resource (Tworzenie i wdrażanie zasobu usługi Azure OpenAI Service).

  2. Zidentyfikuj punkt końcowy usługi Azure OpenAI i klucz interfejsu API.

    Otwórz studio Azure OpenAI i otwórz opcję Czat w obszarze Plac zabaw. Użyj opcji Wyświetl kod, aby wyświetlić punkt końcowy i klucz interfejsu API. Zrzut ekranu przedstawiający plac zabaw dla usługi Azure AI Studio Chat.

    Zrzut ekranu przedstawiający przykładowy kod usługi Azure OpenAI z punktem końcowym i kluczem.

  3. Zweryfikuj wywołanie usługi Azure OpenAI przy użyciu ulubionej metody testowania interfejsu API, takiej jak Visual Studio lub Bezsenność. Użyj wartości punktów końcowych interfejsu Api OpenAPI i interfejsu API znajdujących się we wcześniejszych krokach. Użyj następujących wierszy kodu w treści POST:

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

    Zrzut ekranu przedstawiający treść wpisu.

  4. W odpowiedzi na żądanie POST powinien zostać wyświetlony komunikat 200 OK: Zrzut ekranu przedstawiający post 200 OK.

    Usługa Azure OpenAI generuje również odpowiedź przy użyciu modelu GPT.

Tworzenie wystąpienia usługi Azure Front Door za pomocą zapory aplikacji internetowej platformy Azure

Teraz użyj witryny Azure Portal, aby utworzyć wystąpienie usługi Azure Front Door za pomocą zapory aplikacji internetowej platformy Azure.

  1. Utwórz zoptymalizowaną pod kątem usługi Azure Front Door warstwę premium ze skojarzonymi zasadami zabezpieczeń zapory aplikacji internetowej w tej samej grupie zasobów. Użyj opcji Tworzenie niestandardowe.

    1. Szybki start: Tworzenie profilu Azure Front Profile — Portal Azure
  2. Dodaj punkty końcowe i trasy.

  3. Dodaj nazwę hosta pochodzenia: nazwa hosta źródła to testazureopenai.openai.azure.com.

  4. Dodaj zasady zapory aplikacji internetowej.

Konfigurowanie zasad zapory aplikacji internetowej w celu ochrony przed lukami w zabezpieczeniach aplikacji internetowej i interfejsu API

Włącz zasady zapory aplikacji internetowej w trybie zapobiegania i upewnij się , że włączono Microsoft_DefaultRuleSet_2.1 i Microsoft_BotManagerRuleSet_1.0 .

Zrzut ekranu przedstawiający zasady zapory aplikacji internetowej.

Weryfikowanie dostępu do usługi Azure OpenAI za pośrednictwem punktu końcowego usługi Azure Front Door

Teraz zweryfikuj punkt końcowy usługi Azure Front Door.

  1. Pobierz punkt końcowy usługi Azure Front Door z usługi Front Door Manager.

    Zrzut ekranu przedstawiający punkt końcowy usługi Azure Front Door.

  2. Użyj ulubionej metody testowania interfejsu API, takiej jak Visual Studio lub Bezsenność , aby wysłać żądanie POST do punktu końcowego usługi Azure Front Door.

    1. Zastąp punkt końcowy usługi Azure OpenAI punktem końcowym usługi AFD w żądaniu POST. Zrzut ekranu przedstawiający ostatni post.

    Usługa Azure OpenAI generuje również odpowiedź przy użyciu modelu GPT.

Sprawdzanie, czy zapora aplikacji internetowej blokuje atak OWASP

Wyślij żądanie POST symulujące atak OWASP na punkt końcowy usługi Azure OpenAI. Zapora aplikacji internetowej blokuje wywołanie za pomocą kodu odpowiedzi 403 Zabronione.

Konfigurowanie reguł ograniczeń adresów IP przy użyciu zapory aplikacji internetowej

Aby ograniczyć dostęp do punktu końcowego usługi Azure OpenAI do wymaganych adresów IP, zobacz Konfigurowanie reguły ograniczeń adresów IP przy użyciu zapory aplikacji internetowej dla usługi Azure Front Door.

Typowe problemy

Poniższe elementy są typowymi problemami, które mogą wystąpić podczas korzystania z usługi Azure OpenAI z usługą Azure Front Door i zaporą aplikacji internetowej platformy Azure.

  • Otrzymasz komunikat 401: Odmowa dostępu podczas wysyłania żądania POST do punktu końcowego usługi Azure OpenAI.

    Jeśli spróbujesz wysłać żądanie POST do punktu końcowego usługi Azure OpenAI natychmiast po jego utworzeniu, może zostać wyświetlony komunikat 401: Odmowa dostępu, nawet jeśli w żądaniu masz prawidłowy klucz interfejsu API. Ten problem zwykle rozwiąże się po pewnym czasie bez żadnej bezpośredniej interwencji.

  • Otrzymasz komunikat 415: Nieobsługiwany typ nośnika podczas wysyłania żądania POST do punktu końcowego usługi Azure OpenAI.

    Jeśli spróbujesz wysłać żądanie POST do punktu końcowego usługi Azure OpenAI z nagłówkiem text/plainContent-Type , zostanie wyświetlony ten komunikat. Pamiętaj, aby zaktualizować nagłówek Content-Type do application/json w sekcji nagłówka w teście.