Configurer Postfix MTA et IMAP / POP3
Afin d'envoyer un e-mail à partir de notre serveur CentOS 7, nous aurons besoin de la configuration pour configurer un agent de transfert de courrier (MTA) moderne. Mail Transfer Agent est le démon responsable de l'envoi du courrier sortant pour les utilisateurs du système ou les domaines Internet d'entreprise via SMTP.
Il est à noter que ce tutoriel enseigne uniquement le processus de configuration du démon pour une utilisation locale. Nous n'entrons pas dans les détails sur la configuration avancée pour la mise en place d'un MTA pour les opérations commerciales. Il s'agit d'une combinaison de nombreuses compétences, y compris, mais sans s'y limiter: DNS, obtention d'une adresse IP routable statique qui n'est pas sur liste noire et configuration des paramètres de sécurité et de service avancés. En bref, ce tutoriel est destiné à vous familiariser avec la configuration de base. N'utilisez pas ce didacticiel pour la configuration MTA d'un hôte connecté à Internet.
Avec son accent combiné sur la sécurité et la facilité d'administration, nous avons choisi Postfixen tant que MTA pour ce didacticiel. Le MTA par défaut installé dans les anciennes versions de CentOS est Sendmail .Sendmailest un excellent MTA. Cependant, de l'humble opinion de l'auteur, Postfix atteint un point idéal en adressant les notes suivantes pour un MTA. Avec la version la plus récente de CentOS, Postfix a remplacé Sendmail comme MTA par défaut.
Postfix est un MTA largement utilisé et bien documenté. Il est activement maintenu et développé. Il nécessite une configuration minimale à l'esprit (il ne s'agit que d'un courrier électronique) et est efficace avec les ressources système (encore une fois, il ne s'agit que d'un courrier électronique).
Step 1 - Installez Postfix depuis YUM Package Manager.
[root@centos]# yum -y install postfix
Step 2 - Configurer le fichier de configuration de Postfix.
Le fichier de configuration de Postfix se trouve dans: /etc/postfix/main.cf
Dans une configuration Postfix simple, les éléments suivants doivent être configurés pour un hôte spécifique: nom d'hôte, domaine, origine, inet_interfaces et destination.
Configure the hostname- Le nom d'hôte est un nom de domaine complet de l'hôte Postfix. Dans le chapitre OpenLDAP, nous avons nommé la boîte CentOS: centos sur le domaine vmnet.local . Tenons-nous-en à cela pour ce chapitre.
# 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- Comme indiqué ci-dessus, le domaine que nous utiliserons dans ce tutoriel est 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 - Pour une configuration de serveur et de domaine unique, il suffit de décommenter les sections suivantes et de laisser les variables Postfix par défaut.
# 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- Nous laisserons Postfix à l'écoute sur notre interface réseau unique et tous les protocoles et adresses IP associés à cette interface. Cela se fait en laissant simplement les paramètres par défaut activés pour 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 - Configurer la prise en charge SASL pour Postfix.
Sans la prise en charge de l'authentification SASL, Postfix autorisera uniquement l'envoi d'e-mails à partir d'utilisateurs locaux. Ou cela donnera une erreur de refus de relais lorsque les utilisateurs envoient des e-mails à partir du domaine local.
Note - SASL ou Simple Application Security Layer Frameworkest un cadre conçu pour l'authentification prenant en charge différentes techniques parmi différents protocoles de la couche application. Au lieu de laisser les mécanismes d'authentification au protocole de la couche application, les développeurs (et les consommateurs) SASL exploitent les protocoles d'authentification actuels pour les protocoles de niveau supérieur qui peuvent ne pas avoir la commodité ou une authentification plus sécurisée (en parlant d'accès aux services sécurisés) intégrée.
Installez le package «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
Configurer /etc/postfix/main.cf pour 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
Mes options SASL dans 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 - Configurez FirewallD pour autoriser les services SMTP entrants.
[root@centos]# firewall-cmd --permanent --add-service=smtp
success
[root@centos]# firewall-cmd --reload
success
[root@centos]#
Maintenant, vérifions pour nous assurer que notre hôte CentOS autorise et répond aux demandes sur le port 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)
Comme vous pouvez le voir, SMTP écoute et le démon répond aux demandes de notre LAN interne.
Installez Dovecot IMAP et POP3 Server
Dovecot est un serveur IMAP et POP3 sécurisé conçu pour gérer les besoins de courrier entrant d'une organisation plus petite à plus grande. En raison de son utilisation prolifique avec CentOS, nous utiliserons Dovecot comme exemple d'installation et de configuration d'un serveur de messagerie entrant pour CentOS et MTA SASL Provider.
Comme indiqué précédemment, nous ne configurerons pas les enregistrements MX pour DNS ni ne créerons de règles sécurisées permettant à nos services de gérer le courrier d'un domaine. Par conséquent, la simple configuration de ces services sur un hôte faisant face à Internet peut laisser une marge de manœuvre pour des failles de sécurité sans enregistrements SPF.
Step 1 - Installez Dovecot.
[root@centos]# yum -y install dovecot
Step 2 - Configurer le pigeonnier.
Le fichier de configuration principal de dovecot se trouve dans: /etc/dovecot.conf . Nous allons d'abord sauvegarder le fichier de configuration principal. Il est recommandé de toujours sauvegarder les fichiers de configuration avant d'effectuer des modifications. De cette façon, les sauts de ligne id (par exemple) sont détruits par un éditeur de texte, et des années de modifications sont perdues. La restauration est simple comme la copie de la sauvegarde actuelle en production.
Activer les protocoles et le service démon pour dovecot
# Protocols we want to be serving.
protocols = imap imaps pop3 pop3s
Maintenant, nous devons activer le démon dovecot pour écouter au démarrage -
[root@localhost]# systemctl start dovecot
[root@localhost]# systemctl enable dovecot
Assurons-nous que Dovecot écoute localement sur les ports spécifiés pour: imap, pop3, imap secure et 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]#
Comme on le voit, dovecot écoute sur les ports spécifiés pour IPv4 et IPv4.
POP3 | 110 |
POP3 | 995 |
IMAP | 143 |
IMAP | 993 |
Maintenant, nous devons établir des règles de pare-feu.
[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]#
Notre sever de courrier entrant accepte les demandes de POP3 , POP3s , IMAP et IMAP aux hôtes sur le réseau local.
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