EV Observe - Configurer un relais SMTP authentifié sur une Box

Modifié le 05/06/2023 20:15

Un client ne disposant pas de serveur de messagerie, ou disposant d'un serveur nécessitant une authentification pour accepter de relayer les messages, doit configurer EV Observe pour utiliser un relais SMTP authentifié.

Remarques

  • L'authentification avec chiffrement est utilisée comme relais sur les serveurs SMTP du FAI Orange.

Bonnes pratiques

  • Si vous souhaitez utiliser Microsoft 365 comme relais SMTP afin d'envoyer des e-mails à partir d'une Box, reportez-vous à l'intégration dédiée.

Procédures

Comment configurer un relais SMTP avec une authentification sans chiffrement

Étape 1 : Création du fichier de configuration passwd.client

1. Créez le fichier de configuration, en exécutant la commande ci-dessous.

nano /etc/exim4/passwd.client

2. Ajoutez les lignes ci-dessous.

Remplacez :

  • {your_email_address} par votre adresse de messagerie, sous la forme user@client.dom
  • {password} par le mot de passe de votre compte

# password file used when the local exim is authenticating to a remote host as a client.
# see exim4_passwd_client(5) for more documentation
#
# Example:
# target.mail.server.example:login:password
#
*:{your_email_address}:{password}

Étape 2 : Désactivation de IPv6 au niveau d'Exim4

1. Ouvrez le fichier de configuration /etc/exim4/exim4.conf.template.

2. Recherchez le bloc de lignes ci-dessous.

# Macro defining the main configuration directory.
# We do not use absolute paths.
.ifndef CONFDIR
CONFDIR = /etc/exim4
.endif

3. Ajoutez juste après la ligne ci-dessous.

disable_ipv6 = true

4. Enregistrez les modifications.
 

Étape 3 : Configuration de l’envoi des e-mails avec le service de messagerie Exim4

1. Lancez l'outil de configuration d'Exim4, en exécutant les commandes ci-dessous.

sudo su -
cd /root/vsb_installation
./vsb_installation.pl

2. Passez les étapes de configuration du réseau et de configuration Provider, via la touche <Enter>.

3. Effectuez la configuration de l’envoi des e-mails avec le service de messagerie Exim4.

  • Tapez y puis la touche <Enter> sur la dernière étape du script.
  • Renseignez les informations suivantes, en validant chaque réponse par <OK>.
    • Utiliser la configuration : Sélectionnez l'option envoi par relais (smarthost)-pas de courrier local.
    • Nom du courriel du système : Indiquez le nom de votre réseau local en fonction de votre domaine (client.dom).
       
    • Liste des adresses IP : Saisissez les adresses 127.0.0.1 ; ::1. Note : Séparez les adresses par des points-virgules.
    • Autres destinations dont le courriel doit être accepté : Ne saisissez aucune valeur.
    • Nom de domaine visible pour les utilisateurs locaux : Indiquez le nom de votre réseau local en fonction de votre domaine (client.dom).
       
    • Nom réseau ou adresse IP du systeme smarthost : Saisissez la valeur {your_relay_address}::{your_relay_port}, en remplaçant les valeurs en jaune par celles de votre environnement.
       
    • Faut-il minimiser les requêtes DNS (connexions à la demande) ? : Sélectionnez la valeur Non.
    • Faut-il séparer la configuration dans plusieurs fichiers : Sélectionnez la valeur Non.

À la fin de la configuration, Exim4 redémarre automatiquement. Le serveur de messagerie est opérationnel.
 

Étape 4 : Fin de la configuration

1. Configurez les adresses mails.

  • Ouvrez le fichier de configuration /etc/email-addresses.
  • Ajoutez les lignes ci-dessous.
    Remplacez {your_email_address} par votre adresse de messagerie, sous la forme user@partenaire.dom.

nagios: {your_email_address}
root: {your_email_address}

2. Configurez les alias.

  • Ouvrez le fichier de configuration /etc/aliases.
  • Modifiez la ligne ci-dessous pour l'utilisateur root.

root: :blackhole:

3. Redémarrez Exim4, en exécutant la commande ci-dessous.

service exim4 restart

Comment configurer un relais SMTP avec une authentification avec chiffrement

Étape 1 : Activation du chiffrement de la communication par TLS

1. Ouvrez le fichier de configuration localmacros, en exécutant la commande ci-dessous.

nano /etc/exim4/exim4.conf.localmacros

2. Ajoutez la ligne ci-dessous.

MAIN_TLS_ENABLE = 1

3. Enregistrez les modifications.
 

Étape 2 : Création du fichier de configuration client_smtp_auth.txt

1. Créez le fichier de configuration, en exécutant la commande ci-dessous.

nano /etc/exim4/client_smtp_auth.txt

2. Ajoutez les lignes ci-dessous, en remplaçant :

  • {your_email_address} par votre adresse de messagerie, sous la forme user@client.dom
  • {password} par le mot de passe de votre compte

IP-SMARTHOST/32 : require_ssl= true/false, type= login,plain, user={your_email_address}, pass={password}

3. Enregistrez les modifications.
 

Étape 3 : Mise à jour du fichier de configuration exim4.conf

1. Regénerez le fichier de configuration /var/lib/exim4/config.autogenerated, en exécutant la commande ci-dessous.

update-exim4.conf

2. Copiez le fichier config.autogenerated dans le fichier exim4.conf, en exécutant la commande ci-dessous.

cp /var/lib/exim4/config.autogenerated /etc/exim4/exim4.conf

3. Ouvrez le fichier de configuration exim4.conf, en exécutant la commande ci-dessous.

nano /etc/exim4/exim4.conf

