Configurar Postfix MTA e IMAP / POP3

Para enviar um e-mail de nosso servidor CentOS 7, precisaremos da configuração para configurar um Agente de Transferência de Correio (MTA) moderno. O Mail Transfer Agent é o daemon responsável por enviar mensagens de saída para usuários do sistema ou domínios da Internet corporativos via SMTP.

É importante notar que este tutorial ensina apenas o processo de configuração do daemon para uso local. Não entramos em detalhes sobre a configuração avançada para configurar um MTA para operações comerciais. Esta é uma combinação de muitas habilidades, incluindo, mas não se limitando a: DNS, obtenção de um endereço IP estático roteável que não está na lista negra e definição de configurações avançadas de segurança e serviço. Resumindo, este tutorial visa familiarizá-lo com a configuração básica. Não use este tutorial para configuração do MTA de um host voltado para a Internet.

Com seu foco combinado em segurança e facilidade de administração, escolhemos Postfixcomo o MTA para este tutorial. O MTA padrão instalado nas versões anteriores do CentOS é o Sendmail .Sendmailé um ótimo MTA. No entanto, na humilde opinião do autor, o Postfix atinge um ponto ideal ao abordar as seguintes notas para um MTA. Com a versão mais atual do CentOS, o Postfix substituiu o Sendmail como o MTA padrão.

Postfix é um MTA amplamente utilizado e bem documentado. É mantido e desenvolvido ativamente. Ele requer configuração mínima em mente (isso é apenas e-mail) e é eficiente com recursos do sistema (novamente, isso é apenas e-mail).

Step 1 - Instale o Postfix a partir do Gerenciador de pacotes YUM.

[root@centos]# yum -y install postfix

Step 2 - Configure o arquivo de configuração do Postfix.

O arquivo de configuração Postfix está localizado em: /etc/postfix/main.cf

Em uma configuração Postfix simples, o seguinte deve ser configurado para um host específico: nome do host, domínio, origem, inet_interfaces e destino.

Configure the hostname- O nome do host é um nome de domínio totalmente qualificado do host Postfix. No capítulo OpenLDAP, chamamos a caixa CentOS: centos no domínio vmnet.local . Vamos ficar com isso neste capítulo.

# The myhostname parameter specifies the internet hostname of this
# mail system. The default is to use the fully-qualified domain name
# from gethostname(). $myhostname is used as a default value for many
# other configuration parameters.
#
myhostname = centos.vmnet.local

Configure the domain- Conforme declarado acima, o domínio que usaremos neste tutorial é vmnet.local

# The mydomain parameter specifies the local internet domain name.
# The default is to use $myhostname minus the first component.
# $mydomain is used as a default value for many other configuration
# parameters.
#
mydomain = vmnet.local

Configure the origin - Para configurar um único servidor e domínio, precisamos apenas descomentar as seguintes seções e deixar as variáveis ​​Postfix padrão.

# SENDING MAIL
#
# The myorigin parameter specifies the domain that locally-posted
# mail appears to come from. The default is to append $myhostname,
# which is fine for small sites.  If you run a domain with multiple
# machines, you should (1) change this to $mydomain and (2) set up
# a domain-wide alias database that aliases each user to
# [email protected].
#
# For the sake of consistency between sender and recipient addresses,
# myorigin also specifies the default domain name that is appended
# to recipient addresses that have no @domain part. 
#
myorigin = $myhostname
myorigin = $mydomain

Configure the network interfaces- Deixaremos o Postfix escutando em nossa única interface de rede e todos os protocolos e endereços IP associados a essa interface. Isso é feito simplesmente deixando as configurações padrão habilitadas para Postfix.

# The inet_interfaces parameter specifies the network interface
# addresses that this mail system receives mail on.  By default,
# the software claims all active interfaces on the machine. The
# parameter also controls delivery of mail to user@[ip.address].
#
# See also the proxy_interfaces parameter, for network addresses that
# are forwarded to us via a proxy or network address translator.
#
# Note: you need to stop/start Postfix when this parameter changes. 
#
#inet_interfaces = all
#inet_interfaces = $myhostname
#inet_interfaces = $myhostname, localhost
#inet_interfaces = localhost
# Enable IPv4, and IPv6 if supported
inet_protocols = all

Step 3 - Configurar suporte SASL para Postfix.

Sem suporte à autenticação SASL, o Postfix só permitirá o envio de e-mail de usuários locais. Ou apresentará um erro de relaying denied quando os usuários enviarem e-mail para fora do domínio local.

Note - SASL ou Simple Application Security Layer Frameworké uma estrutura projetada para autenticação que oferece suporte a diferentes técnicas entre diferentes protocolos da camada de aplicativo. Em vez de deixar os mecanismos de autenticação para o protocolo da camada de aplicativo, os desenvolvedores SASL (e consumidores) utilizam os protocolos de autenticação atuais para protocolos de nível superior que podem não ter a conveniência ou uma autenticação mais segura (quando se trata de acesso a serviços protegidos) incorporada.

Instale o pacote "cyrus-sasl *

[root@centos]# yum -y install  cyrus-sasl 
Loaded plugins: fastestmirror, langpacks 
Loading mirror speeds from cached hostfile 
 * base: repos.forethought.net 
 * extras: repos.dfw.quadranet.com 
 * updates: mirrors.tummy.com 
