Poupe até 53% em Servidores VPS, escolha agora. Oferta limitada.

configurar Postfix com SPF, DKIM e DMARC no AlmaLinux 9

13 min de leitura  ·  Guia técnico

Para configurar Postfix com SPF, DKIM e DMARC no AlmaLinux 9, instale o OpenDKIM via EPEL, gere as chaves DKIM, publique os três registros TXT no DNS e integre o filtro Milter ao Postfix — o processo completo leva menos de 30 minutos e garante que seus emails cheguem na caixa de entrada do Gmail, Outlook e Yahoo.

  1. Instale Postfix e OpenDKIM via dnf no AlmaLinux 9
  2. Gere o par de chaves DKIM com seletor único por domínio
  3. Publique os registros TXT de SPF, DKIM e DMARC na zona DNS
  4. Configure o Postfix para assinar mensagens via socket Milter
  5. Reinicie os serviços e valide com mail-tester ou check-auth
  6. Monitore os relatórios DMARC antes de endurecer a política

Pré-requisitos para configurar a tríade de autenticação de email

  • VPS com AlmaLinux 9 atualizado (dnf update -y) e mínimo 1 GB de RAM
  • Acesso root via SSH — veja Acessando servidores VPS Linux da AviraHost
  • Domínio próprio com painel DNS acessível (Cloudflare, Registro.br, etc.)
  • Hostname FQDN configurado, ex.: mail.seudominio.com.br
  • Registro PTR reverso apontando o IP do servidor para o hostname
  • Portas 25, 587 e 465 liberadas no firewall e no provedor de infraestrutura
  • Postfix já instalado e funcional — consulte Passo a passo para configurar servidor de e-mail no VPS Linux

Instalação do Postfix e dos pacotes de autenticação no AlmaLinux 9

A base do nosso ambiente envolve o MTA Postfix integrado ao OpenDKIM via filtro Milter. O AlmaLinux 9 traz o Postfix 3.8 ou superior no repositório AppStream e o OpenDKIM disponível pelo EPEL, então o primeiro passo é habilitar o repositório complementar e instalar os pacotes necessários.

dnf install -y epel-release
dnf install -y postfix opendkim opendkim-tools bind-utils mailx

Output esperado ao final da instalação:

Installed:
  opendkim-2.11.0-0.42.el9.x86_64
  opendkim-tools-2.11.0-0.42.el9.x86_64
  postfix-3.8.x-1.el9.x86_64
Complete!

Habilite os serviços para iniciar com o sistema:

systemctl enable --now postfix opendkim
systemctl status postfix opendkim --no-pager

Confirme o hostname FQDN, que será usado em toda a configuração:

hostnamectl set-hostname mail.seudominio.com.br
hostname -f

Como configurar SPF no DNS para autorizar o envio

O Sender Policy Framework é o mecanismo mais simples da tríade: um único registro TXT no DNS define quais IPs ou hostnames podem enviar email em nome do domínio. Receptores como Gmail consultam esse registro durante o handshake SMTP e marcam a mensagem como suspeita caso o IP de origem não esteja autorizado.

Acesse o painel DNS do seu domínio e crie um registro TXT na raiz (@):

Tipo: TXT
Nome: @
Valor: "v=spf1 mx a ip4:203.0.113.45 -all"
TTL: 3600

O mecanismo mx autoriza todos os servidores listados no registro MX, a autoriza o A record do domínio, ip4 adiciona explicitamente o IP do VPS, e -all (hard fail) rejeita qualquer outra origem. Para começar com mais tolerância, use ~all (soft fail) e migre para -all após validar.

Valide a propagação com:

dig +short TXT seudominio.com.br
"v=spf1 mx a ip4:203.0.113.45 -all"

Atenção: nunca publique dois registros SPF no mesmo domínio — a RFC 7208 obriga o receptor a tratar isso como permerror, invalidando toda a autenticação.

Geração de chaves DKIM e integração do OpenDKIM com Postfix

O DomainKeys Identified Mail acrescenta uma assinatura criptográfica em cada mensagem enviada. O servidor usa a chave privada para assinar o cabeçalho e o corpo, e o destinatário valida com a chave pública publicada no DNS. Vamos gerar a chave com o seletor mail2026.

Crie a estrutura de diretórios e gere o par de chaves:

mkdir -p /etc/opendkim/keys/seudominio.com.br
cd /etc/opendkim/keys/seudominio.com.br
opendkim-genkey -b 2048 -d seudominio.com.br -s mail2026
chown -R opendkim:opendkim /etc/opendkim/keys
chmod 600 mail2026.private

O comando gera dois arquivos: mail2026.private (chave privada, fica no servidor) e mail2026.txt (chave pública para publicar no DNS). Veja o conteúdo do segundo:

