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

Há um número crescente de empresas que usam as APIs do Azure OpenAI, e o número e a complexidade dos ataques de segurança contra aplicativos da Web estão em constante evolução. Uma estratégia de segurança forte é necessária 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 da 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 (Azure Firewall de Aplicativo Web) no Azure Front Door para proteger os pontos de extremidade 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 Azure OpenAI 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 openAI do Azure e a chave de API.

    Abra o estúdio do Azure OpenAI 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 Azure AI Studio Chat.

    Captura de tela mostrando o código de amostra do Azure OpenAI com Endpoint e Key.

  3. Valide a chamada do OpenAI do Azure usando o Postman. Use o ponto de extremidade 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.

Criar 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. Adicionar 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 waf.

Configurar 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 verifique se Microsoft_DefaultRuleSet_2.1 e Microsoft_BotManagerRuleSet_1.0 estão habilitados.

Captura de tela mostrando uma política de WAF.

Verificar 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 o Postman para enviar uma solicitação POST para o ponto de extremidade do Azure Front Door.

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

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

Validar WAF bloqueia um ataque OWASP

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

Configurar regras de restrição de IP usando WAF

Para restringir o acesso ao ponto de extremidade 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: 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 com o cabeçalho text/plainContent-Type, receberá esta mensagem. Atualize o cabeçalho Content-Type para application/json na seção de cabeçalho no Postman.