Proteger Azure OpenAI mediante Azure Web Application Firewall en Azure Front Door

Hay un creciente número de empresas que están usando 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, CVE (Puntos vulnerables y exposiciones comunes) y ataques de bot malintencionados de OWASP Top 10.

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.

  1. Crear una instancia de Azure OpenAI e implementar un modelo gpt-35-turbo mediante Creación e implementación de un recurso de Azure OpenAI Service.

  2. Identificar el punto de conexión de Azure OpenAI y la clave de API.

    Abrir Azure OpenAI Studio y la opción Chat en Área de juegos. Usar la opción Ver código para mostrar el punto de conexión y la clave de API. Captura de pantalla que muestra el área de juegos de Azure AI Studio Chat.

    Captura de pantalla que muestra código de ejemplo con Punto de conexión y Clave de Azure OpenAI.

  3. Validar la llamada de Azure OpenAI mediante Postman. Usar los valores de punto de conexión y clave de API de Azure OpenAPI que se encontraron en los pasos anteriores. Usar estas líneas de código en el cuerpo POST:

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

    Captura de pantalla que muestra el cuerpo de Post.

  4. En respuesta al POST, debe recibir una200 OK: Captura de pantalla que muestra el 200 OK de POST.

    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 el Azure Portal para crear una instancia de Azure Front Door con Azure WAF.

  1. Cree un nivel optimizado para 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.

    1. Inicio rápido: Creación de un perfil de Azure Front Door con Azure Portal
  2. Agregue puntos de conexión y rutas.

  3. Agregue el nombre de host de origen: el nombre de host de origen es testazureopenai.openai.azure.com.

  4. 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.

Captura de pantalla que muestra una directiva de WAF.

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.

  1. Recupere el punto de conexión de Azure Front Door desde Front Door Manager.

    Captura de pantalla que muestra el punto de conexión de Azure Front Door.

  2. Usar Postman para enviar una solicitud POST al punto de conexión de Azure Front Door.

    1. Reemplace el punto de conexión de Azure OpenAI por el punto de conexión de AFD en la solicitud POST de Postman. Captura de pantalla que muestra el POST final.

    Azure OpenAI también genera una respuesta mediante el modelo GPT.

Validar WAF bloquea un ataque OWASP

Envíe una solicitud POST simulando 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, consulte Configuració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 crearla, puede recibir un mensaje 401: Acceso denegado incluso si tiene la clave de API correcta en la solicitud. Este problema normalmente se resolverá 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, obtendrá este mensaje. Asegúrese de actualizar el encabezado Content-Type a application/json en la sección de encabezado de Postman.