SSMTP : Allégez les MTA de vos serveurs

La plupart des distributions Linux incorporent un MTA (Mail Transfert Agent) plutot lourd lors des installations par défaut. Parmi les plus couramment utilisés, nous trouvons « sendmail », l’excellent « Postfix » ou encore « EXIM ». La configuration de ces outils, simplement destinés à remonter par mail les informations depuis les serveurs, peut être plus ou moins complexe et il est bon de s’interroger sur la pertinence d’un service supplémentaire à gérer et administrer sur des systèmes minimaux.

L’objectif du MTA installé par défaut étant, dans la majeure partie des cas, de forwarder les mails vers un serveurs SMTP plus véloce, la mise en place d’un outil simpliste et minimal répondra aux besoins de la plupart des administrateurs.

C’est en partant de ce principe que le déploiement de SSMTP peut commencer…

SSMTP est un « émulateur » de sendmail destiné UNIQUEMENT à l’envoi de mails dans le respect des standards. Il ne tourne pas en tans que service, ne consomme que très (très) peut de ressource et suffit amplement dans la plupart des cas à des remontées d’alerte rapide. Sa configuration est simple et minimale.

Il est disponible sur la plupart des distributions, et remplace avantageusement les MTA par défaut.

Configuration

La configuration de SSMTP est contenue dans deux fichiers « ssmtp.conf » et « revaliases » habituellement localisé dans « /etc/ssmtp ».

Les tâches déléguées à l’outil étant simple, le fichier de configuration l’est tout autant. Il ce compose d’un nombre restreint d’options (fichier /etc/ssmtp/ssmtp.conf):

### CONFIGURATION GENERALE ###
MailHub=smtp.admin-linux.fr:465        # Serveur SMTP vers lequel forwarder les mails
RewriteDomain=admin-linux.fr           # Domaine depuis lequel est envoyé le mail
Hostname=backup.rez0.lan               # Nom de la machine
FromLineOverride=yes                   # Ré écriture de l'expéditeur (champ from)
Root=fhh                               # re dirige les mails à destination de "root" vers "fhh"
 
### CONFIGURATION DE L'AUTHENTIFICATION ###
UseTLS=yes                             # Utilisation d'une connexion sécurisée SSL ou TLS
AuthUser=fhh                           # Nom d'utilisateur pour l'authentification smtp
AuthPass=Mon Password                  # Le mot de passe associé
AuthMethod=CRAM-MD5                    # Type d'authentification (facultatif)

Par défaut, « UseTLS » est à « no » et si « AuthUser » n’est pas renseigné, SSMTP n’utilise pas l’authentification sur le serveur précisé dans « MailHub ».

Un tel fichier forwardera tous les mails à destination de « root » vers « fhh@admin-linux.fr » sur le serveur « smtp.admin-linux.fr » en ssl avec authentification.

Définition d’alias

Afin de faciliter les remontées de logs, il est possible de définir un certain nombre d’alias dans le fichier « /etc/ssmtp/revaliases » :

### DEFINITION DES ALIAS ###
fhh:fhh@admin-linux.fr
postmaster:fhh@admin-linux.fr
webmaster:fhh@e-galaxie.org:smtp.e-galaxie.org:25
admin:fhh

Au travers du fichier revaliases, vous pouvez :

  • définir l’adresse de redirection des mails à destination d’utilisateurs (d’alias) locaux ;
  • demander à utiliser un autre serveur smtp que celui définit par défaut ;
  • rediriger les mails à destination d’un utilisateur vers un autre alias ;
  • etc.

Ce qui donne au final lors de l’envoi d’un mail :

17:06 backup ~ # mail -s "Test de mail" admin@backup.rez0.lan
Essais de mail !
.
Cc:

les logs suivant :

Nov 13 17:11:03 backup -su: HISTORY: PID=25717 UID=0 mail -s "Test de mail" admin@backup.rez0.lan
Nov 13 17:11:34 backup sSMTP[25804]: Sent mail for fhh@admin-linux.fr (221 2.0.0 Bye) uid=0 username=root outbytes=402

Références

Man SSMTP : http://linux.die.net/man/8/ssmtp
Man ssmtp.conf : http://linux.die.net/man/5/ssmtp.conf

2 réflexions au sujet de « SSMTP : Allégez les MTA de vos serveurs »

  1. Hello,

    Ca faisait longtemps lol. Est-ce que tu connais msmtp ? Comme je suis débutant, je suis tombé dessus par hasard avant de tomber sur ssmtp. Les deux ont l’air d’être parfaitement maintenus. Si tu as fait la comparaison entre les deux et que tu as séléctionné ssmtp, peux-tu expliquer pourquoi ?

    Merci, Tcho !

    P.S : Encore bravo pour tes articles !

    1. Salut El Cascador,

      Je ne me suis pas réellement penché sur msmtp http://msmtp.sourceforge.net/ et ai utilisé ssmtp car il m’était imposé par la structure sur laquelle je bossais. L’outils m’avais paru sympa d’où l’article.

      J’ai regardé du côté d’msmtp et il ne semble pas mal du tout en effet. L’utilisation d’un SMPTS à l’ai plutôt simple, et l’outil paraît complet.

      Sur mes serveurs, j’avoue être revenu à postfix avec une configuration ligth (voir POSTFIX : Configuration MTA Simple ) qui présente un intérêt majeur : une « mailqueue » ! (à voir sur msmtp mais absente de ssmtp).

      Merci de tes retours, et si tu te penche plus en détail sur msmtp, n’hésite pas à faire un petit article 😉 Les colones d’Admin Linux sont ouvertes à tous 😀

      FHH

Laisser un commentaire

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