Proteger o Azure OpenAI usando o Firewall de Aplicativo Web do Azure no Azure Front Door

Há um número crescente de empresas que usam as APIs do OpenAI do Azure, e o número e a complexidade dos ataques de segurança contra aplicativos da Web estão em constante evolução. É necessária uma estratégia de segurança forte para proteger as APIs do OpenAI do Azure contra vários ataques de aplicativos Web.

O Firewall de Aplicativo Web do Azure (WAF) é um produto de Rede do Azure que protege os aplicativos Web e as APIs contra vários dos 10 principais ataques da Web do OWASP, Vulnerabilidades e exposições comuns (CVEs) e ataques de bots mal-intencionados.

Este artigo descreve como usar o WAF (Firewall de Aplicativo Web do Azure) no Azure Front Door para proteger os pontos de extremidade do OpenAI do Azure.

Pré-requisitos

Se você não tiver uma assinatura do Azure, crie uma conta gratuita antes de começar.

Criar uma instância do OpenAI do Azure usando o modelo gpt-35-turbo

Primeiro, crie uma instância do OpenAI.

  1. Crie uma instância do OpenAI do Azure e implante um modelo gpt-35-turbo usando Criar e implantar um recurso do Serviço OpenAI do Azure.

  2. Identifique o ponto de extremidade do OpenAI do Azure e a chave de API.

    Abra o estúdio do OpenAI do Azure e abra a opção Chat em Playground. Use a opção Exibir código para exibir o ponto de extremidade e a chave de API. Captura de tela mostrando o playground do Chat do Estúdio de IA do Azure.

    Captura de tela mostrando o código de exemplo do OpenAI do Azure com Ponto de Extremidade e Chave.

  3. Valide a chamada do OpenAI do Azure usando seu método de teste de API favorito, como Visual Studio ou Insomnia. Use o ponto de extremidade do OpenAPI do Azure e os valores de chave de API encontrados nas etapas anteriores. Use estas linhas de código no corpo do POST:

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

    Captura de tela mostrando o corpo da postagem.

  4. Em resposta ao POST, você deve receber um 200 OK: Captura de tela mostrando o POST 200 OK.

    O OpenAI do Azure também gera uma resposta usando o modelo GPT.

Crie uma instância do Azure Front Door com o WAF do Azure

Agora, use o portal do Azure para criar uma instância do Azure Front Door com o WAF do Azure.

  1. Crie uma camada otimizada premium do Azure Front Door com uma política de segurança WAF associada no mesmo grupo de recursos. Use a opção Criação personalizada.

    1. Início Rápido: criar um perfil do Azure Front Door – portal do Azure
  2. Adicione pontos de extremidade e rotas.

  3. Adicione o nome do host de origem: o nome do host de origem é testazureopenai.openai.azure.com.

  4. Adicione a política de WAF.

Configure uma política de WAF para proteger contra vulnerabilidades de API e aplicativo Web

Habilite a política WAF no modo de prevenção e garanta que Microsoft_DefaultRuleSet_2.1 e Microsoft_BotManagerRuleSet_1.0 estejam habilitados.

Captura de tela mostrando uma política de WAF.

Verifique o acesso ao OpenAI do Azure por meio do ponto de extremidade do Azure Front Door

Agora, verifique o ponto de extremidade do Azure Front Door.

  1. Recupere o ponto de extremidade do Azure Front Door do Front Door Manager.

    Captura de tela mostrando o ponto de extremidade do Azure Front Door.

  2. Use seu método de teste de API favorito, como Visual Studio ou Insomnia para enviar uma solicitação POST para o ponto de extremidade do Azure Front Door.

    1. Substitua o ponto de extremidade do OpenAI do Azure pelo ponto de extremidade AFD na solicitação POST. Captura de tela mostrando o POST final.

    O OpenAI do Azure também gera uma resposta usando o modelo GPT.

Validar o WAF bloqueia um ataque OWASP

Envie uma solicitação POST simulando um ataque OWASP no ponto de extremidade do OpenAI do Azure. O WAF bloqueia a chamada com um código de resposta 403 Proibido.

Configure regras de restrição de IP usando WAF

Para restringir o acesso ao ponto de extremidade do OpenAI do Azure aos endereços IP necessários, consulte Configurar uma regra de restrição de IP com um WAF para o Azure Front Door.

Problemas comuns

Os itens a seguir são problemas comuns que você pode encontrar ao usar o OpenAI do Azure com o Azure Front Door e o WAF do Azure.

  • Você recebe uma mensagem 401: Acesso Negado ao enviar uma solicitação POST para o ponto de extremidade do OpenAI do Azure.

    Se você tentar enviar uma solicitação POST para o ponto de extremidade do OpenAI do Azure imediatamente após criá-la, poderá receber uma mensagem 401: Acesso Negado, mesmo se você tiver a chave de API correta em sua solicitação. Esse problema geralmente se resolve após algum tempo sem nenhuma intervenção direta.

  • Você recebe uma mensagem 415: Tipo de Mídia sem Suporte ao enviar uma solicitação POST para o ponto de extremidade do OpenAI do Azure.

    Se você tentar enviar uma solicitação POST para o ponto de extremidade do OpenAI do Azure com o cabeçalho Content-Type text/plain, receberá esta mensagem. Atualize o cabeçalho Content-Type para application/json na seção de cabeçalho no seu teste.