Schützen von Azure OpenAI mithilfe von Azure Web Application Firewall in Azure Front Door

Immer mehr Unternehmen verwenden Azure OpenAI-APIs, und die Anzahl und Komplexität von Sicherheitsangriffen auf Webanwendungen nehmen ständig zu. Eine wirkungsvolle Sicherheitsstrategie ist erforderlich, um Azure OpenAI-APIs vor Angriffen auf verschiedene Webanwendungen zu schützen.

Bei Azure Web Application Firewall (WAF) handelt es sich um ein Produkt für das Azure-Netzwerk, das Webanwendungen vor einigen der zehn häufigsten Webangriffe laut OWASP (Open Web Application Security Project), allgemeinen Sicherheitsrisiken und Schwachstellen (Common Vulnerabilities and Exposures, CVEs) sowie Botangriffen schützt.

In diesem Artikel wird beschrieben, wie Sie Azure Web Application Firewall (WAF) in Azure Front Door verwenden, um Azure OpenAI-Endpunkte zu schützen.

Voraussetzungen

Wenn Sie kein Azure-Abonnement besitzen, können Sie ein kostenloses Konto erstellen, bevor Sie beginnen.

Erstellen einer Azure OpenAI-Instanz mithilfe des GPT-35-Turbo-Modells

Erstellen Sie zunächst eine OpenAI-Instanz.

  1. Erstellen Sie eine Azure OpenAI-Instanz, und stellen Sie ein GPT-35-Turbo-Modell mithilfe des Artikels Erstellen und Bereitstellen einer Azure OpenAI Service-Ressource bereit.

  2. Bestimmen Sie den Azure OpenAI-Endpunkt und den API-Schlüssel.

    Öffnen Sie Azure OpenAI Studio, und öffnen Sie die Option Chat unter Playground. Verwenden Sie die Option Code anzeigen, um den Endpunkt und den API-Schlüssel anzuzeigen. Screenshot: Playground „Chat“ in Azure KI Studio

    Screenshot: Beispielcode von Azure OpenAI mit dem Endpunkt und Schlüssel

  3. Überprüfen Sie den Azure OpenAI-Aufruf mithilfe von Postman. Verwenden Sie den Azure OpenAPI-Endpunkt und die API-Schlüsselwerte aus den vorherigen Schritten. Verwenden Sie die folgenden Codezeilen im POST-Text:

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

    Screenshot: POST-Text

  4. Als Antwort auf die POST-Anforderung sollte 200 OK angezeigt werden: Screenshot: POST-Anforderung „200 OK“

    Azure OpenAI generiert auch eine Antwort mithilfe des GPT-Modells.

Erstellen einer Azure Front Door-Instanz mit Azure WAF

Verwenden Sie nun das Azure-Portal, um eine Azure Front Door-Instanz mit Azure WAF zu erstellen.

  1. Erstellen Sie einen für Azure Front Door optimierten Premium-Tarif mit einer zugeordneten WAF-Sicherheitsrichtlinie in derselben Ressourcengruppe. Verwenden Sie die Option Benutzerdefiniert erstellen.

    1. Schnellstart: Erstellen eines Azure Front Door-Profils im Azure-Portal
  2. Fügen Sie Endpunkte und Routen hinzu.

  3. Fügen Sie den Ursprungshostnamen hinzu: Der Ursprungshostname lautet testazureopenai.openai.azure.com.

  4. Fügen Sie die WAF-Richtlinie hinzu.

Konfigurieren einer WAF-Richtlinie zum Schutz vor Sicherheitsrisiken für Webanwendung und APIs

Aktivieren Sie die WAF-Richtlinie im Präventionsmodus, und stellen Sie sicher, dass Microsoft_DefaultRuleSet_2.1 und Microsoft_BotManagerRuleSet_1.0 aktiviert sind.

Screenshot: Eine WAF-Richtlinie

Überprüfen des Zugriffs auf Azure OpenAI über den Azure Front Door-Endpunkt

Überprüfen Sie nun Ihren Azure Front Door-Endpunkt.

  1. Rufen Sie den Azure Front Door-Endpunkt aus dem Front Door-Manager ab.

    Screenshot: Azure Front Door-Endpunkt

  2. Verwenden Sie Postman, um eine POST-Anforderung an den Azure Front Door-Endpunkt zu senden.

    1. Ersetzen Sie den Azure OpenAI-Endpunkt in der POST-Anforderung von Postman durch den AFDS-Endpunkt (Azure Front Door Service). Screenshot: Endgültige POST-Anforderung

    Azure OpenAI generiert auch eine Antwort mithilfe des GPT-Modells.

Überprüfen der Blockierung eines OWASP-Angriffs durch WAF

Senden Sie eine POST-Anforderung, die einen OWASP-Angriff auf den Azure OpenAI-Endpunkt simuliert. WAF blockiert den Aufruf mit dem Antwortcode 403: Verboten.

Konfigurieren von IP-Einschränkungsregeln mithilfe von WAF

Informationen zu Zugriffseinschränkungen des Azure OpenAI-Endpunkts auf die erforderlichen IP-Adressen finden Sie unter Konfigurieren einer IP-Einschränkungsregel mit einer WAF für Azure Front Door.

Häufige Probleme

Die folgenden Probleme treten häufig bei der Verwendung von Azure OpenAI mit Azure Front Door und Azure WAF auf:

  • Beim Senden einer POST-Anforderung an Ihren Azure OpenAI-Endpunkt wird die Meldung 401: Zugriff verweigert angezeigt.

    Wenn Sie versuchen, unmittelbar nach der Erstellung Ihres Azure OpenAI-Endpunkts eine POST-Anforderung an diesen zu senden, wird möglicherweise die Meldung 401: Zugriff verweigert angezeigt, auch wenn Sie über den richtigen API-Schlüssel in Ihrer Anforderung verfügen. Dieses Problem löst sich in der Regel nach einiger Zeit ohne direktes Eingreifen von selbst.

  • Beim Senden einer POST-Anforderung an Ihren Azure OpenAI-Endpunkt wird die Meldung 415: Nicht unterstützter Medientyp angezeigt.

    Wenn Sie versuchen, eine POST-Anforderung mit dem Content-Type-Header text/plain an Ihren Azure OpenAI-Endpunkt zu senden, wird diese Meldung angezeigt. Stellen Sie sicher, dass Sie Ihren Content-Type-Header im Headerabschnitt in Postman auf application/json aktualisieren.