Azure OpenAI beveiligen met behulp van Azure Web Application Firewall op Azure Front Door
Er is een groeiend aantal ondernemingen die Azure OpenAI API's gebruiken en het aantal en de complexiteit van beveiligingsaanvallen tegen webtoepassingen ontwikkelt zich voortdurend. Een sterke beveiligingsstrategie is nodig om Azure OpenAI-API's te beschermen tegen verschillende aanvallen met webtoepassingen.
Azure Web Application Firewall (WAF) is een Azure-netwerkproduct dat webtoepassingen en API's beschermt tegen verschillende OWASP top 10-webaanvallen, CVE's (Common Vulnerabilities and Exposures) en kwaadaardige botaanvallen.
In dit artikel wordt beschreven hoe u Azure Web Application Firewall (WAF) op Azure Front Door gebruikt om Azure OpenAI-eindpunten te beveiligen.
Vereisten
Als u nog geen abonnement op Azure hebt, maak dan een gratis account aan voordat u begint.
Een Azure OpenAI-exemplaar maken met behulp van het model gpt-35-turbo
Maak eerst een OpenAI-exemplaar.
Maak een Azure OpenAI-exemplaar en implementeer een gpt-35-turbo-model met behulp van Een Azure OpenAI Service-resource maken en implementeren.
Identificeer het Azure OpenAI-eindpunt en de API-sleutel.
Open de Azure OpenAI Studio en open de optie Chat onder Playground. Gebruik de optie Code weergeven om het eindpunt en de API-sleutel weer te geven.
Valideer Azure OpenAI-aanroep met behulp van Postman. Gebruik de azure OpenAPI-eindpunt- en API-sleutelwaarden die in de eerdere stappen zijn gevonden. Gebruik deze regels code in de post-hoofdtekst:
{ "model":"gpt-35-turbo", "messages": [ { "role": "user", "content": "What is Azure OpenAI?" } ] }
Als reactie op de POST ontvangt u een 200 OK:
De Azure OpenAI genereert ook een antwoord met behulp van het GPT-model.
Een Azure Front Door-exemplaar maken met Azure WAF
Gebruik nu de Azure Portal om een Azure Front Door-exemplaar te maken met Azure WAF.
Maak een voor Azure Front Door geoptimaliseerde laag met een gekoppeld WAF-beveiligingsbeleid in dezelfde resourcegroep. Gebruik de optie Aangepast maken .
Eindpunten en routes toevoegen.
Voeg de hostnaam van de oorsprong toe: De hostnaam van de oorsprong is
testazureopenai.openai.azure.com
.Voeg het WAF-beleid toe.
Een WAF-beleid configureren om te beveiligen tegen beveiligingsproblemen met webtoepassingen en API's
Schakel het WAF-beleid in de preventiemodus in en zorg ervoor dat Microsoft_DefaultRuleSet_2.1 en Microsoft_BotManagerRuleSet_1.0 zijn ingeschakeld.
Toegang tot Azure OpenAI controleren via Azure Front Door-eindpunt
Controleer nu uw Azure Front Door-eindpunt.
Haal het Azure Front Door-eindpunt op uit Front Door Manager.
Gebruik Postman om een POST-aanvraag te verzenden naar het Azure Front Door-eindpunt.
Azure OpenAI genereert ook een antwoord met behulp van het GPT-model.
Valideren dat WAF een OWASP-aanval blokkeert
Verzend een POST-aanvraag om een OWASP-aanval op het Azure OpenAI-eindpunt te simuleren. WAF blokkeert de aanroep met een 403 Verboden-antwoordcode .
IP-beperkingsregels configureren met WAF
Als u de toegang tot het Azure OpenAI-eindpunt wilt beperken tot de vereiste IP-adressen, raadpleegt u Een IP-beperkingsregel configureren met een WAF voor Azure Front Door.
Algemene problemen
De volgende items zijn veelvoorkomende problemen die kunnen optreden bij het gebruik van Azure OpenAI met Azure Front Door en Azure WAF.
U krijgt het bericht 401: Toegang geweigerd wanneer u een POST-aanvraag verzendt naar uw Azure OpenAI-eindpunt.
Als u direct nadat u het hebt gemaakt een POST-aanvraag naar uw Azure OpenAI-eindpunt probeert te verzenden, ontvangt u mogelijk het bericht 401: Toegang geweigerd , zelfs als u de juiste API-sleutel in uw aanvraag hebt. Dit probleem wordt meestal na enige tijd vanzelf opgelost zonder enige directe tussenkomst.
U krijgt een bericht 415: Niet-ondersteund mediatype wanneer u een POST-aanvraag verzendt naar uw Azure OpenAI-eindpunt.
Als u een POST-aanvraag probeert te verzenden naar uw Azure OpenAI-eindpunt met de content-type-header
text/plain
, krijgt u dit bericht. Zorg ervoor dat u de content-type-header bijwerkt naarapplication/json
in de koptekstsectie in Postman.