Pesquisa de site

Instale 'iRedMail' (servidor de correio completo) com domínios virtuais, webmail, SpamAssassin e ClamAV no Linux


Depois dos serviços HTTP e Shadow DNS, o correio (SMTP, POP, IMAP e todos os protocolos de correio criptografado relacionados) é um dos serviços mais utilizados na Internet e também um dos mais sensatos, devido ao spam e aos servidores de correio de retransmissão aberta.

Este tutorial irá guiá-lo na instalação de um servidor de e-mail completo com software MTA, MDA e MUA em poucos minutos em RHEL, CentOS, Linux Científico e Debian, Ubuntu, Linux Mint com Postfix, Domínios Virtuais e Usuários com MySQL, Dovecot – suporte para POP3/POP3S, IMAP/IMAPS, Roundcube – Webmail e também verificação de spam e vírus de e-mail com SpamAssassin e ClamAV, todos instalados usando um único pacote de software chamado 'iRedMail'.

O que é iRedMail

iRedMail é uma solução de servidor de e-mail completa de código aberto que pode poupar muito tempo para administradores de sistema em configurações complexas, tem suporte para todas as principais distribuições Linux e vem com os seguintes pacotes Linux.

  1. Postfix: serviço SMTP – MTA padrão.
  2. Dovecot: POP3/POP3S, IMAP/IMAPS, serviço Managesieve – MDA padrão.
  3. Apache: servidor web.
  4. MySQL/PostgreSQL: Armazenamento de dados de aplicativos e/ou contas de correio.
  5. OpenLDAP: Armazenando contas de e-mail.
  6. Policyd: servidor de políticas Postfix.
  7. Amavisd: Uma interface entre Postfix e SpamAssassin, ClamAV. Usado para verificação de spam e vírus.
  8. Roundcube: Webmail – MUA padrão.
  9. Awstats: analisador de log Apache e Postfix.
  10. Fail2ban: verifica arquivos de log (por exemplo, /var/log/maillog) e proíbe IPs que mostram tentativas maliciosas do sistema.

Requisitos

  1. Instalação mínima do CentOS 6.5 – Guia de instalação do CentOS 6.5
  2. Um registro MX DNS válido que aponta para o servidor de e-mail responsável pelo seu nome de domínio.

Além disso, este tutorial foi projetado apenas para fins de teste e aprendizado e não usa registros MX válidos, nem um domínio DNS válido, todas as configurações são feitas localmente usando destinatários virtuais com MySQL (pode receber ou enviar e-mails apenas entre usuários de domínio local – nome de domínio local fornecido a partir do arquivo hosts), mas esteja ciente de que, embora nosso sistema não possa receber e-mails de domínios da Internet, ele pode retransmitir e-mails para esses servidores de e-mail de domínio através do Postfix MTA, mesmo se você residir em um espaço de endereço IP privado , sem registro MX válido e usando um domínio fictício, então preste muita atenção no que você está fazendo.

Etapa 1: configurações iniciais e endereço IP estático

1. Após a primeira reinicialização, faça login com sua conta root e certifique-se de que seu sistema esteja atualizado e instale alguns pacotes úteis necessários para uso posterior.

No RHEL/CentOS/Scientific Linux
yum update && yum upgrade
yum install nano wget bzip2
No Debian/Ubuntu/Linux Mint
apt-get update && apt-get upgrade
apt-get install nano wget bzip2

2. Como esta caixa funciona como um servidor de correio, um IP estático precisa ser configurado na interface de rede. Para adicionar um IP estático, abra e edite o arquivo de configurações da NIC localizado no caminho /etc/sysconfig/network-scripts/ e adicione os seguintes valores.

No RHEL/CentOS/Scientific Linux
nano /etc/sysconfig/network-scripts/ifcfg-eth0

Use este arquivo como modelo e substitua-o pelos seus valores personalizados.

DEVICE="eth0"
BOOTPROTO="static"
HWADDR="00:0C:29:01:99:E8"
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Ethernet"
UUID="7345dd1d-f280-4b9b-a760-50208c3ef558"
NAME="eth0"
IPADDR=192.168.1.40
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=192.168.1.1
DNS2=8.8.8.8

Depois de terminar de editar seu arquivo NIC, abra o arquivo de rede no mesmo local acima e adicione o nome de host não qualificado do servidor na diretiva HOSTNAME.

nano /etc/sysconfig/network-scripts/network

No Debian/Ubuntu/Linux Mint
nano /etc/network/interfaces

Substitua os valores a seguir pelas suas configurações.

auto eth0
iface eth0 inet static
  address 192.168.1.40
  netmask 255.255.255.0
  gateway 192.168.1.1
  dns-nameservers 192.168.1.1
  dns-search 8.8.8.8

Depois de terminar seu arquivo de rede, agora adicione seu nome de host no arquivo /etc/hostname.

nano /etc/hostnames

3. Em seguida, abra o arquivo /etc/resolv.conf e anexe o sistema de servidores IP DNS como na imagem abaixo.

nano /etc/resolv.conf

Adicione o seguinte conteúdo com seus servidores de nomes favoritos.

