Mail:Configuration postfix smtp auth
Un article de Free-4ever.
Sommaire |
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.
Dernière modification: Silencer 9 février 2007 à 14:13 (CET)

