PostfixDans notre précédent article, nous avons décrit la configuration de Postfix sur une machine publique dans le but de recevoir les notifications du système ainsi que les mails générés par les applications locales. Aujourd’hui, nous allons essayer d’obtenir un résultat semblable avec un serveur installé dans un réseau local, autrement dit une machine qui n’a pas d’ouverture frontale sur Internet. Pour ce faire, nous allons configurer Postfix comme relais SMTP authentifié.

Installation

Tout comme sur une machine publique, nous avons besoin des paquets postfix et mailx.

$ rpm -q postfix mailx
postfix-2.10.1-7.el7.x86_64
mailx-12.5-19.el7.x86_64

Pour l’authentification, nous utiliserons Cyrus SASL (Simple Authentication and Security Layer, c’est-à-dire « couche d’authentification et de sécurité simple »).

$ rpm -qa | grep cyrus-sasl
cyrus-sasl-lib-2.1.26-23.el7.x86_64
cyrus-sasl-plain-2.1.26-23.el7.x86_64

Configuration initiale

Nous avons abordé la configuration de base du fichier /etc/postfix/main.cf dans notre précédent article. Cette configuration sera adaptée à notre machine locale.

Pour commencer, les directives myhostname et mydomain seront adaptées en fonction du FQDN du serveur.

# Nom d'hôte pleinement qualifié du serveur
myhostname = amandine.microlinux.lan

# Domaine du serveur
mydomain = microlinux.lan

La directive relayhost permettra de définir un relais SMTP.

# Relais
relayhost = mail.microlinux.fr

Bien évidemment, vous allez configurer votre propre FAI ici.

# Relais
relayhost = smtp.votre_fai.fr

Pour la connexion au serveur SMTP, on ajoutera les directives suivantes.

smtp_sasl_auth_enable = yes
smtpd_sasl_auth_enable = yes
smtp_sasl_security_options = noanonymous
smtp_sasl_tls_security_options = noanonymous
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_use_tls = yes
smtp_tls_note_starttls_offer = yes
smtp_sasl_mechanism_filter = login, plain

Le fichier /etc/postfix/sasl_passwd contiendra les paramètres de connexion.

smtp.votre_fai.fr login:mot_de_passe

Générer le fichier sasl_passwd.db avec la commande postmap.

$ sudo postmap sasl_passwd

Pour sécuriser l’installation, il faut impérativement supprimer le fichier sasl_passwdet restreindre les permissions du fichier sasl_passwd.db.

$ sudo rm sasl_passwd
$ sudo chmod 0400 sasl_passwd.db

Prendre en compte les modifications.

$ sudo systemctl restart postfix

Premier test

Envoyer un mail sur un compte externe.

$ mail info@microlinux.fr
Subject: Test Postfix LAN
Ceci est un test.
.
EOT

Vérifier si le mail est bien arrivé à destination.

Postfix LAN

À partir de là, on pourra recevoir toutes les notifications système de la machine par mail.

Utiliser Gmail comme relais SMTP

En temps normal, Gmail fait partie des services qu’il faut éviter au quotidien. En revanche, on peut très bien s’en servir comme relais SMTP pour les alertes des serveurs. Voilà la ligne correspondante pour /etc/postfix/main.cf.

relayhost = smtp.gmail.com:587

Quant aux indications fournies dans /etc/postfix/sasl_passwd, elles ressembleront à ceci.

smtp.gmail.com:587 identifiant@gmail.com:mot_de_passe

Le premier envoi de mail échouera probablement, parce que Google envoie une alerte de sécurité au compte mail. Dans ce cas, il suffit de cliquer sur le bouton de confirmation pour débloquer l’envoi.

Téléchargement

Un modèle de fichier de configuration main.cf.lan pour Postfix est disponible dans mon dépôt Github, dans le répertoire el7/config/postfix.

$ git clone https://github.com/kikinovak/centos

0 commentaire

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.