Protección de Azure OpenAI mediante Azure Web Application Firewall en Azure Front Door
Hay un creciente número de empresas que usan API de Azure OpenAI, y el número y la complejidad de los ataques de seguridad contra las aplicaciones web evolucionan constantemente. Se necesita una estrategia de seguridad sólida para proteger las API de Azure OpenAI frente a diversos ataques de aplicaciones web.
Azure Web Application Firewall (WAF) es un producto de Redes de Azure que protege las aplicaciones web y API de varios ataques web de OWASP Top 10, Vulnerabilidades y riesgos comunes (CVE) y ataques de bot malintencionados.
En este artículo se describe cómo usar Azure Web Application Firewall (WAF) en Azure Front Door para proteger los puntos de conexión de Azure OpenAI.
Requisitos previos
Si no tiene una suscripción a Azure, cree una cuenta gratuita antes de empezar.
Creación de una instancia de Azure OpenAI mediante el modelo gpt-35-turbo
En primer lugar, cree una instancia de OpenAI.
Cree una instancia de Azure OpenAI e implemente un modelo gpt-35-turbo mediante Creación e implementación de un recurso de Azure OpenAI Service.
Identifique el punto de conexión de Azure OpenAI y la clave de API.
Abra Azure OpenAI Studio y la opción Chat en Área de juegos. Use la opción Ver código para mostrar el punto de conexión y la clave de API.
Valide la llamada de Azure OpenAI mediante el método de prueba de API que prefiera, como Visual Studio o Insomnia. Usar los valores de punto de conexión y clave de API de Azure OpenAPI que de los pasos anteriores. Use estas líneas de código en el cuerpo POST:
{ "model":"gpt-35-turbo", "messages": [ { "role": "user", "content": "What is Azure OpenAI?" } ] }
En respuesta a POST, debe recibir un mensaje 200 OK:
Azure OpenAI también genera una respuesta mediante el modelo GPT.
Creación de una instancia de Azure Front Door con Azure WAF
Ahora, use Azure Portal para crear una instancia de Azure Front Door con Azure WAF.
Cree un nivel optimizado premium de Azure Front Door Premium con una directiva de seguridad de WAF asociada en el mismo grupo de recursos. Use la opción Creación personalizada.
Agregue puntos de conexión y rutas.
Agregue el nombre de host de origen: el nombre de host de origen es
testazureopenai.openai.azure.com
.Agregue la directiva de WAF.
Configuración de una directiva de WAF para protegerse frente a vulnerabilidades de API y aplicaciones web
Habilite la directiva de WAF en modo de prevención y asegúrese de que Microsoft_DefaultRuleSet_2.1 y Microsoft_BotManagerRuleSet_1.0 estén habilitados.
Comprobación del acceso a Azure OpenAI mediante el punto de conexión de Azure Front Door
Ahora compruebe el punto de conexión de Azure Front Door.
Recupere el punto de conexión de Azure Front Door desde Front Door Manager.
Use el método de prueba de API que prefiera, como Visual Studio o Insomnia para enviar una solicitud POST al punto de conexión de Azure Front Door.
- Reemplace el punto de conexión de Azure OpenAI por el punto de conexión de AFD en la solicitud POST.
Azure OpenAI también genera una respuesta mediante el modelo GPT.
Validación de que WAF bloquea un ataque OWASP
Para enviar una solicitud POST, simule un ataque OWASP en el punto de conexión de Azure OpenAI. WAF bloquea la llamada con un código de Respuesta Prohibida 403.
Configuración de reglas de restricción de IP mediante WAF
Para restringir el acceso al punto de conexión de Azure OpenAI a las direcciones IP necesarias, veaConfiguración de una regla de restricción de IP con un WAF para Azure Front Door.
Problemas comunes
Los siguientes elementos son problemas comunes que pueden surgir al usar Azure OpenAI con Azure Front Door y Azure WAF.
Recibirá un mensaje 401: Acceso denegado al enviar una solicitud POST al punto de conexión de Azure OpenAI.
Si intenta enviar una solicitud POST al punto de conexión de Azure OpenAI inmediatamente después de crearlo, puede recibir un mensaje 401: Acceso denegado incluso si tiene la clave de API correcta en la solicitud. Este problema normalmente se resuelve de forma automática después de algún tiempo sin intervención directa.
Recibirá un mensaje 415: Tipo de medio no admitido al enviar una solicitud POST al punto de conexión de Azure OpenAI.
Si intenta enviar una solicitud POST al punto de conexión de Azure OpenAI con el encabezado Content-Type
text/plain
, verá este mensaje. Asegúrese de actualizar el encabezado Content-Type aapplication/json
en la sección de encabezado de la prueba.