Como utilizar a integração Signed Cookies através do Marketplace da Azion

Signed Cookies é uma integração serverless, dividida em duas partes, disponível no Marketplace da Azion.

Os cookies assinados são um tipo de cookie que tem uma camada extra de segurança. A assinatura de cookies significa que as informações que eles contêm são criptografadas e só podem ser lidas pelo site que os criou. Os cookies assinados são frequentemente usados para fins de autenticação. Por exemplo, para lembrar se um usuário fez login em um site. Isso permite que o site verifique se terceiros não interferiram ou alteraram os dados da sessão. Esta é uma defesa eficaz contra sequestro de sessão e outros ataques de segurança.

Os cookies assinados podem incluir um carimbo de data/hora ou data de validade, além de criptografia. Isso garante que os dados sejam válidos apenas por um tempo limitado. Em suma, os cookies assinados são uma ferramenta vital para os desenvolvedores web manterem a segurança e a integridade dos dados do usuário.


Essa integração é, na verdade, duas. A integração Signed Cookies é dividida em Hash Generator e Hash Validator.

Para instalar Signed Cookies, siga estas etapas:

  1. Acesse o Azion Console > Marketplace.
  2. Na homepage do Marketplace, procure pelo card da integração Signed Cookies.
  • Você pode procurar qualquer integração navegando pelos cards ou digitando uma palavra-chave na barra de busca.
  1. Depois de encontrar os cards referentes à integração Signed Cookies (Hash Generator e Hash Validator), selecione um para ser direcionado para a página da integração.
  2. Na página da integração, clique no botão Get it now para instalá-la.

Aparecerá uma mensagem indicando que sua integração foi instalada com sucesso.

Você seguirá as mesmas etapas para instalar a segunda parte da integração, alterando apenas o nome da integração na busca ou qual você vai procurar manualmente pela página.


Você deve ter pelo menos uma edge application existente para incorporar a nova função de Signed Cookies.

Para configurar sua integração, proceda da seguinte forma:

  1. No canto superior esquerdo, selecione Products menu > Edge Application na seção de BUILD.
  2. Na página de listagem de suas edge applications, selecione aquela que você criou para usar com a integração Signed Cookies.
  3. Na aba Main Settings, sob a seção Modules, localize a opção Edge Functions e ative-a para habilitar o uso de Functions em sua edge application.
  4. Ainda sob Modules, localize a opção Application Accelerator e ative-a para habilitar a funcionalidade Forward Cookies para a sua aplicação.
  1. Clique no botão Save.

Você receberá uma mensagem de sucesso indicando que sua edge application foi atualizada.


Para habilitar essa função, enquanto ainda estiver na página de Edge Application:

  1. Selecione a aba Functions na lista superior.
  2. Clique no botão Add ⁠Function.
  3. Escolha um nome fácil de lembrar para sua função.
  4. No menu suspenso, selecione a função Signed Cookies.

Esta ação carregará a função, mostrando um formulário com o código-fonte desta e, logo acima dele, duas abas: Code e Args. Ao clicar na aba Code, você poderá navegar pelo código-fonte, mas não alterá-lo.

Para Hash ⁠Generator, os Args são:

{
"cookie_list": ["yummy_cookie", "tasty_cookie"],
"cookie_secret": "ItIsASecret",
"tampering_cookie_prefix": "tampering_protection"
}

Onde:

  • cookie_list: define a lista de cookies que devem ser protegidos. Para cada cookie nesta lista, uma versão criptografada do cookie será anexada à resposta.
  • cookie_secret: define uma senha para proteger o cookie criptografado contra a manipulação do lado do cliente.
  • tampering_cookie_prefix: define o prefixo a ser usado no nome dos cookies criptografados.

Você deve prestar atenção aos possíveis valores adicionados ao campo tampering_cookie_prefix.

Por exemplo, se o valor deste argumento for tampering_protection e a função for proteger os cookies yummy_cookie e tasty_cookie, os cookies criptografados criados pela função serão nomeados tampering_protection_yummy_cookie e tampering_protection_tasty_cookie.

Se esse argumento não tiver um valor válido, o valor padrão chamado, azion_tampering, será usado. Portanto, neste caso, os cookies criptografados seriam azion_tampering_yummy_cookie e azion_tampering_tasty_cookie.

Para Hash Validator, os Args são:

{
"cookie_list": ["yummy_cookie", "tasty_cookie"],
"cookie_secret": "ItIsASecret",
"tampering_cookie_prefix": "tampering_protection",
"tampering_violation_header_prefix": "azion-tampering-violation"
}

Estes são os mesmos campos que temos para Hash Generator, com a adição de mais um campo: tampering_violation_header_prefix, responsável por definir um prefixo para os cabeçalhos que a função anexará à requisição sempre que uma violação de cookie for identificada.

Você deve prestar atenção aos possíveis valores adicionados ao campo tampering_violation_header_prefix.

Por exemplo, os cabeçalhos Cookie-Violation-Any, Cookie-Violation-Counter e Cookie-Violation-List serão criados se o valor desse argumento for Cookie-Violation.

Se este argumento não tiver dados válidos, os padrões são Azion-Tampering-Violation-Any, Azion-Tampering-Violation-Counter e Azion-Tampering-Violation-List.


Agora, você deve configurar as regras com os criteria (critérios) e behavior (comportamento) que deseja aplicar para executar sua função.

Primeiro, você deverá configurar a response phase no Rules Engine.

Ainda na página de Edge Application, siga estes passos:

  1. Selecione a aba Rules Engine.
  2. Clique no botão New Rule e selecione Response Phase.
  3. Dê um nome fácil de lembrar à sua nova regra.
  4. Passe os criteria que você precisa para executar sua integração.
  5. No campo de behavior, selecione Run Function no menu suspenso.
  6. Selecione a função Signed Cookies - Hash Generator de acordo com o nome que você deu na etapa de instanciação.
  7. Clique no botão Save

Agora, você deverá configurar a request phase no Rules Engine.

Ainda na página de Edge Application, siga estes passos:

  1. Selecione a aba Rules Engine.
  2. Clique no botão New Rule e selecione Request Phase.
  3. Dê um nome fácil de lembrar à sua nova regra.
  4. Passe os criteria que você precisa para executar sua integração.
  5. No campo de behavior, selecione Run Function no menu suspenso.
  6. Selecione a função Signed Cookies - Hash Validator de acordo com o nome que você deu na etapa de instanciação.
    • Você precisará de um segundo behavior para a função Signed Cookies - Hash Validator: Forward Cookies.
  7. Para adicioná-lo, clique no botão + e selecione a opção Forward Cookies no menu suspenso.
  8. Clique no botão Save.

Pronto. Você instanciou com sucesso suas duas integrações e agora sua aplicação está protegida contra invasores.


Contribuidores