1 of 20
2 of 20
3 of 20
4 of 20
5 of 20
6 of 20
7 of 20
8 of 20
9 of 20
10 of 20
11 of 20
12 of 20
13 of 20
14 of 20
15 of 20
16 of 20
17 of 20
18 of 20
19 of 20
20 of 20

doc

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

Visão geral

Signed Cookies é uma soluçã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.


  1. Obtendo a solução
  2. Usando a solução
  3. Configurando a solução
  4. Instanciando a solução
  5. Configurando uma regra no Rules Engine

1. Obtendo a solução

Lembre-se de que essa solução é, na verdade, duas. A solução Signed Cookies é dividida em Hash Generator e Hash Validator.

Para instalar esta solução, siga estas etapas:

  1. Faça login na sua conta do Real-Time Manager (RTM).
  2. No canto superior esquerdo da página, selecione Products⁠ menu > Marketplace.
  3. Selecione a caixa de pesquisa e digite “signed cookies” ou navegue pelos cards para encontrar as duas soluções Signed Cookies.
  4. Depois de encontrar os cards referentes à solução Signed Cookies (Hash Generator e Hash Validator) selecione um para ser direcionado para a página da solução.
  5. Na página da solução, procure a seção Subscribe for no canto inferior direito.
  6. Clique no botão Get it now.

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

Em ambos os casos, depois de clicar no botão Get it now, você verá uma mensagem indicando que sua solução foi instalada com sucesso e está pronta para uso.


Usando a solução

A solução obtida no Marketplace é adicionada à sua lista de edge functions. Portanto, para usá-la, você deve criar uma nova edge application e incorporar a nova função.

Para esta tarefa você tem vários modos de ação, os principais são:

  • Visite a documentação do ponto de partida.
  • Crie uma edge application no RTM selecionando Products menu > Edge Application e siga as instruções.
  • Use uma edge application já existente.

3. Configurando a solução

Para configurar sua soluçã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 soluçã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 Acceleration e ative-a para habilitar a funcionalidade Forward Cookies para a sua aplicação. Essa necessidade será abordada na seção Rules Engine.
  5. Clique no botão Save.

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


4. Instanciando a solução

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

  1. Selecione a guia 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.

Como você tem duas soluções, você deverá configurar duas vezes a aba Args, uma para a hash generator e outra hash validator.

Lembre-se de que a solução Signed Cookies é dividida em duas e que Hash Generator deve ser executado na response phase e Hash ⁠Validator deve ser executado na request phase.

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: 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á à solicitaçã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.


5. Configurando uma regra no Rules Engine

Ainda na página Edge Application, na aba Rules Engine, você deverá 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. Para fazer isso, 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 solução.
  5. No campo de behavior, selecione Run Function no menu suspenso e, em seguida, selecione a função Signed Cookies - Hash Generator de acordo com o nome que você deu na etapa de instanciação.
  6. Clique no botão Save

Agora, você deverá configurar a request phase no Rules Engine. Para fazer isso, 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 solução.
  5. No campo de behavior, selecione Run Function no menu suspenso e, em seguida, 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.
  6. Para adicioná-lo, clique no botão + e selecione a opção Forward Cookies no menu suspenso.
  7. Clique no botão Save.

Pronto. Você instanciou com sucesso suas duas soluções e agora está protegido contra invasores.


Não encontrou o que procurava? Abra um ticket.