4. Recherchez le bloc de lignes ci-dessous.

 #
 # WARNING WARNING WARNING
 # This file is generated dynamically from the files in
 # the conf.d/ directory, or from exim4.conf.template respectively.
 # Additional information is read from update-exim4.conf.conf
 # This version of the file was created from the directory /etc/exim4
 # Any changes you make here will be lost.
 # See /usr/share/doc/exim4-base/README.Debian.gz and update-exim4.conf(8)
 # for instructions of customization.
 # WARNING WARNING WARNING
 
#

5. Ajoutez juste après les lignes ci-dessous.

AUTH_CLIENT_DATA = /etc/exim4/client_smtp_auth.txt
AUTH_CLIENT_USERNAME = ${extract{user}{AUTH_CLIENT_SEND_DATA}}
AUTH_CLIENT_PASSWORD = ${extract{pass}{AUTH_CLIENT_SEND_DATA}}
AUTH_CLIENT_REQUIRED = ${filter{${readfile{AUTH_CLIENT_DATA}{:}}}{match{$item}{\N^\s*\d{1,3}(?:\.\d{1,3}){3}(?:/[0-9]{1,2})?\s*$\N}}}
AUTH_CLIENT_REQUIRE_SSL = ${filter{${sg{${filter{<\n${readfile{AUTH_CLIENT_DATA}}}{match{${extract{require_ssl}{$item}}}{\N^(?i)\s*(true|yes|1)\s*$\N}}}}{\N\n\N}{:}}}{match{$item}{\N^\s*\d{1,3}(?:\.\d{1,3}){3}\s*$\N}}}
AUTH_CLIENT_SEND_DATA = ${lookup{$host_address}iplsearch{AUTH_CLIENT_DATA}}
AUTH_CLIENT_ENABLED_PLAIN = ${if match{${extract{type}{AUTH_CLIENT_SEND_DATA}}}{\N^(?i)(.+,)*plain(,.+)*$\N}{true}{false}}
AUTH_CLIENT_ENABLED_LOGIN = ${if match{${extract{type}{AUTH_CLIENT_SEND_DATA}}}{\N^(?i)(.+,)*login(,.+)*$\N}{true}{false}}
AUTH_CLIENT_ENABLED_CRAM = ${if match{${extract{type}{AUTH_CLIENT_SEND_DATA}}}{\N^(?i)(.+,)*cram(,.+)*$\N}{true}{false}}
AUTH_CLIENT_SEND_CRAM_USER = AUTH_CLIENT_USERNAME
AUTH_CLIENT_SEND_CRAM_PASS = AUTH_CLIENT_PASSWORD
AUTH_CLIENT_SEND_LOGIN = : AUTH_CLIENT_USERNAME : AUTH_CLIENT_PASSWORD
AUTH_CLIENT_SEND_PLAIN = ^AUTH_CLIENT_USERNAME^AUTH_CLIENT_PASSWORD

6. Remplacez toute la section remote_smtp_smarthost par les lignes ci-dessous.

remote_smtp_smarthost:
  debug_print = « T: remote_smtp_smarthost for $local_part@$domain »
  driver = smtp
  hosts_require_tls = AUTH_CLIENT_REQUIRE_SSL
  hosts_require_auth = AUTH_CLIENT_REQUIRED

7. Remplacez la section begin authenticators par les lignes ci-dessous.

begin authenticators

CRAM:
driver = cram_md5
public_name = CRAM-MD5
client_condition = AUTH_CLIENT_ENABLED_CRAM
client_name = AUTH_CLIENT_SEND_CRAM_USER
client_secret = AUTH_CLIENT_SEND_CRAM_PASS

LOGIN:
driver = plaintext
client_condition = AUTH_CLIENT_ENABLED_LOGIN
client_send = AUTH_CLIENT_SEND_LOGIN

PLAIN:
driver = plaintext
client_condition = AUTH_CLIENT_ENABLED_PLAIN
client_send = AUTH_CLIENT_SEND_PLAIN

8. Enregistrez les modifications.

9. Redémarrez Exim4, en exécutant la commande ci-dessous.

service exim4 restart

Étape 4 : Test du bon envoi des e-mails sous telnet

1. Testez la connexion, en exécutant la commande ci-dessous.

exemple  Relais de messagerie chez le FAI Orange

telnet smtp.orange.fr 25

2. Ajoutez les lignes ci-dessous, en renseignant les valeurs indiquées en jaune.

Trying 193.252.22.84…
Connected to smtp.orange.fr.
Escape character is ‘^]’.
220 mwinf5d33 ME ESMTP server ready
EHLO servicenav
250-mwinf5d33 hello [90.113.178.249], pleased to meet you
250-HELP
250-AUTH LOGIN PLAIN
250-SIZE 44000000
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 OK
AUTH LOGIN <compte xxx@orange.fr encodé en base64>
334 UGFzc3dvcmQ6
<mot de passe Orange encodé en base 64>
235 2.7.0 … authentication succeeded
mail from:<compte xxx>@orange.fr
250 2.1.0 <compte xxx@orange.fr> sender ok
rcpt to:<compte cible>@dom
250 2.1.5 <compte cible@dom> recipient ok
data
354 enter mail, end with « . » on a line by itself
servicenav
.
250 2.0.0 RJZW230095PEYZW03Ja5Bg mail accepted for delivery

3. Repérez l'adresse IP du serveur de messagerie qui répond.

exemple  Dans le fichier ci-dessus : 193.252.22.84

 

Étape 5 : Test du bon envoi des e-mails sous telnet

1. Testez la connexion, en exécutant la commande ci-dessous.

Remplacez la valeur indiquée en jaune par celle de votre environnement.

mail -s "Hello World" mail@domain.com
Cc:
Text
<Ctrl+D>

Tags :
Powered by XWiki © EasyVista 2024