Instale a integração Signed Cookies
Instale o Signed Cookies Hash Generator e o Hash Validator pelo Azion Marketplace e execute-os em uma aplicação para detectar cookies adulterados.
Signed Cookies protege os cookies que você lista contra alterações feitas no lado do cliente. São duas integrações que rodam na mesma aplicação, e ambas estão entre as integrações do Marketplace. Na fase de resposta, o Hash Generator anexa à resposta uma versão criptografada de cada cookie listado. Na fase de requisição, o Hash Validator compara os cookies com as suas versões criptografadas e adiciona headers de violação à requisição quando eles diferem.
Um cookie assinado permite que a sua aplicação verifique que nenhum terceiro alterou os dados da sessão, o que protege contra o sequestro de sessão. Sete objetos precisam existir antes de uma requisição ser verificada: as duas funções instaladas, uma aplicação com os módulos Functions e Application Accelerator ligados, uma instância de função por integração e uma regra do Rules Engine por instância.
Pré-requisitos
- Uma conta Azion. Para entrar, consulte Como acessar o Azion Console.
- Uma aplicação servida por um workload. Para criar uma, consulte Primeiros passos com Applications.
- Ligar um produto ou um módulo pode gerar custos de uso. Para mais informações, consulte Preços.
Instale as integrações
Cada instalação adiciona uma função à sua conta: Signed Cookies - Hash Generator e Signed Cookies - Hash Validator. Para instalá-las pelo Azion Console:
Acesse Azion Console > Marketplace.
Informe Signed Cookies no campo Search on Marketplace e selecione o card Signed Cookies - Hash Generator. Navegar pelos cards e pelas categorias alcança a mesma página.
Volte ao Marketplace, selecione o card Signed Cookies - Hash Validator e selecione Install.
Cada card mostra Successfully installed! e Latest version installed!, e as duas funções aparecem na lista Function do drawer Create Instance.
Ligue o módulo Functions
Uma aplicação executa uma função instalada apenas quando o seu módulo Functions está ligado. A regra que executa o Hash Validator também usa o behavior Forward Cookies, que exige o módulo Application Accelerator. Para ligar os dois módulos:
Acesse Azion Console > Applications > sua aplicação.
Na aba Main Settings, vá até a seção Modules.
O Azion Console confirma que a aplicação foi atualizada.
Crie as instâncias de função
Cada integração precisa da sua própria instância de função, com os seus próprios argumentos. O Hash Generator roda na fase de resposta e o Hash Validator na fase de requisição. Para criar as duas instâncias na sua aplicação:
Em Applications, selecione a sua aplicação e selecione a aba Functions Instances.
Uma aplicação ainda sem instância oferece a mesma ação como Function Instance. O drawer Create Instance abre.
Em Name, informe um nome único que identifique a instância. Por exemplo: signed-cookies-generator.
Em Function, selecione a função Signed Cookies - Hash Generator. O editor Arguments é preenchido com os argumentos padrão da integração.
Em Arguments, informe os argumentos do Hash Generator descritos abaixo.
Repita estes passos com um nome como signed-cookies-validator, a função Signed Cookies - Hash Validator e os argumentos do Hash Validator.
As duas instâncias aparecem na aba Functions Instances com os nomes que você informou.
Argumentos do Hash Generator
| Chave | Descrição |
|---|---|
cookie_list | Os cookies a proteger. Para cada cookie desta lista, uma versão criptografada do cookie é anexada à resposta |
cookie_secret | Um segredo que protege o cookie criptografado contra manipulação no lado do cliente |
tampering_cookie_prefix | O prefixo dos nomes dos cookies criptografados |
O prefixo define os nomes dos cookies criptografados. Com o valor tampering_protection e os cookies yummy_cookie e tasty_cookie, a função cria tampering_protection_yummy_cookie e tampering_protection_tasty_cookie.
Se tampering_cookie_prefix não tiver um valor válido, a função usa o padrão azion_tampering. Os cookies criptografados passam a ser azion_tampering_yummy_cookie e azion_tampering_tasty_cookie.
Argumentos do Hash Validator
O Hash Validator recebe as mesmas chaves do Hash Generator, mais tampering_violation_header_prefix. Esta chave define o prefixo dos headers que a função anexa à requisição quando detecta uma violação de cookie.
Com o valor Cookie-Violation, a função cria os headers Cookie-Violation-Any, Cookie-Violation-Counter e Cookie-Violation-List. Se a chave não tiver um valor válido, os padrões são Azion-Tampering-Violation-Any, Azion-Tampering-Violation-Counter e Azion-Tampering-Violation-List.
Crie as regras
Cada instância roda apenas quando uma regra do Rules Engine a chama. A regra do Hash Generator roda na fase de resposta. A regra do Hash Validator roda na fase de requisição e adiciona o behavior Forward Cookies, que exige o módulo Application Accelerator. As duas regras abaixo correspondem a todas as requisições. Para criar as regras:
Em Applications, selecione a sua aplicação e selecione a aba Rules Engine.
Em Name, informe um nome para a regra. Por exemplo: Sign cookies on every response.
Na seção Phase, selecione Response Phase.
Na seção Criteria, mantenha a variável ${uri} e o operador starts with e informe / como argumento.
Na seção Behaviors, selecione Run Function e selecione a instância do Hash Generator pelo nome.
Selecione + Rule novamente. Informe um nome, selecione Request Phase e defina o mesmo critério.
Na seção Behaviors, selecione Run Function e selecione a instância do Hash Validator pelo nome.
Selecione Add Behavior e selecione Forward Cookies.
A aba Rules Engine lista uma regra na fase de resposta e uma na fase de requisição. Uma requisição cujos cookies protegidos foram alterados chega à sua aplicação com os headers de violação.
Para cada critério e behavior que uma regra aceita, consulte Rules Engine.