Mail – Configuration de Postfix pour l’authentification en SMTP

Introduction

Ce document va expliquer la configuration d’un serveur Postfix avec le support TLS et authentification en SASL. Cela permet à un client authentifié d’être relayé sans soucis. Donc plutôt que de permettre aux mails venant de certains plages d’adresses IP, on autorise les mails venant des clients authentifiés.

L’authentification se fera grâce au daemon d’authentification de la suite Courier.

Cela s’applique aussi bien à une distribution Linux, testé sur Debian Sarge & Etch, que sur FreeBSD, testé en 6.2.

Dans ce document, les extraits de fichiers de configuration seront ceux de Debian.

 

Prérequis

Je n’explique pas tout ce qu’il faut pour avoir l’authentification fonctionnelle, cela se trouve dans le document suivant: Configuration de Courier IMAP en backend LDAP qui lui-même s’appuie sur: Configuration de Postfix en backend LDAP. Il y aura donc un peu de lecture !

Sur Debian Sarge, il faudra installer le paquet: postfix-tls, mais sur Debian Etch, cela n’est pas nécessaire, le support TLS est dans le paquet postfix principal que l’on a déjà installé. Dans les deux cas, il nous faudra les paquets sasl2-bin et sasl-bin. Alors que sur FreeBSD, nous devrons installer le port postfix avec au moins l’option SASL2 et TLS au moment de la configuration.

 

Configuration de Postfix

Nous allons devoir ajouter quelques paramètres à notre fichier main.cf et changer une valeur dans le master.cf. Il nous faudra aussi créer un répertoire sasl dans le répertoire de configuration de Postfix et nous y placerons le fichier de configuration du daemon smtpd

 

Le fichier master.cf

La modification est très simple. Il faut désactiver la chroot du daemon smtpd de Postfix sinon il ne pourra pas discuter avec le daemon d’authentification de Courier. c’est pas forcement super propre, j’ai pas la solution propre qui fonctionne pour l’instant.

Donc, trouvez la ligne suivante:

smtp      inet  n       -       -       -       -       smtpd

Et changez la comme ca:

smtp      inet  n       -       n       -       -       smtpd

Le n est dans la colonne chroot qui est activé par défaut, donc on la désactive.

 

Le fichier main.cf

Nous allons maintenant indiquer à Postfix où trouver le certificat et sa clef ainsi que diverses options pour le support de l’authentification.

Voici un extrait de ce fichier

[...]
# Permet de définir qui peut envoyer à faire relayer ses mails
# Les réseaux de confiance et les clients authentifiés en SASL
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
# On active l'authentification SASL
smtpd_sasl_auth_enable = yes
# Permet la compatibilité avec les clients qui ont la vieille méthode d'authentification
broken_sasl_auth_clients = yes
# On met dans le header le login de l'utilisateur authentifié qui envoie le mail
smtpd_sasl_authenticated_header = yes
# On active le TLS
smtpd_use_tls = yes
# Le fichier avec le certificat
smtpd_tls_cert_file = /etc/postfix/smtpd.cert
# Le fichier avec la clef 
smtpd_tls_key_file = /etc/postfix/smtpd.key
[...]

 

Le fichier smtpd.conf

Ce fichier se trouve dans le sous-répertoire sasl du répertoire de configuration principal de Postfix.

Voici son contenu:

# La méthode d'authentification
# Le daemon d'authentification de Courier
pwcheck_method: authdaemond
# Le socket pour aller lui parler
authdaemond_path: /var/run/courier/authdaemon/socket
# Limite des méthodes d'authentification
mech_list: plain login
# On autorise les mots de passe en texte clair
# De toutes facons, on est en crypté par la couche TLS
allow_plaintext: true

 

Application des modifications

Il ne reste plus qu’à redémarrer Postfix. Pour cela, on tape la commande suivante:

/etc/init.d/postfix restart

 

Mot de la fin

Un des aspects pratiques de cette configuration est que l’on peut maintenant se faire relayer ses mails de n’importe où du moment que l’on est authentifié. Mais aussi et surtout, il n’y a pas de compte à gérer… on s’appuie sur les comptes que l’on a crée pour Postfix et Courier en réception.

 

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s