cat /etc/opendkim/keys/seudominio.com.br/mail2026.txt
mail2026._domainkey IN TXT ( "v=DKIM1; k=rsa; "
  "p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA..." )

Publique no DNS um registro TXT com nome mail2026._domainkey contendo o valor entre aspas (concatenado em uma única linha, sem espaços extras). Se preferir um seletor mais duradouro e independente do ano, você pode usar um nome genérico como default ou smtp, evitando a necessidade de atualização anual.

Agora edite /etc/opendkim.conf com as diretivas essenciais:

Mode                   sv
Canonicalization       relaxed/simple
Domain                 seudominio.com.br
Selector               mail2026
KeyFile                /etc/opendkim/keys/seudominio.com.br/mail2026.private
Socket                 inet:8891@localhost
PidFile                /run/opendkim/opendkim.pid
UserID                 opendkim:opendkim
UMask                  002
Syslog                 yes
SyslogSuccess          yes

Integre o filtro ao Postfix editando /etc/postfix/main.cf e adicionando ao final:

milter_default_action = accept
milter_protocol = 6
smtpd_milters = inet:localhost:8891
non_smtpd_milters = inet:localhost:8891

Reinicie ambos os serviços:

systemctl restart opendkim postfix
opendkim-testkey -d seudominio.com.br -s mail2026 -vvv
opendkim-testkey: key OK

Publicação do registro DMARC e definição de política

O Domain-based Message Authentication, Reporting and Conformance amarra SPF e DKIM, dizendo ao destinatário o que fazer quando a validação falha. Sem DMARC, mesmo com SPF e DKIM corretos, o Gmail aplica heurísticas conservadoras que podem afetar a entregabilidade.

Crie um TXT no subdomínio _dmarc:

Tipo: TXT
Nome: _dmarc
Valor: "v=DMARC1; p=none; rua=mailto:[email protected]; ruf=mailto:[email protected]; fo=1; adkim=s; aspf=s; pct=100"
TTL: 3600

Significado das tags principais:

  • p=none: apenas monitora, sem aplicar ação — ideal para as duas primeiras semanas
  • rua: endereço que recebe relatórios agregados diários
  • ruf: endereço para relatórios forenses por falha
  • adkim=s / aspf=s: alinhamento estrito (o domínio do From deve coincidir exatamente)
  • pct=100: aplica a política a 100% das mensagens

Após duas semanas analisando os relatórios XML recebidos no email definido em rua, migre para p=quarantine e, em seguida, p=reject para máxima proteção contra spoofing.

Validação completa do envio autenticado

Com a stack ativa, envie uma mensagem de teste para um endereço Gmail e para o verificador automatizado:

echo "Teste autenticacao SPF DKIM DMARC" | mail -s "Teste Avira" -r [email protected] [email protected]

Em poucos minutos o serviço responde com um relatório detalhado. O bloco esperado deve conter:

==========================================================
Summary of Results
==========================================================
SPF check:          pass
DKIM check:         pass
DMARC check:        pass

No Gmail, abra a mensagem, clique em "Mostrar original" e procure por:

Authentication-Results: mx.google.com;
       dkim=pass [email protected] header.s=mail2026;
       spf=pass (google.com: domain of [email protected] designates 203.0.113.45 as permitted sender);
       dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=seudominio.com.br

Complemente o teste com a ferramenta mail-tester.com, que pontua de 0 a 10 considerando blacklist, conteúdo, PTR e autenticação. Pontuação inferior a 8 indica ajustes pendentes — geralmente PTR ausente ou IP em listas como Spamhaus.

Problemas comuns e como resolver

Sintoma: cabeçalho com dkim=neutral ou ausência de DKIM-Signature

Causa: o Postfix não está repassando a mensagem pelo Milter, geralmente porque o socket TCP 8891 não está acessível ou o OpenDKIM não iniciou.
Solução: rode ss -tlnp | grep 8891 e confirme o listener. Verifique journalctl -u opendkim -n 50 para erros de permissão na chave privada. Garanta que chmod 600 e ownership opendkim:opendkim estão corretos no arquivo .private.

Sintoma: SPF retorna permerror ao consultar com dig

Causa: existem dois ou mais registros TXT começando com v=spf1 no domínio, ou a string ultrapassou 255 caracteres sem ser dividida corretamente.
Solução: consolide tudo em um único registro. Se precisar incluir muitos provedores, use include: aninhado, mas respeite o limite de 10 lookups DNS imposto pela RFC. Remova entradas SPF antigas de provedores que você não usa mais.

Sintoma: DMARC reporta dkim=fail mesmo com a chave correta