Package cyrus-sasl-2.1.26-20.el7_2.x86_64 already installed and latest version
Nothing to do

Configure /etc/postfix/main.cf para SASL Auth

smtpd_sasl_auth_enable = yes
smtpd_recipient_restrictions =
permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination
smtpd_sasl_security_options = noanonymous
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth

Minhas opções SASL em main.conf

##Configure SASL Options Entries:
smtpd_sasl_auth_enable = yes
smptd_recipient_restrictions =
permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination
smtp_sasl_type = dovecot
smtp_sasl_path = private/auth/etc

Step 4 - Configure o FirewallD para permitir a entrada de serviços SMTP.

[root@centos]# firewall-cmd --permanent --add-service=smtp 
success

[root@centos]# firewall-cmd --reload 
success

[root@centos]#

Agora vamos verificar se nosso host CentOS está permitindo e respondendo às solicitações na porta 25 (SMTP).

Nmap scan report for 172.16.223.132 
Host is up (0.00035s latency). 
Not shown: 993 filtered ports 
PORT    STATE  SERVICE 
   20/tcp  closed ftp-data 
   21/tcp  open   ftp 
   22/tcp  open   ssh 
   25/tcp  open   smtp 
   80/tcp  open   http 
   389/tcp open   ldap 
   443/tcp open   https 
MAC Address: 00:0C:29:BE:DF:5F (VMware)

Como você pode ver, o SMTP está escutando e o daemon está respondendo às solicitações de nossa LAN interna.

Instale Dovecot IMAP e servidor POP3

Dovecot é um servidor IMAP e POP3 seguro projetado para lidar com as necessidades de entrada de emails de uma organização menor ou maior. Devido ao seu uso prolífico com CentOS, estaremos usando Dovecot como um exemplo de instalação e configuração de um servidor de email de entrada para CentOS e MTA SASL Provider.

Conforme observado anteriormente, não configuraremos registros MX para DNS nem criaremos regras seguras que permitam que nossos serviços gerenciem e-mails para um domínio. Conseqüentemente, apenas configurar esses serviços em um host voltado para a Internet pode deixar espaço para brechas de segurança sem registros SPF.

Step 1 - Instale Dovecot.

[root@centos]# yum -y install dovecot

Step 2 - Configure dovecot.

O arquivo de configuração principal do dovecot está localizado em: /etc/dovecot.conf . Primeiro, faremos backup do arquivo de configuração principal. É uma boa prática sempre fazer backup dos arquivos de configuração antes de fazer edições. Desta forma, as quebras de linha de id (por exemplo) são destruídas por um editor de texto e anos de alterações são perdidos. Reverter é tão fácil quanto copiar o backup atual para a produção.

Ativar protocolos e serviço daemon para dovecot

# Protocols we want to be serving. 
protocols = imap imaps pop3 pop3s

Agora, precisamos habilitar o daemon dovecot para escutar na inicialização -

[root@localhost]# systemctl start  dovecot 
[root@localhost]# systemctl enable dovecot

Vamos nos certificar de que o Dovecot esteja escutando localmente nas portas especificadas para: imap, pop3, imap protected e pop3 secure.

[root@localhost]# netstat -antup | grep dovecot 
 tcp        0        0 0.0.0.0:110        0.0.0.0:*        LISTEN        4368/dovecot
 tcp        0        0 0.0.0.0:143        0.0.0.0:*        LISTEN        4368/dovecot
 tcp        0        0 0.0.0.0:993        0.0.0.0:*        LISTEN        4368/dovecot
 tcp        0        0 0.0.0.0:995        0.0.0.0:*        LISTEN        4368/dovecot
 tcp6       0        0 :::110                :::*          LISTEN        4368/dovecot
 tcp6       0        0 :::143                :::*          LISTEN        4368/dovecot
 tcp6       0        0 :::993                :::*          LISTEN        4368/dovecot
 tcp6       0        0 :::995                :::*          LISTEN        4368/dovecot

[root@localhost]#

Como visto, o dovecot está escutando nas portas especificadas para IPv4 e IPv4.

POP3 110
POP3s 995
IMAP 143
IMAPs 993

Agora, precisamos fazer algumas regras de firewall.

[root@localhost]# firewall-cmd --permanent --add-port=110/tcp 
success
 
[root@localhost]# firewall-cmd --permanent --add-port=143/tcp 
success
 
[root@localhost]# firewall-cmd --permanent --add-port=995/tcp 
success
 
[root@localhost]# firewall-cmd --permanent --add-port=993/tcp 
success
 
[root@localhost]# firewall-cmd --reload 
success
 
[root@localhost]#

Nosso servidor de e-mail de entrada está aceitando solicitações de POP3 , POP3s , IMAP e IMAPs para hosts na LAN.

Port Scanning host: 192.168.1.143

   Open TCP Port:   21          ftp 
   Open TCP Port:   22          ssh 
   Open TCP Port:   25          smtp 
   Open TCP Port:   80          http 
   Open TCP Port:   110         pop3 
   Open TCP Port:   143         imap 
   Open TCP Port:   443         https 
   Open TCP Port:   993         imaps 
   Open TCP Port:   995         pop3s