search mydomain.lan
nameserver 8.8.8.8
nameserver 8.8.8.8

4. Após todas as configurações acima terem sido gravadas em seus arquivos correspondentes, reinicie seu serviço de rede para aplicar as novas configurações e verificá-las usando os comandos ping e ifconfig.

service network restart	[On RedHat based systems]

service networking restart	[On Debian based systems]

ifconfig

5. Agora que sua rede estática está totalmente operacional, edite o arquivo /etc/hosts e adicione seu nome de host não qualificado e FQDN como no exemplo abaixo.

nano /etc/hosts
127.0.0.1   centos.mydomain.lan centos localhost localhost.localdomain
192.168.1.40 centos.mydomain.lan centos

Para verificar o problema de configuração do nome do host, execute os comandos hostname e hostname –f.

hostname
hostname -f

6. Outro pacote útil é o bash-completion (sequência de comandos de preenchimento automático usando a tecla [Tab]) que é fornecido pelo repositório EPEL no RedHat sistemas baseados e, em seguida, atualize suas fontes.

No RHEL/CentOS/Scientific Linux
rpm –Uvh http://fedora.mirrors.romtelecom.ro/pub/epel/6/i386/epel-release-6-8.noarch.rpm
yum repolist && yum upgrade

Depois que suas fontes forem atualizadas, instale o utilitário bash-completion (resposta Sim em todas as perguntas).

yum install bash-completion

No Debian/Ubuntu/Linux Mint

O pacote bash-completion em sistemas baseados em Debian pode ser facilmente instalado usando o seguinte comando.

apt-get install bash-completion

7. A última etapa é adicionar um usuário do sistema com privilégios de root. Primeiro adicione o usuário e configure sua senha.

adduser your_user
passwd your_user

Depois que seu usuário for adicionado, abra o arquivo /etc/sudoers e remova o comentário do grupo %wheel, em seguida, adicione seu usuário recém-criado ao grupo wheel.

nano /etc/sudoers

Pesquise e remova o comentário da linha do grupo da roda para ficar assim.

%wheel                ALL=(ALL)            ALL

Feche o arquivo e adicione seu usuário ao grupo wheel emitindo o seguinte comando.

usermod -aG wheel your_user

8. Antes de começarmos a baixar e instalar o software iRedMail, reinicie o sistema, faça login com o usuário recém-criado e certifique-se de que tudo esteja totalmente funcional.

Passo 2: Instale o iRedMail

9. Para baixar o pacote de arquivos iRedMail você deve visitar a seção oficial da página de download ou você pode usar o comando wget para baixar a última versão ( 0.8.7 no momento em que este artigo foi escrito).

wget https://bitbucket.org/zhb/iredmail/downloads/iRedMail-0.8.7.tar.bz2

10. Depois que o download do arquivo iRedMail terminar, extraia-o usando o seguinte comando.

tar xvjf iRedMail-0.8.7.tar.bz2

11. Em seguida, insira o caminho do diretório iRedMail recém-extraído, marque o script iRedMail.sh com permissões executáveis e execute-o.

cd iRedMail-0.8.7
chmod +x iRedMail.sh
sudo ./iRedMail.sh

12. Após as verificações iniciais do sistema, o programa começa a adicionar o repositório necessário e o primeiro prompt de orientação pergunta se você deseja continuar com a instalação ou abortar. Escolha Sim para continuar.

13. iRedMail usa o formato Maildir para armazenar e-mails no caminho do sistema /var/vmail, onde cria diretórios separados para cada domínio que você anexa para o seu servidor MTA. Se você estiver confortável com esse caminho, clique em Próximo para avançar com as configurações do servidor; caso contrário, forneça o local desejado e então Próximo.

14. Na próxima etapa, escolha seu banco de dados preferido para armazenar nomes de domínios de e-mail e destinatários que se conectarão ao Postfix. Este tutorial se concentra no banco de dados MySQL, então escolha MySQL usando a barra [Espaço] e continue com Avançar e forneça uma senha forte para a conta root do MySQL.

15. Na próxima etapa, adicione seu primeiro nome de domínio virtual. Se você possui um nome de domínio registrado adicionado aqui (adicione apenas o nome de domínio, não o FQDN do sistema).

16. Por padrão, o iRedAdmin cria um usuário administrativo com poderes totais sobre o seu servidor que pode ser acessado através do painel iRedAdmin ou através dos protocolos Dovecot (interface padrão de webmail Roundcube ou qualquer outro software IMAP/POP MUA como SquirrelMail, Rainloop , Microsoft Outlook, Mozilla Thunderbird, Evolution, Mutt, Elm etc.).

Além disso, esta conta administrativa do postmaster é usada pelo sistema para relatar incidentes relacionados às funções de correio ou outras falhas do sistema ou informações úteis – o logwatch geralmente envia suas estatísticas aqui – então escolha uma senha forte e continue com Próximo.

