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.
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.
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.
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?" } ] }
Em resposta ao POST, você deve receber um 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.
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.
Adicionar 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 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.
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.
Recupere o ponto de extremidade do Azure Front Door do Front Door Manager.
Use o Postman para enviar uma solicitação POST para o ponto de extremidade do Azure Front Door.
- Substitua o ponto de extremidade openAI do Azure pelo ponto de extremidade AFD na solicitação POST do Postman.
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/plain
Content-Type, receberá esta mensagem. Atualize o cabeçalho Content-Type paraapplication/json
na seção de cabeçalho no Postman.