![Linux Postifx hostrelay](dummy.png) Par défaut, Postfix est configuré pour envoyer des e-mails directement au serveur de messagerie du destinataire. Cependant, il est parfois nécessaire de configurer Postfix pour utiliser un relais SMTP externe avec authentification LOGIN ou PLAIN. ## Éditer le fichier de configuration principal Le fichier de configuration principal de Postfix est généralement situé dans le répertoire `/etc/postfix/main.cf`. Ouvrez ce fichier à l'aide d'un éditeur de texte et recherchez les directives suivantes : ``` relayhost = smtp_sasl_auth_enable = no ``` ## Configurer le relais SMTP externe Modifiez la directive `relayhost` pour spécifier l'adresse du relais SMTP externe que vous souhaitez utiliser. Par exemple, si le relais SMTP externe est `smtp.example.com` et il écoute sur le port `587`, la directive devrait ressembler à ceci : ``` relayhost = [smtp.example.com]:587 ``` ## Activer l'authentification PLAIN Décommentez la directive `smtp_sasl_auth_enable` en supprimant le # au début de la ligne, puis modifiez sa valeur à `yes` : ``` smtp_sasl_auth_enable = yes ``` ## Configurer les informations d'authentification Ajoutez les informations d'authentification pour le relais SMTP externe en ajoutant les directives suivantes dans le fichier de configuration : ``` smtp_sasl_auth_enable = yes smtpd_sasl_auth_enable = yes smtp_sasl_security_options = noanonymous smtp_sasl_tls_security_options = noanonymous smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtp_use_tls = yes smtp_tls_note_starttls_offer = yes smtp_sasl_mechanism_filter = login, plain ``` Voici ce que font ces options : 1. `smtp_sasl_auth_enable = yes` : Cette option active l'authentification SASL (Simple Authentication and Security Layer) pour les connexions SMTP sortantes. Cela permet à Postfix de s'authentifier auprès du relais SMTP externe en utilisant les informations d'identification fournies. 2. `smtpd_sasl_auth_enable = yes` : Cette option active l'authentification SASL pour les connexions SMTP entrantes. Elle permet à Postfix d'accepter les connexions SMTP entrantes et d'authentifier les clients qui se connectent. 3. `smtp_sasl_security_options = noanonymous` : Cette option spécifie que Postfix n'accepte pas les connexions anonymes lors de l'authentification SASL. Cela garantit que toutes les connexions SMTP doivent fournir des informations d'identification valides. 4. `smtp_sasl_tls_security_options = noanonymous` : Cette option spécifie que lors de l'utilisation de TLS (Transport Layer Security) pour sécuriser les connexions SMTP, les connexions anonymes ne sont pas autorisées. 5. `smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd` : Cette option indique à Postfix où trouver le fichier de hachage contenant les informations d'identification (nom d'utilisateur et mot de passe) pour l'authentification SASL auprès du relais SMTP externe. Dans cet exemple, le fichier `/etc/postfix/sasl_passwd` est utilisé et doit être converti en un fichier de hachage à l'aide de la commande `postmap`. 6. `smtp_use_tls = yes` : Cette option active l'utilisation de TLS pour chiffrer les connexions SMTP sortantes. Elle assure que les communications avec le relais SMTP externe sont sécurisées. 7. `smtp_tls_note_starttls_offer = yes` : Cette option indique à Postfix d'émettre une offre STARTTLS lors de l'établissement d'une connexion SMTP sortante. Cela permet d'initier une négociation TLS avec le relais SMTP externe si celui-ci prend en charge TLS. 8. `smtp_sasl_mechanism_filter = login, plain` : Cette option spécifie les mécanismes d'authentification SASL autorisés pour les connexions SMTP sortantes. Dans cet exemple, seuls les mécanismes "login" et "plain" sont autorisés. Ces options combinées permettent à Postfix de configurer un relais SMTP externe avec authentification PLAIN et d'établir des connexions sécurisées à l'aide de TLS. Cela garantit que les e-mails sont envoyés de manière fiable et en toute sécurité via le relais externe. ## Créer le fichier de mots de passe SASL Créez un fichier `/etc/postfix/sasl_passwd` et ajoutez les informations d'authentification suivantes : ``` [smtp.example.com]:587 username:password ``` Remplacez `smtp.example.com` par l'adresse du relais SMTP externe, `587` par le port utilisé, `username` par votre nom d'utilisateur de messagerie pour le relais SMTP, et `password` par votre mot de passe associé. ## Générer le fichier de hachage des mots de passe SASL Exécutez la commande suivante pour générer le fichier de hachage des mots de passe SASL à partir du fichier `sasl_passwd` : ``` sudo postmap /etc/postfix/sasl_passwd ``` Cette commande va créer un fichier `/etc/postfix/sasl_passwd.db` contenant le hachage des mots de passe. ## Redémarrer POSTFIX