Method and Route Validator
Preview
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:
- Validará os argumentos passados para a function.
- 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.
- 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:
- Acesse Azion Console > Marketplace.
- Na página inicial do Marketplace, selecione o cartão da Method and Route Validator.
- 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:
- No canto superior esquerdo, abra o Products menu e selecione Edge Firewall na seção Secure.
- Clique no botão + Edge Firewall.
- Dê um nome fácil de lembrar ao seu edge firewall.
- Ative a opção Edge Functions na seção Edge Firewall Modules.
- Esta ação dá acesso a edge functions no edge firewall.
- 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:
- Selecione a aba Functions Instances.
- Clique no botão + Function Instance.
- Dê um nome fácil de lembrar à sua instância.
- No menu suspenso, selecione a função Method and Route Validator.
- 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:
Propriedade | Tipo | Obrigatório | Descrição |
---|---|---|---|
restricted_mode | Boolean | Não | Indica se a função deve operar no modo restrito. Valor padrão: false . |
action | String | Sim | Define qual ação usar quando a função identifica a requisição como inválida. |
routes | Array | Sim | Contém todas as URIs que a aplicação protegida espera lidar. |
routes.match_type | String | Sim | String que especifica o tipo de match a ser realizado no caminho. |
routes.path | String | Sim | Define qual argumento será usado para validar a URI da requisição. |
routes.methods | Array | Sim | Array de strings especificando quais métodos podem ser usados ao fazer a requisição para o caminho dado. |
redirect_to | String | Apenas quando action é redirect | URL 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_body | String | Apenas quando action é custom_response | Corpo de resposta personalizado a ser enviado quando a ação custom_response é acionada. |
custom_response_status | Number | Não | Código de status de resposta a ser enviado quando a ação custom_response é acionada. Valor padrão: 400 . |
custom_response_content_type | String | Não | Tipo 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ção | Descrição |
---|---|
deny | Fecha a requisição com uma resposta HTTP 403 Forbidden. |
drop | Fecha a requisição sem enviar nenhuma resposta ao cliente. |
redirect | Redireciona a requisição para outra localização. |
custom_response | Fecha a requisição com uma resposta estática a ela. |
Os valores possíveis para o argumento match_type
são:
Tipo de Match | Descrição |
---|---|
equals | O caminho deve ser igual ao definido no argumento path . |
contains | O caminho deve conter o definido no argumento path . |
regex | O caminho deve coincidir com a expressão regular definida no argumento path . |
- 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:
- Selecione a aba Rules Engine.
- Clique no botão + Rule Engine.
- Dê um nome fácil de lembrar à sua nova regra.
- Selecione um criteria (critério) para executar a integração.
- Exemplo: if
Host
matchesyourdomain.com
.
- 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.
- Clique no botão Save.
Agora, no Console, você deve configurar seu domínio para que ele seja protegido pelo seu Edge Firewall.
- No Products menu, selecione Domains.
- Clique no domínio que você deseja proteger com sua função Method and Route Validator.
- Na seção Settings, clique no seletor de
Edge Firewall
e escolha o Edge Firewall que você acabou de criar. - Clique no botão Save.
Pronto. Agora a integração Method and Route Validator está em execução.