Method and Route Validator

A integração Method and Route Validator pode ser usada para proteger sua aplicação bloqueando requisições com base na URI e método utilizados. Ela funciona validando os argumentos e verificando se a requisição coincide com os padrões definidos em qualquer um dos valores.

Com essa integração, você pode definir uma lista de rotas e qual método cada rota espera. Cada vez que a função é executada, ela seguirá as seguintes etapas:

  1. Validará os argumentos passados para a function.
  2. Verificará se a requisição coincide com os padrões definidos para as rotas.
  • Se uma correspondência for encontrada, a função executará uma ação de bloqueio especificada pelo usuário.
  • Se não for encontrada nenhuma correspondência, a função pode ser configurada para continuar a requisição ou bloqueá-la.
  1. Se os argumentos forem inválidos, ela escreverá uma mensagem de log e continuará a requisição.

Obtenha a integração

Para instalar esta integração:

  1. Acesse Azion Console > Marketplace.
  2. Na página inicial do Marketplace, selecione o cartão da Method and Route Validator.
  3. Na página de integração, clique no botão Install.

Você verá uma mensagem indicando que sua integração foi instalada com sucesso.


Configure a integração

Depois de instalar a integração Method and Route Validator, você precisará concluir as etapas explicadas abaixo para configurá-la.

Configure uma regra no Edge Firewall

Siga estes passos:

  1. No canto superior esquerdo, abra o Products menu e selecione Edge Firewall na seção Secure.
  2. Clique no botão + Edge Firewall.
  3. Dê um nome fácil de lembrar ao seu edge firewall.
  4. Ative a opção Edge Functions na seção Edge Firewall Modules.
  • Esta ação dá acesso a edge functions no edge firewall.
  1. Clique no botão Save.

Pronto. Agora você instanciou o edge firewall para sua função e tem acesso a edge functions em seu edge firewall.

Configure uma função no Edge Firewall

Enquanto ainda estiver na página do Edge Firewall:

  1. Selecione a aba Functions Instances.
  2. Clique no botão + Function Instance.
  3. Dê um nome fácil de lembrar à sua instância.
  4. No menu suspenso, selecione a função Method and Route Validator.
  5. Na caixa Arguments, passe suas variáveis, como no exemplo:
{
"restricted_mode": false,
"action": "deny",
"routes": [
{
"match_type": "equals",
"path": "/my/route/",
"methods": ["GET", "POST"]
},
{
"match_type": "contains",
"path": "/something/",
"methods": ["POST"]
},
{
"match_type": "regex",
"path": "^.test.*",
"methods": ["GET", "POST", "PATCH", "DELETE"]
}
]
}

Onde:

PropriedadeTipoObrigatórioDescrição
restricted_modeBooleanNãoIndica se a função deve operar no modo restrito. Valor padrão: false.
actionStringSimDefine qual ação usar quando a função identifica a requisição como inválida.
routesArraySimContém todas as URIs que a aplicação protegida espera lidar.
routes.match_typeStringSimString que especifica o tipo de match a ser realizado no caminho.
routes.pathStringSimDefine qual argumento será usado para validar a URI da requisição.
routes.methodsArraySimArray de strings especificando quais métodos podem ser usados ao fazer a requisição para o caminho dado.
redirect_toStringApenas quando action é redirectURL para a qual a requisição deve ser redirecionada quando a ação redirect é acionada. Pode ser uma URL de requisição completa ou um caminho relativo.
custom_response_bodyStringApenas quando action é custom_responseCorpo de resposta personalizado a ser enviado quando a ação custom_response é acionada.
custom_response_statusNumberNãoCódigo de status de resposta a ser enviado quando a ação custom_response é acionada. Valor padrão: 400.
custom_response_content_typeStringNãoTipo de conteúdo de resposta a ser enviado quando a ação custom_response é acionada. Valor padrão: plain/text.

Os valores possíveis para o argumento action são:

AçãoDescrição
denyFecha a requisição com uma resposta HTTP 403 Forbidden.
dropFecha a requisição sem enviar nenhuma resposta ao cliente.
redirectRedireciona a requisição para outra localização.
custom_responseFecha a requisição com uma resposta estática a ela.

Os valores possíveis para o argumento match_type são:

Tipo de MatchDescrição
equalsO caminho deve ser igual ao definido no argumento path.
containsO caminho deve conter o definido no argumento path.
regexO caminho deve coincidir com a expressão regular definida no argumento path.
  1. Clique no botão Save.

Configure uma regra no Rules Engine

Para concluir, você deve configurar uma regra no Rules Engine para definir os critérios (criteria) e o comportamento (behavior) para executar a função.

Ainda na página do Edge Firewall:

  1. Selecione a aba Rules Engine.
  2. Clique no botão + Rule Engine.
  3. Dê um nome fácil de lembrar à sua nova regra.
  4. Selecione um criteria (critério) para executar a integração.
  • Exemplo: if Host matches yourdomain.com.
  1. Abaixo, selecione um behavior (comportamento) para os criteria (critérios). Neste caso, será Run Function.
    • Selecione a função adequada de acordo com o nome que você deu na etapa de instanciação.
  2. Clique no botão Save.

Agora, no Console, você deve configurar seu domínio para que ele seja protegido pelo seu Edge Firewall.

  1. No Products menu, selecione Domains.
  2. Clique no domínio que você deseja proteger com sua função Method and Route Validator.
  3. Na seção Settings, clique no seletor de Edge Firewall e escolha o Edge Firewall que você acabou de criar.
  4. Clique no botão Save.

Pronto. Agora a integração Method and Route Validator está em execução.