Módulo 5 · 5.1
DNS inverso e o seu servidor de envio
Módulo 5: Reputação e os grandes destinatários · Tempo de leitura: 9 minutos
Objetivo de aprendizagem: Após esta lição, saberá explicar por que razão o endereço IP do servidor que envia o seu email precisa de um DNS inverso correto, identificar qual é esse servidor no seu caso e verificar se a correspondência entre ida e volta está certa.
Conceitos-chave: servidor de envio, registo PTR, forward-confirmed reverse DNS (FCrDNS), nome HELO/EHLO, nome genérico, alojamento partilhado, servidor próprio (VPS), proprietário do bloco de IP
Qual é, afinal, o servidor que envia o seu email?
No módulo 4 falámos do seu domínio: o SPF, o DKIM e o DMARC estão no DNS de example.com. Neste módulo olhamos para outra coisa: o servidor que entrega o seu email ao destinatário. Esse servidor tem um endereço IP, e os destinatários avaliam esse endereço separadamente do seu domínio.
Qual é esse servidor depende de como envia o seu email:
| Como envia o email | Quem gere o servidor de envio |
|---|---|
| Programa de correio eletrónico com o servidor SMTP do seu pacote de alojamento | A sua empresa de alojamento |
| Microsoft 365, Google Workspace, outro serviço de email | Esse serviço de email |
| Serviço de newsletter, programa de contabilidade, plataforma de loja online | Esse serviço (ou um serviço que este contrata) |
| Sítio web que inicia sessão via SMTP na sua caixa de correio | A sua empresa de alojamento ou serviço de email |
| Servidor de correio próprio num VPS ou no escritório | Você próprio (e, para o PTR, o proprietário do endereço IP) |
Encontra o endereço IP do servidor de envio nos cabeçalhos de uma mensagem que tenha enviado para si próprio ou para outro endereço (lição 1.5). Procure a primeira linha Received:, de cima para baixo, adicionada pelo servidor recetor. Nela encontrará algo como:
Received: from smtp.hosting.example (smtp.hosting.example [192.0.2.25])
by mx.example.net with ESMTPS id 4f2a...O endereço entre parênteses retos, 192.0.2.25, é o endereço IP com o qual o servidor remetente estabeleceu ligação. O nome antes dele (smtp.hosting.example) é o nome que o destinatário encontrou para esse endereço através do DNS inverso.
DNS inverso em resumo
O DNS inverso associa um endereço IP de volta a um nome, através de um registo PTR. Aprendeu os fundamentos no curso de DNS (lição 4.6): o registo não está na zona do seu domínio, mas sim na zona inversa do endereço IP, que pertence à entidade que gere o bloco de IP.
Para o email, há três aspetos importantes:
- Existe um PTR. Um endereço IP sem DNS inverso parece ser uma máquina qualquer na internet. O Gmail rejeita esse tipo de email com a mensagem
550 5.7.25 ... the sending IP address doesn't have a PTR record. - O nome aponta de volta para o mesmo endereço. O endereço IP
192.0.2.25tem o PTRsmtp.hosting.example, esmtp.hosting.exampletem o registo A192.0.2.25. A isto chama-se forward-confirmed reverse DNS (FCrDNS). O Gmail, o Yahoo e o T-Online mencionam isto explicitamente nos seus requisitos. - O nome parece ser de um servidor de correio. Um nome como
192-0-2-25.dsl.provider.exampleouhost25.dynamic.provider.exampledenuncia uma ligação doméstica ou de cliente final. Os filtros de spam penalizam isto, ou recusam logo a ligação.
No caso do IPv6, aplica-se tudo novamente. Se um servidor envia através de IPv6, o endereço IPv6 também precisa de um PTR e de uma correspondência inversa com um registo AAAA. Um servidor que esteja correto no IPv4 mas não no IPv6 tem especialmente problemas com o Gmail: o Google refere a ausência de um PTR IPv6 como causa de um "IPv6 authorization error".
O nome HELO
Quando um servidor estabelece ligação, apresenta-se com EHLO (ou o mais antigo HELO) e um nome (lição 1.2). O RFC 5321 refere que este deve ser o nome completo do servidor. Na prática, os destinatários verificam se esse nome:
- é um nome real e existente (nada de
localhost, nada de endereços IP nus, nada de nomes que não constem do DNS); - corresponde ao DNS inverso, ou pelo menos pertence ao mesmo domínio.
Num pacote de alojamento ou serviço de email, isto é tratado pelo administrador. Se gerir o seu próprio servidor de correio, configura o nome HELO no seu software de correio (no Postfix chama-se myhostname) e certifica-se de que esse nome, o PTR e o registo A são todos coincidentes.
Alojamento partilhado: o PTR não precisa de ser o seu domínio
Uma pergunta frequente: "O DNS inverso não devia ser mail.example.com, já que é o meu domínio?" Não. No alojamento partilhado e nos grandes serviços de email, um único servidor envia email para centenas ou milhares de domínios. O endereço IP só pode ter um PTR, e este contém, portanto, o nome do próprio servidor, por exemplo server12.hosting.example.
E isso está certo. Os destinatários verificam se o PTR existe, se há correspondência inversa e se não é genérico. Não verificam se o seu próprio nome de domínio consta nele. A ligação entre o seu domínio e o servidor é estabelecida através do SPF (o servidor consta do seu SPF) e do DKIM (o servidor assina em nome do seu domínio).
No WebOké, por exemplo, isto está organizado assim: os servidores de um pacote de alojamento têm um DNS inverso com o nome do próprio servidor, sob webawere.nl, que por sua vez tem também correspondência inversa. Noutras empresas de alojamento e serviços de email funciona de forma semelhante, com os seus próprios nomes de servidor.
Um servidor próprio: o que precisa de tratar?
Se enviar email diretamente a partir de um servidor próprio, por exemplo um VPS com uma loja online ou um servidor de correio próprio, é você o remetente e precisa de tratar de mais aspetos:
- Escolha um nome, por exemplo
mail.example.com. - Crie o registo A (e o registo AAAA) desse nome para o endereço IP do servidor, no DNS do seu domínio.
- Peça o PTR junto do fornecedor do servidor. Normalmente existe no painel de cliente um campo "Reverse DNS" ou "rDNS". Aí introduz o mesmo nome.
- Configure o nome HELO do seu software de correio para esse mesmo nome.
- Coloque o endereço IP no seu SPF (
ip4:eip6:) e ative o DKIM no seu software de correio. - Verifique se a porta 25 de saída está aberta. Muitos fornecedores fecham-na por predefinição para evitar abusos; nesse caso, terá de pedir a sua abertura, ou enviar através de um relay do seu fornecedor ou de um serviço de envio.
Um servidor de correio numa ligação de internet comum, em casa ou no escritório, é quase sempre uma má ideia. Esses endereços constam frequentemente de listas de "endereços de utilizador final" (como a Policy Block List da Spamhaus, lição 5.2), normalmente não pode escolher o PTR por si próprio, e o T-Online determina literalmente que esses sistemas devem enviar através de um relay de um fornecedor adequado.
Verificar
Com uma janela de comandos (curso de DNS, lição 8.2):
dig -x 192.0.2.25 +short
smtp.hosting.example.
dig A smtp.hosting.example +short
192.0.2.25Se a segunda consulta devolver o mesmo endereço, o FCrDNS está correto. No caso do IPv6, faz o mesmo com dig -x 2001:db8::25 e dig AAAA.
Também pode ver como o destinatário o viu. Nos cabeçalhos, o servidor recetor coloca o nome que encontrou entre parênteses a seguir a from. Se aí estiver unknown, significa que não encontrou um PTR. Alguns servidores acrescentam ainda a sua própria verificação, como iprev=pass na linha Authentication-Results: (RFC 8601).
Resumo
- O servidor de envio é o servidor que entrega o seu email ao destinatário. Os destinatários avaliam o seu endereço IP separadamente do seu domínio.
- Esse endereço IP precisa de um PTR com correspondência inversa para o mesmo endereço (FCrDNS), tanto para IPv4 como para IPv6, com um nome que não seja genérico.
- O nome HELO deve ser um nome existente que corresponda ao PTR.
- No alojamento partilhado e nos serviços de email, o nome que consta do PTR é o do servidor, não o seu domínio. Isso está correto.
- Com um servidor próprio, trata você mesmo do nome, do A/AAAA, do PTR (através do seu fornecedor), do HELO, do SPF e do DKIM.
Quiz
Exercício
Exercício Z5.1: O servidor de envio do seu próprio domínio. Envie uma mensagem a partir do seu próprio endereço para outro endereço seu (por exemplo, um endereço Gmail ou Outlook.com) e abra os cabeçalhos. Procure o endereço IP do servidor que entregou a mensagem, o nome PTR desse endereço, e indique se o nome tem correspondência inversa para o mesmo endereço (sim/não). Se não tiver domínio próprio, utilize o endereço IP do servidor de correio mx00.t-online.de. O programa consulta o PTR e o registo A/AAAA em tempo real e compara.
Para saber mais
Os passos nestes artigos aplicam-se aos painéis do WebOké; noutros fornecedores o funcionamento é semelhante.
- Enviar e-mail a partir do seu VPS e configurar o DNS inverso
- Curso gratuito de DNS 4.6: DNS inverso (PTR): do número de volta ao nome
- Como funciona o envio de e-mails / SMTP
- RFC 5321 (SMTP), secção 4.1.1.1, sobre o nome EHLO; RFC 8601, sobre o cabeçalho Authentication-Results
