Ir diretamente para o conteúdo

Definições de cookies

Escolha que tipos de cookies permite. Pode alterar a sua escolha a qualquer momento em Definições de cookies, no fundo de cada página. Política de privacidade

Necessários

Sempre ativos

Necessários para iniciar sessão, manter o seu carrinho e memorizar as suas escolhas. Estão sempre ativos.

Que cookies?
  • weboke_sessie, weboke_klant, weboke_remember: a sua sessão e manter a sessão iniciada
  • weboke_basket: o seu carrinho
  • wkBtwIncl: mostrar preços com ou sem IVA
  • wok_cookies: a sua escolha de cookies, 12 meses

Mede que anúncio leva a uma visita ou encomenda, para não pagarmos por anúncios que não dão resultado.

Que cookies?
  • Google Ads via Google Tag Manager (_gcl_au, _gcl_aw), até 90 dias
  • OpenAI Ads, anúncios no ChatGPT
  • wok_aff: através de que parceiro chegou até nós (programa de afiliados), 60 dias

4,6

País e idioma

Cada país tem o seu próprio site, com os preços e o IVA desse país.

Ver

DKIM na prática: selectores, chaves e serviços

Módulo 4: Capacidade de entrega: SPF, DKIM e DMARC na prática · Tempo de leitura: 12 minutos

Objetivo de aprendizagem: Após esta lição, saberá interpretar uma cabeçalho DKIM-Signature, configurar o DKIM com o seu próprio domínio em qualquer serviço de envio, verificar se um selector funciona e explicar como substituir chaves em segurança.

Conceitos-chave: DKIM-Signature, d= (domínio assinante), s= (selector), h= (cabeçalhos assinados), bh= e b=, canonicalização (c=), <selector>._domainkey.<domínio>, TXT com p= ou CNAME para o serviço, comprimento de chave 2048 bits (RFC 8301), fragmentos de 255 caracteres, ed25519 (RFC 8463), substituição de chaves, p= vazio (revogada), DKIM e redirecionamento

Porque é que o DKIM é o mais importante dos três

O SPF indica quais servidores podem enviar correio, mas falha com o redirecionamento e observa o Return-Path, que em muitos serviços não é o seu. O DKIM coloca uma assinatura na própria mensagem. Essa assinatura sobrevive ao redirecionamento (desde que a mensagem não seja alterada) e está associada a um domínio que você escolhe. Por isso, na prática, o DKIM é muitas vezes o único mecanismo que faz o DMARC ter êxito em newsletters, faturas emitidas por um programa de contabilidade e correio redirecionado.

A base (como a chave consta no DNS, o que é um selector) encontra-se no curso de DNS, lição 4.4. Aqui vamos mais além: o que consta exatamente numa assinatura e como se configura o DKIM em cada serviço?

Interpretar uma assinatura

Abra os cabeçalhos de uma mensagem que tenha recebido (lição 1.5). No topo, se a mensagem estiver assinada, encontrará algo como:

DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=example.com; s=x;
	t=1762588800; h=from:to:subject:date:message-id:mime-version:content-type;
	bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=;
	b=Gm7yW3q...longa sequência de caracteres...Qx9A==
EtiquetaSignificado
v=1Versão do DKIM
a=rsa-sha256Algoritmo: chave RSA, SHA-256. Também possível: ed25519-sha256
c=relaxed/relaxedCanonicalização: com que rigor são tratadas pequenas alterações (espaços, maiúsculas nos nomes dos cabeçalhos), para os cabeçalhos e para o texto. relaxed é o habitual e mais tolerante do que simple
d=example.comO domínio assinante. Este domínio responde pela mensagem. O DMARC compara este valor com o endereço De
s=xO selector: qual chave desse domínio foi utilizada
t=Momento da assinatura (segundos desde 1970)
h=Quais cabeçalhos foram assinados. O from tem de estar sempre incluído
bh=Uma impressão digital (hash) do texto da mensagem
b=A própria assinatura

O destinatário obtém a chave pública em <s>._domainkey.<d>, neste caso x._domainkey.example.com, e verifica se b= corresponde aos cabeçalhos indicados em h= e à impressão digital bh=. Se, durante o percurso, uma única letra do texto ou de um cabeçalho assinado for alterada, a verificação falha.

