Servidor de Email · 4 min read · Sep 09, 2025

Solução Completa de Servidor de Email com Domínios e Usuários Virtuais (Debian Etch, Postfix, Mysql, Dovecot, DSpam, ClamAV, Postgrey, RBL)

Solução Completa de Servidor de Email com Domínios e Usuários Virtuais (Debian Etch, Postfix, MySQL, Dovecot, DSpam, ClamAV, Postgrey, RBL)

Este tutorial é Copyright (c) 2007 por Justin Refice. É derivado de vários guias e material original, listados no final do documento. Você é livre para usar este tutorial sob a licença Creative Commons 2.5 ou qualquer versão posterior.

I. Introdução

Este guia descreve como configurar uma solução completa de email no Debian Linux (todo o código é do Debian Etch). Fui solicitado a projetar uma solução segura, escalável e portátil para uma pequena empresa. Embora o guia faça referência a muitos ‘servidores’, a empresa tinha apenas 4 máquinas físicas, e o Xen foi usado para virtualizar toda a solução. Esse aspecto particular do sistema não é discutido neste guia, embora eu tente incluí-lo na próxima revisão.

Apenas uma observação sobre os nomes dos servidores usados abaixo: Se não precisar ser acessado pela internet, não deixe que seja. Nomes de domínio terminando em internal.example.com são endereços NIC/IP internos… não há como acessá-los diretamente da internet, nem deveria haver. Qualquer servidor que tenha SOMENTE um nome de domínio internal.example.com é um servidor puramente interno e não pode ser acessado diretamente da internet. Todos os servidores não internos têm duas NICs (podem ser duas NICs reais ou virtuais). A primeira NIC tem acesso à internet e é estritamente protegida por firewall. A segunda NIC tem acesso à rede interna e tem um pouco menos de segurança como resultado. Os detalhes de como configurar essas NICs estão fora do escopo deste documento, mas posso atualizá-lo para incluí-los no futuro.

O layout geral dos servidores é:

MX Primário:
NIC1 = Inseguro/Internet = mx-1.example.com
NIC2 = Seguro/Intranet = mx-1.internal.example.com
MTA: Postfix
Filtro de Greylist: Postgrey

MX Secundário:
NIC1 = Inseguro/Internet = mx-2.example.com
NIC2 = Seguro/Intranet = mx-2.internal.example.com
MTA: Postfix
Filtro de Greylist: Postgrey

SMTP+TLS & IMAPS:
NIC1 = Inseguro/Internet = secure-mail.example.com
NIC2 = Seguro/Intranet = secure-mail.internal.example.com
MTA: Postfix (+TLS/SSL)
IMAP: Dovecot (IMAPS)

Servidor de Entrega de Email: postman.internal.example.com
MTA (lmtp): DSPAM
Antivírus: ClamAV
IMAP: Dovecot

Servidor de Banco de Dados: sql-1.internal.example.com
MySQL

Servidor de Arquivos: files-1.internal.example.com
NFS

Servidor de Construção Temporário: build.internal.example.com

O email funciona da seguinte maneira:

Email da internet para seus domínios:

  1. O email chega ao MX Primário ou Secundário na porta 25
  2. O MX consulta o servidor MySQL para ver se o destinatário e o destino do email são válidos:
    a. Destinatário não autorizado - Email é rejeitado (Erro 550)
    b. Destinatário autorizado - Email é permitido continuar
  3. O MX verifica a política de greylist:
    a. Esta é a primeira vez que o email é tentado - Email é rejeitado (Tente Novamente)
    b. Esta não é a primeira vez que o email é tentado - Email é permitido continuar
  4. O MX verifica por violações de cota
    a. A cota do usuário está cheia - Email é devolvido
    b. O usuário tem espaço - Email é entregue
  5. O MX envia o email para o Servidor de Entrega Interno (via LMTP)
  6. O Servidor de Entrega Interno verifica se há Vírus/SPAM
    a. Isto é SPAM - SPAM é marcado e entregue ao LDA para entrega.
    b. Isto é um vírus - Email é rejeitado
    c. Isto NÃO é SPAM e NÃO é VÍRUS - Email é dado ao LDA
  7. O LDA entrega o email
    a. O email é marcado como SPAM - Entregue na diretório “SPAM” no Maildir
    b. O email NÃO é marcado como SPAM - Entregue na caixa de entrada.

Email da internet de seus domínios:

  1. O usuário inicia a conexão com o SMTP Relay na porta 25
  2. O SMTP Relay oferece TLS:
    a. O usuário não usa TLS - Email é rejeitado
    b. O usuário usa TLS - A sessão é permitida continuar
  3. O SMTP Relay oferece AUTH (PLAIN):
    a. O usuário não se autentica/Falha na Autenticação - Email é rejeitado
    b. O usuário se autentica - A sessão é concluída como de costume

Usuários remotos acessam email via IMAPS (IMAP Seguro)

Usuários locais acessam email via IMAP

Se o usuário detectar uma detecção falsa positiva de SPAM, ele encaminha o email para “ham-@.
Se o usuário detectar uma detecção falsa negativa de SPAM, ele encaminha o email para “spam-@.

II. Notas Importantes

Tudo isso pode ser instalado tanto no Debian 4.0 Etch quanto no Ubuntu Feisty Fawn, uma vez que ambos os sistemas são bastante semelhantes. Note, no entanto, que pode haver alguns problemas menores se você usar a versão padrão do Dovecot e do Postfix, mas tentarei anotá-los para você quando surgirem.

Se você é um usuário do Ubuntu, note que não usarei “sudo” na frente de cada comando. Em vez disso, lançarei um shell root usando o comando “sudo -s”.

Instalar software no Ubuntu e Debian é muito fácil, então sempre que possível usaremos a ferramenta apt-get embutida. Quanto menos tivermos que compilar nós mesmos, mais fácil será manter depois.

Então, vamos começar!

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.