Voltar ao blog

Tutorial de Configuração de Servidor de E-mail: Como Usar Postfix, Dovecot, MySQL e SpamAssassin

Tutorial de Configuração de Servidor de E-mail: Como Usar Postfix, Dovecot, MySQL e SpamAssassin

Introdução

No Ubuntu 20.04, você pode usar ferramentas como Postfix, Dovecot, MySQL, e SpamAssassin para configurar um servidor de e-mail. O processo pode ser confuso para quem está tentando pela primeira vez. Este tutorial tem como objetivo simplificar o processo de configuração do servidor de e-mail para você com etapas detalhadas. Ao final deste tutorial, você saberá como adicionar domínios virtuais, usuários e aliases. Por fim, você tornará seu servidor virtual mais seguro contra hubs de spam.

Pré-requisitos

Antes de começar com a configuração do servidor de e-mail, há alguns pré-requisitos a serem observados. Primeiro, certifique-se de que seu servidor virtual privado tenha um domínio que esteja apontando para o seu servidor. Você também precisa instalar e configurar o MySQL. Além disso, você precisa ter um usuário com privilégios de root concedidos e instalar um certificado SSL. Finalmente, certifique-se de que seu FQDN  esteja configurado e identificado.

Se você instalar seus pacotes como usuário root, terá todos os privilégios. É por isso que recomendamos:

Insira a senha do seu usuário. Neste ponto, você verá o $ símbolo mudar para #. Em seguida, vamos explorar os diferentes aspectos da configuração um por um.

Passo 1: Instalando Pacotes

Começaremos aprendendo como instalar pacotes:

Quando a configuração do Postfix aparecer, selecione Internet Site:

Mail Server postfix config

Você será questionado sobre o System mail nome. Aqui, você pode usar o FQDN ou o domínio principal:

postfix configuration 2

Passo 2: Criando um Banco de Dados MySQL, Domínios Virtuais, Usuários e Aliases

Em seguida, assim que todos os pacotes estiverem instalados, prosseguiremos com a configuração. Nosso objetivo é configurar três tabelas. Uma será para domínios, uma para usuários e outra para aliases. Elas serão hospedadas em um banco de dados MySQL que iremos criar.

Digamos que queremos nomear nosso banco de dados como servermail. Você é livre para usar o nome de sua escolha. Veja como vamos criá-lo:

Você deve fazer login como o usuário root do MySQL:

Em seguida, insira sua senha. Uma tentativa bem-sucedida mostrará isso como resultado:

Em seguida, criaremos um novo usuário especificamente para autenticação de e-mail. Conceda a permissão SELECT da seguinte forma:

Depois disso, recarregue seus privilégios do MySQL para aplicar as permissões com sucesso:

Em seguida, usaremos nosso banco de dados para criar as tabelas e inserir os dados:

Criaremos tabelas individuais para os domínios específicos que são reconhecidos como domínios autorizados:

O objetivo é introduzir os usuários na tabela. Portanto, adicionaremos o endereço de e-mail e a senha relevantes. Lembre-se de que você deve associar cada usuário a um domínio:

Em seguida, criaremos uma tabela para todos os nossos aliases virtuais para especificar todos os e-mails que iremos encaminhar para o outro e-mail:

Ao final deste processo, você terá criado com sucesso três tabelas. Em seguida, temos que introduzir os dados.

  • Domínios Virtuais

Nesta seção, aprenderemos como introduzir domínios dentro da virtual_domains tabela. Especificamente, focaremos em como introduzir o domínio primário (example.com) e o FQDN (hostname.example.com):

  • E-mails Virtuais

Em seguida, insira o endereço de e-mail e as senhas associadas para cada um dos domínios. Certifique-se de que todas as informações sejam alteradas com suas informações específicas:

  • Aliases Virtuais

Agora você pode introduzir o endereço de e-mail para o qual irá encaminhar o outro endereço de e-mail. O primeiro é a origem, enquanto o segundo é o destino:

Depois, você pode sair do MySQL:

Passo 3: Configurando o Postfix

É importante configurar o Postfix para que ele possa gerenciar as conexões SMTP. Ele também deve ser capaz de enviar as mensagens para todos os usuários inseridos no banco de dados MySQL. Vamos começar fazendo uma cópia do arquivo padrão. Isso é para que você possa reverter facilmente para a configuração padrão se e quando necessário:

Agora abra o main.cf para modificá-lo:

Comece comentando os parâmetros TLS e, em seguida, anexe quaisquer outros parâmetros. Em nosso exemplo, estamos usando os certificados SSL gratuitos. Você pode, é claro, alterar a configuração de acordo com suas necessidades:

Em seguida, você anexará esses parâmetros abaixo das configurações de TLS:

Depois disso, temos que comentar as mydestination configurações padrão. Em seguida, iremos substituí-lo por localhost. Com essa alteração, o VPS poderá usar os domínios virtuais na tabela MySQL:

Agora use este comando para verificar se o parâmetro myhostname está definido no seu FQDN:

Além disso, adicione esta linha para ativar a entrega de e-mail local para todos os domínios virtuais listados na tabela:

Por fim, adicionaremos os seguintes parâmetros para instruir o Postfix a configurar os domínios virtuais, usuários e aliases:

Para garantir que não haja erros, compare essas alterações com o seguinte arquivo:

https://www.dropbox.com/s/x9fpm9v1dr86gkw/etc-postfix-main.cf.txt

Depois que tudo isso for verificado, você criará três arquivos para anexar ao arquivo main.cf . O objetivo aqui é dar instruções ao Postfix sobre como se conectar ao MySQL. Para fazer isso, começaremos criando o arquivo mysql-virtual-mailbox-domains.cf . Claro que, no seu arquivo, você fará alterações de acordo com sua configuração pessoal:

Em seguida, reinicie o Postfix:

Você deve garantir que o Postfix seja capaz de encontrar seu domínio. Para testar isso, use este comando:

O comando retornará 1 se for bem-sucedido. Nesse caso, você pode prosseguir criando o arquivo mysql-virtual-mailbox-maps.cf :

Reinicie o Postfix mais uma vez:

Novamente, garantiremos que o Postfix seja capaz de encontrar o primeiro endereço de e-mail. Para testar isso, use o seguinte comando:

Se for bem-sucedido, você obterá um retorno de 1. Sendo assim, passaremos para a criação do último arquivo:

Isso conclui a configuração entre o Postfix e o MySQL. Reinicie o Postfix para aplicar:

Para confirmar que o Postfix está realmente encontrando seus aliases, use este comando:

Idealmente, você deve receber o e-mail que é encaminhado para o alias como saída. Você também pode modificar o /etc/postfix/master.cf arquivo assim se quiser conectar a porta 587 com clientes de e-mail de forma segura:

Aqui está como descomentar certas linhas e anexar parâmetros:

Às vezes, pode ser necessário reiniciar o Postfix para confirmar que a porta está aberta:

Esta ferramenta também pode ser usada para escanear as portas do domínio. Você pode usá-la para verificar se as portas 25 e 587 estão abertas.

Passo 4: Configurando o Dovecot

Agora é hora de configurar o Dovecot. Para esta seção, teremos que copiar os 7 arquivos que você deseja modificar. Isso serve para garantir que você possa reverter as alterações, se necessário. Insira este comando um por um:

Você precisa editar o arquivo de configuração do Dovecot:

Certifique-se de que a opção esteja descomentada:

