14 min de leitura · Guia técnico
Checklist para configurar servidor de email seguro é uma lista de verificação essencial para implementar um servidor de email robusto no Ubuntu 22.04. Para configurar um servidor de email seguro, siga estes passos:
- Instalar e configurar Postfix como MTA
- Configurar Dovecot para IMAP/POP3
- Implementar certificados SSL/TLS
- Configurar SPF, DKIM e DMARC
- Aplicar configurações de segurança
- Testar e monitorar o funcionamento
Pré-requisitos
- Ubuntu 22.04 LTS com acesso root
- Domínio próprio com controle de DNS
- IP estático não listado em blacklists
- Portas 25, 587, 993 e 995 liberadas no firewall
- Mínimo 2GB RAM e 20GB de armazenamento
- Conhecimento básico de linha de comando Linux
Instalação e configuração do Postfix
O Postfix é o componente principal responsável pelo envio e recebimento de emails. Inicie atualizando o sistema e instalando os pacotes necessários:
sudo apt update && sudo apt upgrade -y
sudo apt install postfix postfix-mysql dovecot-core dovecot-imapd dovecot-pop3d dovecot-lmtpd dovecot-mysql -y
Durante a instalação do Postfix, selecione "Internet Site" e configure seu domínio principal. Após a instalação, edite o arquivo de configuração principal:
sudo nano /etc/postfix/main.cf
Adicione ou modifique as seguintes configurações essenciais:
myhostname = mail.seudominio.com
mydomain = seudominio.com
myorigin = $mydomain
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
home_mailbox = Maildir/
smtpd_banner = $myhostname ESMTP
Configure as opções de segurança SMTP:
smtpd_tls_cert_file = /etc/ssl/certs/mail.crt
smtpd_tls_key_file = /etc/ssl/private/mail.key
smtpd_use_tls = yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_tls_security_level = may
smtp_tls_security_level = may
Reinicie o Postfix para aplicar as configurações:
sudo systemctl restart postfix
sudo systemctl enable postfix
Output esperado: O Postfix deve iniciar sem erros e estar escutando nas portas 25 e 587.
Configuração do Dovecot para acesso IMAP/POP3
O Dovecot gerencia o armazenamento e acesso aos emails através dos protocolos IMAP e POP3. Configure o arquivo principal do Dovecot:
sudo nano /etc/dovecot/dovecot.conf
Descomente e configure as seguintes linhas:
protocols = imap pop3 lmtp
listen = *, ::
base_dir = /var/run/dovecot/
instance_name = dovecot
Configure a autenticação editando o arquivo de autenticação:
sudo nano /etc/dovecot/conf.d/10-auth.conf
Modifique as configurações de autenticação:
disable_plaintext_auth = yes
auth_mechanisms = plain login
!include auth-system.conf.ext
Configure o formato de mailbox no arquivo de mail:
sudo nano /etc/dovecot/conf.d/10-mail.conf
Defina o formato Maildir:
mail_location = maildir:~/Maildir
namespace inbox {
inbox = yes
}
mail_privileged_group = mail
Configure SSL/TLS para o Dovecot:
sudo nano /etc/dovecot/conf.d/10-ssl.conf
Adicione as configurações de certificado:
ssl = required
ssl_cert =
Reinicie o Dovecot:
sudo systemctl restart dovecot
sudo systemctl enable dovecot
Implementação de certificados SSL com Let's Encrypt
Os certificados SSL são fundamentais para criptografar as comunicações do servidor de email. Instale o Certbot para obter certificados gratuitos:
sudo apt install certbot -y
Obtenha certificados para seu domínio de email:
sudo certbot certonly --standalone -d mail.seudominio.com
Crie links simbólicos para os certificados nos locais esperados pelo Postfix e Dovecot:
sudo ln -sf /etc/letsencrypt/live/mail.seudominio.com/fullchain.pem /etc/ssl/certs/mail.crt
sudo ln -sf /etc/letsencrypt/live/mail.seudominio.com/privkey.pem /etc/ssl/private/mail.key
Configure a renovação automática dos certificados:
sudo crontab -e
Adicione a linha para renovação automática:
0 3 * * * /usr/bin/certbot renew --quiet --post-hook "systemctl reload postfix dovecot"
Output esperado: Os certificados devem ser instalados com sucesso e os serviços devem reiniciar automaticamente após a renovação.
Configuração de SPF, DKIM e DMARC
Os protocolos de autenticação de email SPF, DKIM e DMARC são essenciais para evitar que emails sejam marcados como spam. Primeiro, configure o SPF adicionando um registro TXT no DNS:
v=spf1 mx a ip4:SEU_IP_SERVIDOR ~all
Para configurar DKIM, instale o OpenDKIM:
sudo apt install opendkim opendkim-tools -y
Configure o OpenDKIM editando o arquivo principal:
sudo nano /etc/opendkim.conf
Adicione as configurações necessárias:
AutoRestart Yes
AutoRestartRate 10/1h
UMask 002
Syslog yes
SyslogSuccess Yes
LogWhy Yes
Canonicalization relaxed/simple
ExternalIgnoreList refile:/etc/opendkim/TrustedHosts
InternalHosts refile:/etc/opendkim/TrustedHosts
KeyTable refile:/etc/opendkim/KeyTable
SigningTable refile:/etc/opendkim/SigningTable
Mode sv
PidFile /var/run/opendkim/opendkim.pid
SignatureAlgorithm rsa-sha256
UserID opendkim:opendkim
Socket inet:12301@localhost
Crie os diretórios e arquivos de configuração:
sudo mkdir /etc/opendkim
sudo mkdir /etc/opendkim/keys
sudo mkdir /etc/opendkim/keys/seudominio.com
Gere as chaves DKIM:
sudo opendkim-genkey -t -s mail -d seudominio.com -D /etc/opendkim/keys/seudominio.com/
Configure os arquivos de tabelas do OpenDKIM:
echo "mail._domainkey.seudominio.com seudominio.com:mail:/etc/opendkim/keys/seudominio.com/mail.private" | sudo tee /etc/opendkim/KeyTable
echo "*@seudominio.com mail._domainkey.seudominio.com" | sudo tee /etc/opendkim/SigningTable
echo "127.0.0.1" | sudo tee /etc/opendkim/TrustedHosts
Integre o OpenDKIM com o Postfix adicionando ao main.cf:
milter_protocol = 2
milter_default_action = accept
smtpd_milters = inet:localhost:12301
non_smtpd_milters = inet:localhost:12301
Para DMARC, adicione um registro TXT no DNS:
v=DMARC1; p=quarantine; rua=mailto:[email protected]; ruf=mailto:[email protected]; fo=1
Configurações de segurança avançadas
Implemente configurações de segurança adicionais para proteger seu servidor de email contra ataques. Configure rate limiting no Postfix:
sudo nano /etc/postfix/main.cf
Adicione as seguintes configurações de proteção:
smtpd_client_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
smtpd_helo_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_invalid_helo_hostname, reject_non_fqdn_helo_hostname
smtpd_sender_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_non_fqdn_sender, reject_unknown_sender_domain
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination, reject_non_fqdn_recipient, reject_unknown_recipient_domain
Configure limites de conexão e taxa:
anvil_rate_time_unit = 60s
smtpd_client_connection_count_limit = 50
smtpd_client_connection_rate_limit = 30
smtpd_client_message_rate_limit = 20
Instale e configure o Fail2Ban para proteção contra ataques de força bruta:
sudo apt install fail2ban -y
Crie uma configuração específica para email:
sudo nano /etc/fail2ban/jail.local
Adicione as configurações de proteção para email:
[postfix-sasl]
enabled = true
port = smtp,465,submission
filter = postfix-sasl
logpath = /var/log/mail.log
maxretry = 3
bantime = 3600
[dovecot]
enabled = true
port = pop3,pop3s,imap,imaps,submission,465,sieve
filter = dovecot
logpath = /var/log/mail.log
maxretry = 3
bantime = 3600
Testes e monitoramento do servidor
Realize testes abrangentes para verificar se o servidor de email está funcionando corretamente. Teste a conectividade SMTP:
telnet localhost 25
Dentro da sessão telnet, teste o envio:
EHLO localhost
MAIL FROM: [email protected]
RCPT TO: [email protected]
DATA
Subject: Teste
Mensagem de teste.
.
QUIT
Verifique os logs do sistema para identificar problemas:
sudo tail -f /var/log/mail.log
Teste a autenticação IMAP:
openssl s_client -connect localhost:993 -crlf
Use ferramentas online para verificar a configuração:
- mail-tester.com para pontuação de spam
- mxtoolbox.com para verificar registros DNS
- dmarcanalyzer.com para validar DMARC
Configure monitoramento contínuo com scripts de verificação:
sudo nano /usr/local/bin/check-mail-services.sh
Adicione o script de monitoramento:
#!/bin/bash
systemctl is-active --quiet postfix || echo "Postfix down" | mail -s "Mail Alert" [email protected]
systemctl is-active --quiet dovecot || echo "Dovecot down" | mail -s "Mail Alert" [email protected]
mailq | grep -q "Mail queue is empty" || echo "Mail queue has messages" | mail -s "Queue Alert" [email protected]
Torne o script executável e configure no cron:
sudo chmod +x /usr/local/bin/check-mail-services.sh
echo "*/5 * * * * /usr/local/bin/check-mail-services.sh" | sudo crontab -
Problemas comuns e como resolver
Emails sendo rejeitados por outros servidores
Causa: IP novo sem reputação estabelecida ou configuração incorreta de DNS reverso.
Solução: Verifique se o PTR record está configurado corretamente e comece enviando baixo volume de emails para estabelecer reputação gradualmente.
Certificados SSL não renovando automaticamente
Causa: Problemas de permissão ou serviços bloqueando a porta 80 durante a renovação.
Solução: Verifique se a porta 80 está livre durante a renovação e ajuste as permissões dos arquivos de certificado com sudo chown root:ssl-cert /etc/ssl/private/mail.key.
DKIM não validando corretamente
Causa: Chave pública não publicada corretamente no DNS ou configuração incorreta do OpenDKIM.
Solução: Verifique se o registro TXT DKIM está publicado corretamente no DNS usando dig mail._domainkey.seudominio.com TXT e confirme se o OpenDKIM está assinando as mensagens.
Alta utilização de CPU pelo Postfix
Causa: Ataques de spam ou configuração inadequada de rate limiting.
Solução: Implemente configurações mais restritivas de rate limiting e verifique os logs para identificar IPs suspeitos que devem ser bloqueados pelo Fail2Ban.
Perguntas frequentes sobre configuração de servidor de email
Qual a diferença entre Postfix e Dovecot na configuração de email?
Postfix é o MTA (Mail Transfer Agent) responsável por enviar e receber emails entre servidores, enquanto Dovecot é o MDA (Mail Delivery Agent) que gerencia o armazenamento e acesso aos emails via IMAP/POP3. Ambos trabalham juntos para formar um servidor de email completo.
É obrigatório configurar SPF, DKIM e DMARC para evitar spam?
Sim, esses três protocolos são essenciais para autenticação de email moderno. SPF autoriza quais servidores podem enviar emails pelo seu domínio, DKIM assina digitalmente as mensagens, e DMARC define políticas de tratamento para emails não autenticados. Sem eles, seus emails provavelmente cairão em spam.
Quanto tempo demora para um servidor de email ficar totalmente funcional?
A configuração básica leva 2-3 horas, mas a reputação do IP pode demorar semanas para se estabelecer. Provedores como Gmail e Outlook podem inicialmente rejeitar emails de IPs novos. É recomendado começar com baixo volume e aumentar gradualmente.
Posso usar certificados Let's Encrypt para o servidor de email?
Sim, certificados Let's Encrypt funcionam perfeitamente para servidores de email. Você precisa configurar certificados para o domínio principal e subdomínios como mail.seudominio.com. O Certbot pode automatizar a renovação e integração com Postfix e Dovecot.
Como verificar se meu servidor de email está funcionando corretamente?
Use ferramentas como mail-tester.com para testar a pontuação de spam, verifique os logs do Postfix em /var/log/mail.log, teste envio e recebimento via telnet na porta 25, e confirme que IMAP/POP3 respondem nas portas 993/995. Monitore também as filas de email com mailq.
Conclusão
A configuração de um servidor de email seguro no Ubuntu 22.04 requer atenção aos detalhes e implementação de múltiplas camadas de segurança. Seguindo este checklist completo, você terá um servidor robusto e confiável.
- Mantenha sempre os certificados SSL atualizados e monitore sua renovação automática
- Implemente monitoramento contínuo dos serviços e filas de email para detectar problemas rapidamente
- Estabeleça reputação gradualmente começando com baixo volume de envios e aumentando progressivamente
Leia também
- Instalando painel de gerenciamento de hospedagem VirtualMin.
- Como usar a ferramenta oficial de acesso remoto do Windows no PC e celular
- Como acessar o painel de gerenciamento dos meus Serviços.
Precisa de ajuda com servidor de email?
Configurar um servidor de email seguro pode ser complexo e requer conhecimento técnico especializado. Nossa equipe pode ajudar você a implementar uma solução robusta e confiável.