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