A seguir, habilitaremos os protocolos abaixo da linha !include_try /usr/share/dovecot/protocols.d/*.protocol . Se desejar, você também pode adicionar pop3:

Para garantir que não haja erros, compare com este arquivo:

https://www.dropbox.com/s/wmbe3bwy0vcficj/etc-dovecot-dovecot.conf.txt

Em seguida, edite o arquivo de confirmação de e-mail:

Localize a linha mail_location . Você precisa descomentá-la e adicionar este parâmetro:

Depois disso, localize a linha mail_privileged_group . Novamente, descomente-a e adicione o parâmetro mail:

Para eliminar qualquer possibilidade de erros, compare com este arquivo:

https://www.dropbox.com/s/hnfeieuy77m5b0a/etc.dovecot.conf.d-10-mail.conf.txt

  • Verificando Permissões

Para verificar as permissões, use este comando:

Certifique-se de que suas permissões apareçam como o seguinte:

Você pode criar uma pasta para cada domínio. Todas essas pastas serão registradas na tabela do MySQL:

Crie um usuário e grupo vmail usando um ID de 5000:

Em seguida, você deve alterar o proprietário da /var/mail pasta para o usuário vmail:

Agora edite o /etc/dovecot/conf.d/10-auth.conf arquivo:

Adicione a seguinte linha após descomentar a autenticação de texto simples:

Use isto para modificar o auth_mechanisms parâmetro:

Agora comente esta linha:

Para ativar a autorização MySQL, você deve descomentar a seguinte linha:

Para detectar e editar erros, use o seguinte arquivo:

https://www.dropbox.com/s/4h472nqrj700pqk/etc.dovecot.conf.d.10-auth.conf.txt

Criar um /etc/dovecot/dovecot-sql.conf.ext arquivo com as suas informações permitirá que você se autentique:

Insira este código no arquivo:

Usaremos as nossas informações personalizadas do MySQL para modificar o /etc/dovecot/dovecot-sql.conf.ext arquivo:

Defina o MySQL como o parâmetro após descomentar o parâmetro driver assim:

Você pode introduzir suas informações específicas do MySQL descomentando a linha connect :

Agora você tem que descomentar a linha default_pass_scheme e alterá-la para SHA-512:

Adicione as seguintes informações após descomentar password_query:

Para detectar erros, use este arquivo para comparar:

https://www.dropbox.com/s/48a5r0mtgdz25cz/etc.dovecot.dovecot-sql.conf.ext.txt

Em seguida, você pode alterar o proprietário e o grupo da pasta dovecot para o usuário vmail:

O próximo passo é modificar o /etc/dovecot/conf.d/10-master.conf arquivo. Você deve ter muito cuidado aqui, pois diferentes parâmetros serão alterados:

Use o seguinte código para alterar o unix_listener parâmetro para service_auth:

Em seguida, você deve editar service auth-worker assim:

Detecte erros comparando com este arquivo:

https://www.dropbox.com/s/g0vnt233obh6v2h/etc.dovecot.conf.d.10-master.conf.txt

O próximo passo é modificarmos o arquivo de configuração SSL do Dovecot. Se você planeja usar a configuração padrão, pode pular esta etapa e ir para a próxima seção:

A seguir, altere o ssl parâmetro para required assim:

Também modificaremos o caminho para ambos ssl_cert e ssl_key:

Reinicie o Dovecot:

Certifique-se de verificar se a porta 993 está aberta. Se você ativou o pop3, então verifique também a porta 995:

Se você concluiu as etapas até este ponto, parabéns! Você configurou seu servidor de e-mail com sucesso. Para garantir que você seguiu todas as etapas corretamente, você pode testar sua conta com a ajuda de um cliente de e-mail assim:

A porta 993 é usada para IMAP seguro e a porta 587/porta 25 para SMTP.

Etapa 5: Configurando o SpamAssassin

Finalmente chegamos à última seção do tutorial, onde configuraremos o SpamAssassin. Começaremos instalando o SpamAssassin:

Crie um usuário para o SpamAssassin assim:

Você deve abrir e modificar as configurações para poder configurar o SpamAssassin:

Agora que você está aqui, deve alterar o ENABLED parâmetro para ativar o daemon do SpamAssassin:

Modifique os parâmetros home e options com este código:

Use esta linha para especificar o PID_File parâmetro:

A seguir, use este comando para indicar que as regras do SpamAssassin serão atualizadas automaticamente:

Verifique se há erros comparando com o seguinte documento:

https://www.dropbox.com/s/ndvpgc2jipdd4bk/etc.default.spamassassin.txt

Se você quiser configurar as regras anti-spam, deve abrir o arquivo /etc/spamassassin/local.cf novamente:

A forma como o SpamAssassin funciona é que ele atribui uma pontuação a cada e-mail recebido pelo usuário. Ele avalia as pontuações dos e-mails e, se for maior que 5.0 em sua verificação de spam, o e-mail é marcado como spam. Aqui estão os parâmetros que você pode usar para configurar essas regras anti-spam:

Assim que as regras anti-spam estiverem definidas, você precisa informar ao Postfix que cada e-mail deve ser verificado com o SpamAssassin. Para este propósito, precisamos modificar o /etc/postfix/master.cf arquivo:

Encontre a seguinte linha e adicione o spamassassin filtro:

Agora você pode anexar estes parâmetros:

Finalmente, inicie o SpamAssassin e reinicie o Postfix para aplicar as alterações. Quando você reiniciar, o Postfix começará a verificar spam nos e-mails:

E é isso! Você configurou com sucesso o seu servidor de e-mail com o Postfix e o Dovecot. Você também realizou a autenticação MySQL e configurou a filtragem de spam com o SpamAssassin.

Conclusão

Este tutorial descreve as etapas que você precisa seguir para realizar a configuração do seu servidor de e-mail com as ferramentas mencionadas acima. Ele pode ser utilizado como um guia abrangente para você configurar seu servidor de e-mail de forma independente. Se você estiver interessado em utilizar o recurso de servidor SMTP do Google, acompanhe este tutorial.

Feliz Computação!

author

Pranay Kapgate

Autor · CloudSigma

Preslav Dobrev é um designer criativo na CloudSigma, focado na construção de uma identidade empresarial consistente por meio de canais de marketing tradicionais e inovadores. Ele é hábil em combinar a visão artística com o marketing estratégico para criar narrativas de marca impactantes.

Comentários

Nenhum comentário ainda. Seja o primeiro.