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

Checklist: Rocky Linux 9 como configurar Postfix corretamente

16 min de leitura  ·  Guia técnico

Configurar o Postfix corretamente no Rocky Linux 9 é essencial para garantir entrega confiável de e-mails transacionais e evitar que seu servidor seja usado como open relay. Siga este checklist completo:

  1. Instalar o Postfix via DNF e habilitar o serviço no systemd
  2. Definir myhostname, mydomain e myorigin no main.cf
  3. Configurar mydestination, inet_interfaces e mynetworks
  4. Habilitar TLS com certificado válido para criptografar o tráfego SMTP
  5. Configurar autenticação SASL para relay seguro
  6. Testar envio, verificar logs e ajustar registros DNS (SPF, DKIM, DMARC)

Pré-requisitos para configurar o Postfix no Rocky Linux 9

  • Sistema operacional: Rocky Linux 9 (mínimo 9.0, recomendado 9.3 ou superior)
  • Acesso root ou usuário com privilégios sudo
  • Postfix versão 3.5+ disponível nos repositórios padrão do Rocky Linux 9
  • FQDN configurado: o servidor deve ter um hostname totalmente qualificado, como mail.exemplo.com.br
  • Porta 25 liberada no firewall (firewalld) e no painel do provedor de VPS
  • Certificado TLS válido (Let's Encrypt ou comercial) para habilitar SMTP seguro
  • Acesso SSH ao servidor — veja como acessar em Acessando servidores VPS Linux da AviraHost
  • Registros DNS do domínio acessíveis para configurar SPF e MX

Instalação e ativação do Postfix no Rocky Linux 9

O primeiro passo do checklist de configuração do Postfix é garantir que o pacote esteja instalado e o serviço ativo. No Rocky Linux 9, o gerenciador de pacotes padrão é o DNF, que resolve dependências automaticamente.

  1. Atualize os repositórios do sistema:
sudo dnf update -y
  1. Instale o Postfix e o pacote de utilitários de e-mail:
sudo dnf install postfix mailx -y
Output esperado:
Installed:
  postfix-3.5.x-x.el9.x86_64
  mailx-12.5-x.el9.x86_64
Complete!
  1. Habilite e inicie o serviço via systemd:
sudo systemctl enable postfix --now
  1. Confirme que o serviço está ativo:
sudo systemctl status postfix
Output esperado:
● postfix.service - Postfix Mail Transport Agent
     Loaded: loaded (/usr/lib/systemd/system/postfix.service; enabled)
     Active: active (running) since ...

Se o Sendmail estiver instalado e em conflito, remova-o antes de prosseguir:

Atenção: remover o Sendmail é irreversível sem reinstalação. Certifique-se de que nenhuma aplicação depende dele.

sudo dnf remove sendmail -y

Configuração do arquivo main.cf — parâmetros essenciais

O arquivo /etc/postfix/main.cf é o coração da configuração do servidor de e-mail. Cada diretiva controla um aspecto do comportamento do MTA (Mail Transfer Agent). Edite o arquivo com seu editor preferido:

sudo nano /etc/postfix/main.cf

Localize e ajuste os seguintes parâmetros. Use postconf -e para editar de forma segura sem abrir o arquivo manualmente:

sudo postconf -e "myhostname = mail.exemplo.com.br"
sudo postconf -e "mydomain = exemplo.com.br"
sudo postconf -e "myorigin = \$mydomain"
sudo postconf -e "inet_interfaces = all"
sudo postconf -e "inet_protocols = ipv4"
sudo postconf -e "mydestination = \$myhostname, localhost.\$mydomain, localhost, \$mydomain"
sudo postconf -e "mynetworks = 127.0.0.0/8"
sudo postconf -e "home_mailbox = Maildir/"
sudo postconf -e "smtpd_banner = \$myhostname ESMTP"

Explicação dos parâmetros principais:

  • myhostname: FQDN do servidor, usado no banner SMTP e nos cabeçalhos das mensagens
  • mydomain: domínio base para construção de endereços locais
  • myorigin: domínio que aparece no campo From de e-mails enviados localmente
  • inet_interfaces: interfaces de rede em que o Postfix escuta; all para aceitar conexões externas
  • mydestination: lista de domínios para os quais o servidor aceita e-mails como destino final
  • mynetworks: redes autorizadas a enviar e-mails sem autenticação — mantenha restrito a 127.0.0.0/8
  • home_mailbox: define o formato Maildir para armazenamento de mensagens

Após as alterações, recarregue o Postfix:

sudo systemctl reload postfix

Configurando TLS para criptografar o tráfego SMTP

Habilitar o TLS no Postfix é indispensável para proteger credenciais e conteúdo das mensagens em trânsito. O Rocky Linux 9 suporta TLS 1.2 e 1.3 nativamente com OpenSSL 3.x.

Assumindo que você já possui um certificado Let's Encrypt em /etc/letsencrypt/live/mail.exemplo.com.br/, configure as diretivas TLS:

sudo postconf -e "smtpd_tls_cert_file = /etc/letsencrypt/live/mail.exemplo.com.br/fullchain.pem"
sudo postconf -e "smtpd_tls_key_file = /etc/letsencrypt/live/mail.exemplo.com.br/privkey.pem"
sudo postconf -e "smtpd_use_tls = yes"
sudo postconf -e "smtpd_tls_security_level = may"
sudo postconf -e "smtpd_tls_loglevel = 1"
sudo postconf -e "smtp_tls_security_level = may"
sudo postconf -e "smtp_tls_loglevel = 1"
sudo postconf -e "smtpd_tls_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1"

Para forçar TLS no envio para outros servidores (quando suportado), use smtp_tls_security_level = encrypt. Use may para compatibilidade máxima.

Reinicie o Postfix para aplicar as configurações de TLS:

sudo systemctl restart postfix

Verifique se o TLS está ativo na porta 25:

openssl s_client -connect mail.exemplo.com.br:25 -starttls smtp
Output esperado (trecho):
SSL handshake has read ... bytes
Protocol  : TLSv1.3
Cipher    : TLS_AES_256_GCM_SHA384

Para configurar o certificado corretamente no seu domínio, consulte também o guia Como Configurar DNS Personalizado para Seu Domínio na AviraHost.

Configurando autenticação SASL para relay seguro

A autenticação SASL (Simple Authentication and Security Layer) permite que clientes de e-mail enviem mensagens pelo servidor sem abrir um open relay. No Rocky Linux 9, o Postfix integra com o Cyrus SASL.

  1. Instale o pacote Cyrus SASL:
sudo dnf install cyrus-sasl cyrus-sasl-plain cyrus-sasl-md5 -y
  1. Habilite e inicie o serviço saslauthd:
sudo systemctl enable saslauthd --now
  1. Configure o Postfix para usar SASL:
sudo postconf -e "smtpd_sasl_auth_enable = yes"
sudo postconf -e "smtpd_sasl_security_options = noanonymous"
sudo postconf -e "smtpd_sasl_local_domain = \$myhostname"
sudo postconf -e "broken_sasl_auth_clients = yes"
  1. Adicione as restrições de relay no main.cf:
sudo postconf -e "smtpd_relay_restrictions = permit_mynetworks, permit_sasl_authenticated, defer_unauth_destination"
sudo postconf -e "smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination"
  1. Crie o arquivo de configuração SASL para o Postfix:
sudo mkdir -p /etc/postfix/sasl
sudo nano /etc/postfix/sasl/smtpd.conf

Adicione o conteúdo:

pwcheck_method: saslauthd
mech_list: PLAIN LOGIN
  1. Reinicie o Postfix:
sudo systemctl restart postfix

Configurando o firewall e liberando portas SMTP

O firewalld é o gerenciador de firewall padrão no Rocky Linux 9 e precisa ser configurado para permitir tráfego nas portas SMTP. Por padrão, a porta 25 (SMTP), 587 (submission) e 465 (SMTPS) devem ser liberadas conforme o uso.

sudo firewall-cmd --permanent --add-service=smtp
sudo firewall-cmd --permanent --add-port=587/tcp
sudo firewall-cmd --permanent --add-port=465/tcp
sudo firewall-cmd --reload
Output esperado:
success
success
success
success

Verifique as regras ativas:

sudo firewall-cmd --list-all
Output esperado (trecho):
services: cockpit dhcpv6-client smtp ssh
ports: 465/tcp 587/tcp

Para habilitar a porta 587 (submission) no Postfix, edite o arquivo /etc/postfix/master.cf e descomente a linha correspondente:

sudo nano /etc/postfix/master.cf

Localize e descomente:

submission inet n       -       n       -       -       smtpd
  -o syslog_name=postfix/submission
  -o smtpd_tls_security_level=encrypt
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_relay_restrictions=permit_sasl_authenticated,reject
sudo systemctl restart postfix

Configurando registros DNS: SPF, MX e verificação de entrega

Sem os registros DNS corretos, mesmo um Postfix bem configurado terá e-mails rejeitados ou marcados como spam. O registro SPF autoriza o servidor a enviar e-mails pelo domínio.

No painel DNS do seu domínio, adicione os seguintes registros:

  • Registro MX: exemplo.com.br. IN MX 10 mail.exemplo.com.br.
  • Registro A: mail.exemplo.com.br. IN A [IP_DO_SERVIDOR]
  • Registro SPF (TXT): exemplo.com.br. IN TXT "v=spf1 mx a ip4:[IP_DO_SERVIDOR] ~all"
  • Registro PTR (rDNS): configure no painel do provedor de VPS para que o IP resolva para mail.exemplo.com.br

Verifique o registro MX após propagação:

dig MX exemplo.com.br +short
Output esperado:
10 mail.exemplo.com.br.

Verifique o SPF:

dig TXT exemplo.com.br +short
Output esperado:
"v=spf1 mx a ip4:xxx.xxx.xxx.xxx ~all"

Testando o envio de e-mails e monitorando logs

Com o servidor configurado, o próximo passo do checklist é testar o envio de e-mails e monitorar o log principal do Postfix para identificar erros.

  1. Envie um e-mail de teste pela linha de comando:
echo "Corpo do e-mail de teste" | mail -s "Teste Postfix Rocky Linux 9" [email protected]
  1. Monitore o log em tempo real:
sudo tail -f /var/log/maillog
Output esperado (envio bem-sucedido):
postfix/smtp[XXXX]: XXXXXXXX: to=, relay=mail.exemplo.com[IP]:25,
  delay=1.2, delays=0.1/0/0.5/0.6, dsn=2.0.0, status=sent (250 2.0.0 Ok: queued)
  1. Verifique a fila de mensagens pendentes:
sudo mailq
Output esperado (fila vazia):
Mail queue is empty
  1. Teste a conexão SMTP manualmente com telnet:
telnet localhost 25
Output esperado:
Trying 127.0.0.1...
Connected to localhost.
220 mail.exemplo.com.br ESMTP Postfix

Se o status no log for deferred ou bounced, o log indicará a causa exata — como rejeição por relay, falha de DNS reverso ou bloqueio de porta 25 pelo provedor.

Problemas comuns e como resolver

Sintoma: e-mails ficam na fila com status "deferred" e erro "Connection refused"

Causa: a porta 25 está bloqueada pelo provedor de VPS ou pelo firewalld local. Muitos provedores bloqueiam a porta 25 por padrão para evitar spam.
Solução: verifique se a porta 25 está aberta com sudo firewall-cmd --list-ports e telnet smtp.gmail.com 25. Se o provedor bloquear a porta 25 externamente, use a porta 587 (submission) com autenticação SASL ou solicite a liberação ao suporte do provedor.

Sintoma: erro "Relay access denied" ao tentar enviar e-mail

Causa: o endereço de destino não está em mydestination e o cliente não está autenticado via SASL nem listado em mynetworks. O Postfix rejeita o relay por segurança.
Solução: confirme que smtpd_relay_restrictions contém permit_sasl_authenticated e que o cliente está enviando com autenticação habilitada. Para envios locais de aplicações, adicione o IP do servidor em mynetworks: sudo postconf -e "mynetworks = 127.0.0.0/8, [IP_DA_APP]/32".

Sintoma: e-mails chegam na caixa de spam do destinatário

Causa: ausência de registros SPF, DKIM ou DMARC, ou o IP do servidor está em uma lista de bloqueio (blacklist). Servidores sem rDNS configurado também são penalizados.
Solução: configure o registro SPF no DNS do domínio, implemente DKIM com o pacote opendkim e verifique se o IP está em blacklists usando ferramentas como MXToolbox. Configure o rDNS (PTR) no painel do provedor de VPS para que o IP resolva para o FQDN do servidor de e-mail.

Sintoma: Postfix não inicia — erro "fatal: parameter inet_interfaces: no local interface found for ::1"

Causa: o parâmetro inet_protocols está configurado para all (IPv4 e IPv6), mas o IPv6 não está habilitado na interface de rede do servidor.
Solução: force o uso apenas de IPv4: sudo postconf -e "inet_protocols = ipv4" e reinicie o serviço com sudo systemctl restart postfix.

Sintoma: erro "SASL authentication failed" nos logs

Causa: o serviço saslauthd não está em execução ou as credenciais do usuário estão incorretas. Também pode ocorrer se o socket do saslauthd não estiver acessível pelo Postfix.
Solução: verifique o status com sudo systemctl status saslauthd. Certifique-se de que o Postfix tem acesso ao socket: sudo usermod -aG sasl postfix e reinicie ambos os serviços.

Perguntas frequentes sobre Postfix no Rocky Linux 9

O Postfix no Rocky Linux 9 usa systemd para gerenciar o serviço?

Sim. No Rocky Linux 9, o Postfix é gerenciado pelo systemd. Para iniciar, parar ou verificar o status, use os comandos systemctl start postfix, systemctl stop postfix e systemctl status postfix. O serviço também pode ser habilitado para iniciar automaticamente com systemctl enable postfix, garantindo que o MTA suba junto com o sistema após reinicializações.

Como testar se o Postfix está enviando e-mails corretamente no Rocky Linux 9?

Execute echo "Teste" | mail -s "Assunto" [email protected] e verifique o log em /var/log/maillog com tail -f /var/log/maillog. Se a mensagem aparecer com status=sent, o envio foi bem-sucedido. Caso contrário, o log indicará o erro específico, como rejeição por relay ou falha de autenticação, permitindo diagnóstico preciso sem ferramentas externas.

Qual a diferença entre myhostname e mydomain no Postfix?

myhostname define o nome FQDN do servidor de e-mail, como mail.exemplo.com.br, e é usado no banner SMTP apresentado a outros servidores durante a conexão. mydomain define o domínio base, como exemplo.com.br, e é usado para construir endereços de e-mail locais e o valor de myorigin. O Postfix usa ambos em conjunto para identificar corretamente a origem das mensagens e garantir que os cabeçalhos estejam corretos.

Como configurar o Postfix para usar TLS e criptografar o envio de e-mails?

Adicione as diretivas smtpd_tls_cert_file, smtpd_tls_key_file e smtpd_use_tls = yes no arquivo /etc/postfix/main.cf apontando para o certificado TLS do servidor. Para forçar TLS no envio para outros servidores, defina smtp_tls_security_level = may ou encrypt conforme o nível de segurança desejado. Reinicie o Postfix após as alterações com systemctl restart postfix e valide com openssl s_client.

O Postfix bloqueia relay de e-mails por padrão no Rocky Linux 9?

Sim. Por padrão, o Postfix no Rocky Linux 9 rejeita relay para domínios não listados em mydestination ou relay_domains, protegendo o servidor contra uso como open relay. Para permitir relay autenticado, configure o SASL com smtpd_sasl_auth_enable = yes e restrinja com permit_sasl_authenticated nas políticas de relay definidas em smtpd_relay_restrictions.

Conclusão

Seguir este checklist garante que o Postfix no Rocky Linux 9 esteja configurado de forma segura, funcional e preparado para produção. Os pontos mais críticos são:

  • Defina corretamente myhostname, mydomain e mynetworks para evitar problemas de identidade e relay aberto — revise esses parâmetros sempre que trocar o hostname do servidor
  • Habilite TLS e SASL antes de expor o servidor à internet — sem criptografia e autenticação, o servidor é vulnerável a interceptação e abuso
  • Configure SPF, rDNS e monitore /var/log/maillog regularmente — registros DNS corretos e monitoramento ativo são a diferença entre e-mails entregues na caixa de entrada e marcados como spam

Leia também

Precisa de ajuda com Postfix e e-mail no servidor Linux?

Configurar um servidor de e-mail com Postfix envolve múltiplas camadas — DNS, TLS, autenticação e firewall. Um VPS com suporte técnico especializado pode acelerar esse processo e reduzir erros de configuração.

Conheça os planos de VPS Linux da AviraHost e configure seu servidor de e-mail com segurança

  • 0 Os usuários acharam isso útil
  • Postfix, Rocky Linux 9, email, SASL, 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...