Relayage sous Postfix en SASL

A quoi sert cet article ?

Maintenant que l'on a vu comment lutter contre le spam, on se retrouve le bec dans l'eau quand on veut envoyer des mails de monitoring à partir d'un serveur@home qui se trouve derrière une connexion ADSL. à destination d'un serveur dédié.

3 problèmes :

Prérequis

Avant toute chose :

Mettez en place dès à présent un alias supplémentaire dans /etc/aliases

root:votre.adresse@free.fr

ou

root:votre.adresse@votre_domaine.com

Regénérez la table des alias :

postalias /etc/aliases

Cas particulier, si vous êtes chez free.. et qu'en plus vous avez débloqué le port 25 sortant : rajoutez simplement relayhost = [smtp.free.fr] dans votre fichier de configuration, tous les mails seront acheminés normalement.

Installation des modules manquant

On commence par installer libsasl2 et libsasl2-modules

aptitude install libsasl2 libsasl2-modules

Parametrage

Modifier le fichier de configuration de postfix /etc/postfix/main.cf :

# RELAIS SMPT sur port 25 en SASL
relayhost = [smtp.fai.fr]

ou sur port de soumission

# RELAIS SMPT sur port  de soumission en SASL
relayhost = [smtp.fai.fr]:587

Remarque : le port de soumission doit être ouvert sur le serveur relais (c'est le cas chez orange)

Pour mettre activer le support du SASL, rajouter les lignes suivantes dans /etc/postfix/main.cf :

#Activer le support SASL pour l'envois de mails
smtp_sasl_auth_enable = yes
smtp_sasl_security_options =
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd

On termine par créer un fichier /etc/postfix/sasl_passwd

Si votre serveur est accessible sur le port 25 :

[smtp.fai.fr] user:passwd

Si votre serveur est accessible sur le port de soumission 587 :

[smtp.fai.fr]:587 user:passwd

En gros, on remet l'intitulé présent dans /etc/postfix/main.cf

Etant donné que le mot de passe est en clair, il faut impérativement en limiter l'accès :

chown root:root /etc/postfix/sasl_passwd && chmod 600 /etc/postfix/sasl_passwd

Il ne reste plus qu'à générer le fichier .db nécessaire au bon fonctionnement de postfix

postmap /etc/postfix/sasl_passwd

On peut recharger postfix

/etc/init.d/postfix reload

Et vérifier que tout fonctionne..

mail root
mail de test
. cc:

En regardant dans le log..puis dans votre boite aux lettre distante

Oct 14 15:26:33 localhost postfix/qmgr[16040]: 46041C4F1D: from=, size=451, nrcpt=1 (queue active)
Oct 14 15:26:34 localhost postfix/smtp[16127]: 46041C4F1D: to=, orig_to=, relay=smtp.fai.fr[xxx.xxx.xxx.xxx]:587, delay=41, delays=41/0.02/0.28/0.21, dsn=2.0.0, status=sent (250 2.0.0 Ok: queued as 34ED054A86)
Oct 14 15:26:34 localhost postfix/qmgr[16040]: 46041C4F1D: removed

Le cas Gmail

Il faut ajouter dans la configuration postfix dans le fichier main.cf :

smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_auth_enable = yes
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
smtp_sasl_security_options =

La dernière ligne est importante, elle retire les options par défaut de postfix, qui ne sont pas compatible avec gmail.

Sources :