Em Authentication-Results vê o resultado, por exemplo dkim=pass header.d=example.com header.s=x. Uma mensagem pode ter várias assinaturas, por exemplo uma do seu domínio e outra do próprio serviço. Para o DMARC, só conta uma assinatura cujo d= corresponda ao seu domínio De.

Cada serviço com o seu próprio selector

Um domínio pode ter muitas chaves DKIM em simultâneo, cada uma com o seu próprio selector. É exatamente esse o objetivo: cada serviço que envia correio em seu nome assina com uma chave própria.

RemetenteSelector (exemplo)Como consta no DNS
Servidor de correio de alojamentox ou defaultTXT com a chave, criado pelo painel
Microsoft 365selector1, selector2dois registos CNAME para a Microsoft
Google Workspacegoogle (predefinido)TXT com uma chave que você gera na consola de administração
Serviço de newsletterspor exemplo k2, k3, mte1normalmente registos CNAME para o serviço

TXT ou CNAME?

  • Com um registo TXT, é você quem coloca a chave pública no seu DNS. Se o serviço quiser uma nova chave, terá de ser você a atualizar o registo.
  • Com um registo CNAME, encaminha o selector para um nome junto do serviço, por exemplo k2._domainkey.example.com CNAME dkim2.mailer.example. O serviço gere então a chave e pode substituí-la sem que você tenha de fazer nada. Por isso, os grandes serviços optam pelo CNAME, utilizando muitas vezes dois: assim podem alternar entre uma chave ativa e uma nova chave.

Atenção: um CNAME não pode coexistir com outro registo no mesmo nome. Se já existir um TXT em selector1._domainkey, remova-o.

O mais importante: ativar o DKIM no serviço

Em muitos serviços, o DKIM com o seu próprio domínio não está ativo por predefinição. Esses serviços assinam então com o seu próprio domínio (d=mailer.example). A mensagem fica assinada, mas não alinhada com o seu endereço De. Para o DMARC, isso não conta. Na administração do serviço, esta opção chama-se muitas vezes "verificar domínio", "verificação de domínio", "autenticação" ou "domínio de remetente próprio". Só depois de configurar os registos e de ativar a opção no serviço é que este passa a assinar com d=example.com.

Chaves: comprimento, fragmentos e algoritmo

  • Comprimento. A RFC 8301 estabelece: pelo menos 1024 bits, devendo os remetentes utilizar pelo menos 2048 bits. Utilize 2048. Uma chave de 512 bits é considerada inválida pelos destinatários.
  • Fragmentos de 255 caracteres. Um registo TXT é composto por sequências de caracteres com um máximo de 255 caracteres. Uma chave de 2048 bits tem cerca de 400 caracteres e não cabe numa única sequência. O registo é então composto por duas ou mais sequências consecutivas ("v=DKIM1; k=rsa; p=MIIBIj..." "...IDAQAB"), que o destinatário junta. A maioria dos painéis faz isto automaticamente. Se algo correr mal, obtém uma chave truncada e todas as assinaturas falham. Copie, por isso, sempre a chave na íntegra, sem espaços ou aspas adicionais a meio.
  • ed25519 (RFC 8463) é um algoritmo mais moderno, com chaves curtas. Nem todos os destinatários ainda o verificam. Quem o utiliza assina, por isso, com duas assinaturas: uma RSA e uma ed25519.

Substituir uma chave

É boa prática substituir uma chave de tempos a tempos, e sobretudo se suspeitar que a chave privada foi comprometida (por exemplo, após uma invasão do servidor ou a saída de um administrador). Proceda assim:

  1. Crie uma nova chave sob um novo selector, por exemplo s2026, e coloque a chave pública no DNS.
  2. Aguarde até o registo estar visível em toda a parte (o TTL, ver curso de DNS, lição 6.1).
  3. Faça com que o servidor passe a assinar com o novo selector.
  4. Mantenha a chave antiga ainda por alguns dias: correio que já estava a caminho ou que volta a ser verificado ainda faz referência a ela.
  5. Revogue a chave antiga esvaziando o p= (v=DKIM1; p=), ou remova o registo.

Nos serviços com registos CNAME, é o próprio serviço que trata disto.

