Cookies seguros
A Silktide examina os cookies que as suas páginas definem e comunica quaisquer cookies autorizados a viajar através de uma ligação não encriptada. Os cookies devem ser restringidos a ligações encriptadas para que não possam ser intercetados durante o trânsito.
Um é restringido através da adição do atributo Secure quando é definido:
Set-Cookie: session=abc123; Secure; HttpOnly
Porque é que isto é importante
Os cookies contêm frequentemente as chaves da sessão de um visitante — a prova de que iniciou sessão. Um cookie sem o atributo Secure é enviado com qualquer pedido correspondente, incluindo pedidos http:// simples, onde qualquer pessoa no percurso da rede pode lê-lo. Um atacante que capture um cookie de sessão pode fazer-se passar por esse visitante sem nunca saber a sua palavra-passe.
Mesmo num site servido inteiramente através de , um único pedido não encriptado acidental — uma ligação antiga ou um endereço introduzido manualmente — é suficiente para divulgar um cookie não seguro. O atributo Secure faz com que o navegador retenha o cookie e não o envie em pedidos não encriptados.
Como corrigir
- Para os cookies definidos pelo seu próprio código, adicione o atributo
Secure(e, normalmente,HttpOnly, que também oculta o cookie dos scripts):
Set-Cookie: session=abc123; Secure; HttpOnly
A maioria das frameworks web tem uma definição que aplica isto a todos os cookies.
- Para cookies definidos por ferramentas de terceiros (Analytics, widgets de chat e conteúdos incorporados), verifique na configuração da ferramenta se existe uma opção de cookies seguros ou atualize para uma versão atual — as versões modernas da maioria dos serviços populares definem
Securepor predefinição. - Se não for possível proteger um cookie de terceiros e aceitar o risco — por exemplo, um cookie de rastreamento que não contenha informações sensíveis — pode a deteção desse cookie.
Como a Silktide testa isto
- Carrega cada página num navegador e regista todos os cookies definidos, quer pelo servidor, quer pelos scripts.
- Verifica se cada cookie tem o atributo
Secure. - Comunica cada cookie identificado que não o tenha.
Resolução de problemas
O cookie sinalizado pertence a um serviço de terceiros
Continua a controlar se esse serviço é executado nas suas páginas, mas nem sempre controla a forma como este define os cookies. Verifique primeiro as definições e a documentação do serviço para encontrar uma opção de cookies seguros; se não existir, determine se o conteúdo do cookie é suficientemente sensível para ser relevante e aprove a deteção caso não seja.
O cookie não contém informações sensíveis
O atributo Secure não tem qualquer custo num site HTTPS, pelo que constitui uma boa prática mesmo para cookies inofensivos. No entanto, se não conseguir controlar o cookie e o seu conteúdo for genuinamente trivial, é razoável aprovar a deteção.