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.
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.
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.
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?" } ] }
Em resposta ao POST, você deve receber um 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.
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.
Adicione pontos de extremidade e rotas.
Adicione o nome do host de origem: o nome do host de origem é
testazureopenai.openai.azure.com
.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.
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.
Recupere o ponto de extremidade do Azure Front Door do Front Door Manager.
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.
- Substitua o ponto de extremidade do OpenAI do Azure pelo ponto de extremidade AFD na solicitação POST.
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 paraapplication/json
na seção de cabeçalho no seu teste.