O que faz o DKIM falhar

  • A mensagem é alterada durante o percurso: uma lista de distribuição que coloca [nome-da-lista] no assunto ou acrescenta um rodapé, um antivírus que adiciona uma linha no fim da mensagem, um servidor de redirecionamento que converte a formatação.
  • Chave incorreta ou truncada no DNS.
  • O selector não existe: um erro de escrita no nome, ou selector1._domainkey.example.com.example.com (o nome de domínio duplicado, porque o painel já o acrescenta automaticamente).
  • Chave revogada (p= vazio) enquanto o servidor ainda assina com esse selector.

Verificar se funciona

  1. Envie uma mensagem a partir do serviço para um endereço no Gmail ou Outlook.com.
  2. Abra os cabeçalhos e procure o DKIM-Signature: anote d= e s=.
  3. Verifique em Authentication-Results se consta dkim=pass, e se header.d= corresponde ao seu domínio.
  4. Consulte o selector: dig TXT s._domainkey.example.com (ou com uma ferramenta online). Deve existir um p= com uma chave extensa, ou um CNAME que remeta para um registo desse tipo.

Na prática: assim se apresenta num painel

Num pacote de alojamento da WebOké, o DKIM está ativo por predefinição, com o selector x: o registo chama-se x._domainkey.<oseudomínio>. No DirectAdmin, vê-o em Administração de DNS; se o seu DNS estiver junto de outro fornecedor, copie esse registo para lá. No O meu WebOké, o cartão Definir e-mail mostra o valor que deve constar e se este é encontrado. Noutros fornecedores, o selector tem outro nome (default, mail, dkim), mas encontra-o da mesma forma: no painel ou no s= de uma mensagem assinada.

Resumo

  • O DKIM é a verificação que sobrevive ao redirecionamento e que você associa, por serviço, ao seu próprio domínio; para o DMARC, só conta uma assinatura com o seu domínio em d=.
  • No DKIM-Signature encontra d= (domínio) e s= (selector); a chave encontra-se em <s>._domainkey.<d>.
  • Cada serviço recebe o seu próprio selector; os registos CNAME permitem que o serviço substitua as chaves por si próprio. Certifique-se de que ativa mesmo o DKIM com o seu próprio domínio no serviço.
  • Utilize 2048 bits; tenha atenção a chaves truncadas ao copiar.
  • Substitua uma chave com um novo selector e só depois revogue a antiga.

Quiz

1. Numa DKIM-Signature consta d=mailer.example; s=k1, enquanto o endereço De é info@example.com. O que significa isto para o DMARC?



2. Porque é que serviços como o Microsoft 365 utilizam dois registos CNAME para o DKIM?



3. Depois de copiar uma chave DKIM para o seu DNS, todas as assinaturas falham. A chave no DNS tem 255 caracteres. Qual é a causa provável?



4. Uma lista de distribuição coloca [membros] antes do assunto. A sua assinatura incluía subject. O que acontece ao seu DKIM junto do destinatário final?



5. Qual é a ordem segura ao substituir uma chave DKIM?



Exercício

Exercício Z4.3: Verificar um selector DKIM. Envie uma mensagem a partir do seu próprio domínio (ou de um serviço que envie correio em seu nome) para um endereço próprio noutro fornecedor. Abra os cabeçalhos e preencha os valores de d= e s= do DKIM-Signature, bem como o que consta em Authentication-Results junto a dkim=. O programa consulta o selector em tempo real, segue um eventual CNAME, verifica a chave (presente, não vazia, comprimento) e indica se d= está alinhado com o domínio que você indica como remetente.

Exercício Z4.3: Verificar um selector DKIM

Retire d= e s= do DKIM-Signature de um e-mail do seu próprio domínio (ou de um serviço que envia e-mails em seu nome).





O que preenche e o que encontramos não ficam guardados. O seu navegador memoriza as suas respostas e se concluiu o exercício com sucesso. Se tiver sessão iniciada, guardamos apenas que concluiu o exercício (quase) com sucesso em Os meus cursos; aí também o pode eliminar.

Para saber mais

Os passos descritos nestes artigos aplicam-se aos painéis da WebOké; junto de outros fornecedores o funcionamento é semelhante.

Um momento…

Configurar os seus domínios

Para cada domínio, defina os servidores de nomes, a ligação ao seu alojamento e quem fica como titular.

A carregar os seus domínios…