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.