17. Na próxima etapa, escolha seus outros componentes do servidor de e-mail, como o painel administrativo oficial do iRedAdmin para Postfix, chaves de domínio DKIM - (adiciona uma assinatura ao cabeçalho da mensagem avaliando a confiança da mensagem para entrega final ou retransmissões adicionais), Roundcube interface de webmail padrão (se você planeja usar outro agente de entrega de correio, pule Roundcube), PhpMyadmin (se você se sentir confortável com a linha de comando do MySQL, você também deve pular a instalação do PhpMyAdmin), Awstats (estatísticas de log úteis e analisador), Fail2ban (protege seu servidor de ataques de força bruta).

18. Na próxima série de perguntas, dependendo dos componentes opcionais instalados, você deverá responder Sim. Preste atenção extra ao arquivo iRedMail.tips localizado no diretório extraído $HOME porque ele contém informações confidenciais do servidor de e-mail, como nomes de usuário e senhas para aplicativos de servidor, arquivos de configuração de servidor, URL padrão e outras informações importantes.

19. Após o término da instalação, reinicie seu sistema e verifique o arquivo iRedmail.tips para ver as configurações padrão do seu servidor – você deve mover este arquivo para um local seguro. caminho do sistema com 600 permissões.

20. Acesse aplicativos da web padrão nos URLs a seguir.

  1. Webmail Roundcube – https://domain_name ou server_IP/mail/
  2. Painel IRedAdmin – https://domain_name ou server_IP/iredadmin/
  3. PhpMyadmin – https://nome_dominio ou IP_servidor /phpmyadmin/
  4. Awstats – https://domain_name ou server_IP/awstats/awstats.pl?config=web (ou ?config=smtp)
  5. Plugin anti-spam Policyd – https://domain_name ou server_IP/cluebringer/

Etapa 3: configurações iniciais de webmail

21. O painel administrativo do iRedAdmin oferece uma interface básica de webmail onde você pode adicionar domínios virtuais e contas para o seu servidor de e-mail que o Postfix pode controlar através do backend MySQL. Para fazer login no painel iRedAdmin, aponte seu navegador para https://domain_name/iredadmin/ ou https://server_IP/iredadmin/ URL e use as seguintes credenciais padrão.

  1. Nome de usuário: postmaster@seu_nome_do_domínio.tld
  2. Senha: senha do postmaster definida no ponto 16

22. Para adicionar um usuário, navegue até Adicionar -> Usuário e forneça seu nome de usuário, endereço de e-mail e senha desejados. Você também pode configurar a quantidade de espaço que sua caixa de correio de usuário pode suportar com Quota e também pode promover usuários com poderes administrativos no painel iRedAdmin Marcando o usuário como administrador global.

23. A leitura dos e-mails dos usuários é fornecida pela interface web do Roundcube. Para acessá-lo, navegue até https://domain_name/mail ou https://server_IP/mail/ URL e forneça as credenciais de sua conta de e-mail no formato [ e-mail protegido].

Acessando o postmaster da conta de correio administrativo padrão você encontrará dois e-mails iniciais, um deles incluindo informações confidenciais do seu servidor. A partir daqui agora você pode ler e-mails, redigir e enviar e-mails para outros usuários do domínio.

24. Para acessar o servidor Policyd política anti-spam navegue até https://domain_name/cluebringer ou https://server_IP/ clubbringer/ e forneça as seguintes credenciais.

  1. Nome de usuário: [e-mail protegido]
  2. Senha: senha do postmaster

25. Para visualizar as estatísticas do seu servidor de e-mail, navegue até https://mydomain.lan/awstats/awstats.pl/?config=smtp ou https:// mydomain.lan/awstats/awstats.pl e use as seguintes credenciais.

  1. Nome de usuário: [e-mail protegido]
  2. Senha: senha do postmaster

26. Se você deseja verificar as conexões abertas do seu servidor e o estado do daemon de escuta com seus soquetes aferentes, emita os seguintes comandos.

netstat -tulpn   ## numerical view
netstat -tulp    ## semantic view

27. Para depurar outros problemas com transações de correio ou ver seu servidor funcionando em tempo real, você pode usar os seguintes comandos.

tailf /var/log/maillog   ## visualize mail logs in real time
mailq    		   ##  inspect mail queue
telnet    		   ## test your server protocols and security form a different location
nmap                     ## scan your server opened connections from different locations

28. Agora que você implantou um ambiente de e-mail completo, a única coisa que falta, pelo menos neste tópico, é um nome de domínio válido com um registro MX DNS para receber e-mails de outros domínios da Internet, mas o servidor SMTP local pode e irá retransmitir mensagens em outros domínios válidos da Internet, portanto, preste atenção extra para quem você envia e-mails, pois você pode ter problemas ilegais com seu ISP.

Na captura de tela abaixo, você pode ver que enviei um e-mail do meu domínio local inválido para uma das minhas contas google.com e o e-mail foi recebido com sucesso pela minha conta do Google.

Ao contrário de outros serviços de rede onde você os instala e esquece por muito tempo, gerenciar um servidor de e-mail é um trabalho árduo e contínuo devido a problemas relacionados ao serviço de e-mail, como SPAM, retransmissão aberta e devoluções de mensagens.

Links de referência

Página inicial do iRedMail