Causa: desalinhamento entre o domínio do cabeçalho From e o domínio assinado pelo DKIM (header d=). Comum quando aplicações enviam via [email protected] mas o Postfix assina com d=mail.seudominio.com.br.
Solução: ajuste a diretiva Domain no opendkim.conf para o domínio organizacional, não o hostname. Se necessário, afrouxe o alinhamento para adkim=r (relaxed) no DMARC enquanto investiga.

Sintoma: emails para Outlook caem em lixo eletrônico mas Gmail aceita

Causa: o Microsoft SmartScreen avalia também a reputação do IP via Sender Score e a existência de PTR reverso. Servidores novos sem histórico ficam em quarentena.
Solução: configure o PTR reverso no painel do provedor de VPS apontando o IP para mail.seudominio.com.br. Inscreva-se no Smart Network Data Services da Microsoft para monitorar reputação e solicitar mitigação.

Perguntas frequentes sobre Postfix com SPF, DKIM e DMARC

Por que meus emails caem no spam mesmo com SPF configurado?

Apenas SPF não basta para garantir entrega. Provedores como Gmail e Outlook exigem a tríade SPF, DKIM e DMARC alinhados, além de PTR reverso configurado e IP sem histórico em blacklists. A ausência de qualquer um desses elementos faz a mensagem ser classificada como suspeita.

Qual a diferença prática entre SPF, DKIM e DMARC?

SPF autoriza quais servidores podem enviar emails em nome do seu domínio via registro TXT no DNS. DKIM assina criptograficamente cada mensagem com chave privada, permitindo ao destinatário validar pela chave pública publicada no DNS. DMARC define a política aplicada quando SPF ou DKIM falham, indicando se a mensagem deve ser rejeitada, posta em quarentena ou aceita.

Posso usar SPF, DKIM e DMARC sem ter servidor próprio?

Sim, esses três mecanismos são configurações de DNS e funcionam com qualquer provedor de email, incluindo Google Workspace, Zoho ou hospedagem cPanel. A diferença é que em servidor próprio com Postfix você gera as chaves DKIM localmente com OpenDKIM, enquanto em serviços gerenciados o provedor fornece os valores prontos.

Quanto tempo demora para o DMARC começar a funcionar após configurar?

A propagação dos registros TXT no DNS leva entre 1 e 24 horas dependendo do TTL configurado na zona. Após a propagação, o DMARC entra em vigor imediatamente para qualquer mensagem nova. Recomenda-se começar com a política p=none por duas semanas para coletar relatórios antes de migrar para quarantine ou reject.

Como testar se o DKIM está realmente assinando as mensagens?

Envie um email para o serviço [email protected] ou para uma conta Gmail e verifique o cabeçalho original. Procure pelas linhas Authentication-Results com dkim=pass e DKIM-Signature contendo o seletor que você configurou. Você também pode executar opendkim-testkey no servidor para validar a chave localmente.

Conclusão

  • Implemente sempre a tríade completa: SPF autoriza, DKIM assina e DMARC orquestra a política diante de falhas.
  • Comece com p=none no DMARC e analise os relatórios XML por duas semanas antes de endurecer para quarantine ou reject.
  • Combine autenticação com PTR reverso, hostname FQDN coerente e monitoramento contínuo de blacklists para alcançar entregabilidade próxima de 100%.

Leia também

Precisa de ajuda com servidor de email autenticado?

A AviraHost oferece VPS Linux com IPs limpos, configuração de PTR reverso sob demanda e suporte técnico especializado em entregabilidade de email. Implante seu Postfix com a tríade SPF, DKIM e DMARC em uma infraestrutura preparada para produção.

Conheça os planos de VPS Linux da AviraHost

  • 0 Os usuários acharam isso útil
  • postfix, dkim, spf, dmarc, almalinux-9, email-corporativo, opendkim, AviraHost
Esta resposta foi útil?

Artigos Relacionados

Instalando painel de gerenciamento de hospedagem VirtualMin.

O virtualmin é um painel de gerenciamento de hospedagem de sites gratuito, que é suportado por...

Como usar a ferramenta oficial de acesso remoto do Windows no PC e celular

1. Pelo menu Iniciar, acesse os “Acessórios do Windows” e abra o “Conexão de Área de Trabalho...

Como acessar o painel de gerenciamento dos meus Serviços.

Para acessar o painel de gerenciamento do seu serviço basta seguir o passo á passo abaixo.   1....

Compreendendo o Servidor VPS: O que é e Como Funciona!

Um servidor VPS (Virtual Private Server) é uma solução de hospedagem na qual um servidor físico é...

Como trocar a senha do usuário root do servidor VPS ou Dedicado.

Para trocar a senha do usuário root em um servidor VPS da AviraHost, você pode seguir os...