Analise uploads de arquivos com uma função de firewall do AI Inference
Crie uma função que envia um upload a um modelo através de AI Inference e execute-a em um firewall para que um upload malicioso nunca chegue à origem.
Você pode analisar um upload com um modelo e negar um arquivo malicioso, a partir de Azion Console. A função é executada em Firewall e chama o modelo através de AI Inference. Para conhecer o design que esta página implementa, consulte Inspecionar uploads de arquivos em busca de conteúdo malicioso.
Pré-requisitos
- Uma conta Azion. Para criar uma, consulte Como criar uma conta na Azion.
- Um firewall com o módulo Functions ativado. Para saber o que uma função faz em um firewall, consulte Functions no Firewall.
- Um domínio associado a esse firewall, para que o tráfego de upload chegue até ele.
- As rotas de upload a proteger, como
/uploadou/documents/upload.
Crie a função de firewall
Uma função é executada em um firewall quando registra um handler firewall. Esta função lê o corpo da requisição, envia-o ao modelo e aplica o veredito na mesma requisição. Para criá-la:
Acesse Azion Console > Products Menu > Libraries > Functions.
Insira um nome único e descritivo para a função.
Na aba Code, cole a função abaixo.
Na aba Arguments, cole o JSON abaixo.
A aba Code recebe esta função:
A aba Arguments recebe este JSON:
A função está salva e disponível para ser instanciada em um firewall.
A função lê o corpo da requisição e deixa um content type de imagem passar sem alteração. Ela decodifica conteúdo em base64, envia o conteúdo ao modelo com o prompt dos argumentos e aplica a ação. A ação, deny neste exemplo, é executada somente quando o modelo responde true. Em caso de erro, a função registra a mensagem em log e deixa a requisição continuar.
Os argumentos selecionam Mistral 3 Small, cujo id é casperhansen-mistral-small-24b-instruct-2501-awq. Certifique-se de que o modelo escolhido está disponível e configurado na sua conta. Para conhecer todos os ids que você pode passar, consulte Modelos de AI.
O handler é executado em Functions. Para conhecer todos os campos que Azion.AI.run aceita, consulte Invocação de modelos. Para saber o que acontece depois da chamada, consulte Como AI Inference funciona.
Ative os módulos do firewall
A função é executada em um firewall, e um firewall só executa uma função quando o módulo Functions está ativo. Para preparar o firewall:
Em Azion Console, vá para Products Menu > Firewall.
Na aba Main Settings, ative os módulos DDoS Protection, Functions, Network Shield e Web Application Firewall.
O firewall agora executa os módulos de que esta arquitetura depende, e pode conter uma instância de função.
Instancie a função no firewall
Uma instância de função vincula a função a um firewall. Para criar a instância:
A instância aparece na aba Functions Instances. Ela não é executada até que uma regra do Rules Engine a selecione.
Adicione a regra que executa a função
Uma regra do Rules Engine define os critérios que acionam a instância. Para executá-la nos uploads que sua aplicação recebe:
Na seção Criteria, selecione a variável Request URI.
Insira uma rota de upload como argumento, por exemplo /upload.
Na seção Behaviors, selecione Run Function.
A regra executa a função em toda requisição cuja URI começa com essa rota. Um arquivo que o modelo classifica como malicioso é negado antes que a origem o receba. As alterações podem levar alguns minutos para se propagar. Aguarde antes de enviar um upload que corresponda ao critério.
Monitore e ajuste a política
Um modelo decide o que a política bloqueia, então o registro dele é a única forma de verificá-la. Acompanhe estes sinais em Real-Time Metrics e Real-Time Events:
- A taxa de uploads bloqueados, permitidos e em quarentena.
- Padrões por país, IP, ASN, rota e horário.
- Eventos correlacionados com os incidentes de segurança que sua equipe reporta.
Depois, ajuste a política de acordo com o que você lê:
- O prompt na aba Arguments, que define com que rigor o modelo responde.
- Se um upload suspeito é negado ou retido para revisão em Object Storage.
- As regras de Web Application Firewall e Network Shield no mesmo firewall.
- O volume que a função envia ao modelo, dentro dos limites do AI Inference.
- Os falsos positivos e falsos negativos que seus analistas rotulam, realimentados no prompt.
Os sinais mostram o que a função decidiu, e cada ajuste muda o que a próxima leitura mostra.