Installer un serveur SMTP relai via POSTFIX

Les entreprises sont de plus en plus friantes d’envois de rapports automatisés, on pensera notamment à Nagios. Pour cela il est nécessaire de posséder un serveur SMTP en interne. Il est souvent préférable que ce serveur SMTP ne demande pas d’authentification, pour plus de simplicité au niveau de la configuration des outils l’utilisant.

Malheureusement, pour lutter contre le SPAM, certains FAI bloquent la possibilité de mettre en place un serveur d’envoi d’email personnel. Il existe cependant un moyen simple pour disposer d’un serveur SMTP personnel : un serveur SMTP relai. Celui-ci n’aura qu’une seule fonction, envoyer vos email vers le serveur SMTP de votre FAI qui s’occupera lui-même de leurs distribution.

Configuration utilisée

  • Distribution : Debian Lenny
  • Serveur SMTP externe : smtp.orange.fr

Installation

apt-get install postfix libsasl2-modules sasl2-bin

Choisir l’option « Système satellite » dans le menu et renseigner l’adresse du serveur (cette étape n’est pas importante car nous allons modifier le fichier de configuration à la main)

Configuration de Saslauthd

Saslauthd est le module qui permet l’authentification sur le serveur SMTP distant (ici : smtp.orange.fr).

nano /etc/default/saslauthd

Changer la ligne « START=no » par défaut

START=yes

Configuration de Postfix

nano /etc/postfix/main.cf

Le fichier minimal d’un relai :

smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no

append_dot_mydomain = no
readme_directory = no

myhostname = monserveur
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
mydestination = monserveur, monserveur.fr, localhost

relayhost = [smtp.orange.fr]:25
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl/orange.conf
smtp_sasl_security_options = noanonymous

mynetworks = 127.0.0.1, 192.168.1.10, 192.168.1.11
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all

  • smtp_sasl_password_maps : le fichier contenant les informations d’authentification
  • mynetworks : contient les adresses IP des machines autorisées à utiliser le serveur SMTP. Il est possible de renseigner des adresses de réseaux (ex: 192.168.1.0/24). Les adresses sont séparées par une virgule.

Il est maintenant nécessaire de définir le nom d’utilisateur et mot de passe pour se connecter au serveur distant. Dans notre exemple, le fichier contenant les identifiants est le suivant :

nano /etc/postfix/sasl/orange.conf

on renseigne le nom de l’utilisateur (USERNAME) et le mot de passe (PASSWORD) du compte de la messagerie d’orange

[smtp.orange.fr]:25 USERNAME:PASSWORD

On protège l’accès en lecture au fichier contenant les informations d’authentification :

chown root:root /etc/postfix/sasl/orange.conf
chmod 600 /etc/postfix/sasl/orange.conf

on va générer maintenant le fichier .db nécessaire au bon fonctionnement de postfix :

postmap /etc/postfix/sasl/orange.conf

On relance Postfix

/etc/init.d/postfix reload

Les logs

Les logs sont situés dan les fichiers /var/log/mail.info, /var/log/mail.err, /var/log/mail.warn

nano /var/log/mail.info

Pour voir les changements en temps réel du fichier de log :

tail -f /var/log/mail.info

File de messages

Voir la file des messages :

mailq

Pour supprimer un message de la queue :

postsuper -d queue_id

Pour supprimer tous les messages de la queue :

postsuper -d ALL

Conclusion

Il ne vous reste plus qu’à configurer vos outils pour utiliser votre nouveau serveur SMTP.

Vus : 2843
Publié par Liberez le tux : 14