Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| installer_postfix_avec_le_serveur_de_messagerie_sur_internet [Le 27/08/2020, 13:35] – Mise en page sefran | installer_postfix_avec_le_serveur_de_messagerie_sur_internet [Le 27/08/2020, 15:42] (Version actuelle) – Correction expression sefran | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| + | {{tag> | ||
| + | ====== Installer Postfix pour l' | ||
| + | Pour expédier directement sur un serveur de messagerie internet ou du [[https:// | ||
| + | |||
| + | Pour plus d' | ||
| + | |||
| + | ===== Installation du serveur de messagerie Postfix ===== | ||
| + | [[: | ||
| + | Choisir «pas de configuration» si l' | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | Pour la partie sécurité du serveur [[: | ||
| + | |||
| + | ===== Définir le gestionnaire de messagerie ===== | ||
| + | **Vous devez définir qui va avoir la supervision de la messagerie**. Donc si l' | ||
| + | |||
| + | Avec l' | ||
| + | < | ||
| + | |||
| + | Avec l' | ||
| + | < | ||
| + | root: utilisateur</ | ||
| + | |||
| + | Valider dans Postfix la configuration : | ||
| + | <code bash> | ||
| + | |||
| + | <note warning> | ||
| + | |||
| + | ===== Configuration de Postfix avec un serveur du réseau local ou sur Internet ===== | ||
| + | |||
| + | Pour configurer postfix, tapez : | ||
| + | <code bash> | ||
| + | |||
| + | {{ : | ||
| + | Saisissez Système satellite | ||
| + | |||
| + | {{ : | ||
| + | Remplacez perso.fr par votre nom de domaine de machine | ||
| + | |||
| + | {{ : | ||
| + | Indiquez ici le nom du serveur de relaie smtp de votre réseau local ou d' | ||
| + | |||
| + | {{ : | ||
| + | Le compte de messagerie internet de l' | ||
| + | |||
| + | {{ : | ||
| + | Laissez ce champ vide | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | |||
| + | ===== Emplacement des boîtes aux lettres des utilisateurs du système ===== | ||
| + | Nous remarquons que le «configurateur» de Postfix n'a pas demandé de préciser où les boîtes aux lettres des utilisateurs sont situées. | ||
| + | |||
| + | La commande de la file d' | ||
| + | <code bash> | ||
| + | renvoie | ||
| + | < | ||
| + | |||
| + | La commande de boîtes postales : | ||
| + | <code bash> | ||
| + | renvoie | ||
| + | < | ||
| + | |||
| + | Si on passe la commande de boîtes aux lettres utilisateurs : | ||
| + | <code bash> | ||
| + | Nous avons : | ||
| + | < | ||
| + | Nous voyons alors que les boîtes aux lettres des utilisateurs sont des boîtes postales et se situent dans / | ||
| + | |||
| + | Il nous faudra donc éditer le fichier / | ||
| + | |||
| + | Par exemple : | ||
| + | < | ||
| + | home_mailbox = .local/ | ||
| + | ou passer la commande dans un terminal : | ||
| + | <code bash> | ||
| + | afin que le courriel soit directement distribué dans la boîte aux lettres locale de l' | ||
| + | |||
| + | Pour valider la configuration dans Postfix, tapez : | ||
| + | <code bash> | ||
| + | |||
| + | ===== Bloquer le port 25 SMTP standard ===== | ||
| + | ==== Test de la connexion sur le port 25 ==== | ||
| + | Déjà testons que le port 25 est ouvert. | ||
| + | Pour cela tapez la commande : | ||
| + | <code bash> | ||
| + | |||
| + | Ce qui affiche | ||
| + | < | ||
| + | Connected to localhost. | ||
| + | Escape character is ' | ||
| + | 220 Ma-Machine ESMTP Postfix (Ubuntu)</ | ||
| + | |||
| + | Tapez : | ||
| + | < | ||
| + | retourne | ||
| + | < | ||
| + | |||
| + | Puis saisissez l' | ||
| + | < | ||
| + | retourne | ||
| + | < | ||
| + | |||
| + | Saisissez le destinataire : | ||
| + | < | ||
| + | retourne | ||
| + | < | ||
| + | |||
| + | Saisissez : | ||
| + | < | ||
| + | retourne | ||
| + | < | ||
| + | |||
| + | Et enfin vous pouvez saisir votre courriel : | ||
| + | < | ||
| + | To: utilisateur | ||
| + | Subject: Test de message sur port 25 | ||
| + | Ceci est un test d' | ||
| + | Merci de votre coopération | ||
| + | .</ | ||
| + | retourne | ||
| + | < | ||
| + | |||
| + | Pour quitter tapez : | ||
| + | < | ||
| + | retourne | ||
| + | < | ||
| + | Connection closed by foreign host.</ | ||
| + | |||
| + | Vous avez expédié un courriels local :-) | ||
| + | |||
| + | ==== Blocage du port 25 ==== | ||
| + | Modifier le fichier master.cf ('' | ||
| + | < | ||
| + | |||
| + | Redémarrage de Postfix pour valider les changements : | ||
| + | <code bash> | ||
| + | |||
| + | ==== Test du verrouillage du port 25 ==== | ||
| + | Pour cela taper : | ||
| + | <code bash> | ||
| + | retourne | ||
| + | < | ||
| + | telnet: Unable to connect to remote host: Connection refused</ | ||
| + | |||
| + | ===== Mettre en place de la connexion TLS pour votre trafic SMTP ===== | ||
| + | Par défaut le configurateur configure TLS comme ci-dessus : | ||
| + | < | ||
| + | smtpd_tls_security_level=may | ||
| + | smtpd_tls_cert_file=/ | ||
| + | smtpd_tls_key_file=/ | ||
| + | smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination | ||
| + | |||
| + | # TLS paramètres du client smtp de Postfix | ||
| + | smtp_tls_security_level=may | ||
| + | smtp_tls_CApath=/ | ||
| + | smtp_tls_session_cache_database = btree: | ||
| + | </ | ||
| + | |||
| + | ==== Configuration d'un trafic TLS pur ==== | ||
| + | Pour valider le transport [[https:// | ||
| + | < | ||
| + | # Utilise le générateur de nombres aléatoires de Linux | ||
| + | tls_random_source = dev:/ | ||
| + | # Active le protocole de cryptage TLS | ||
| + | smtpd_use_tls = yes | ||
| + | # N' | ||
| + | smtpd_tls_auth_only = yes | ||
| + | # Niveau de sécurité dans la négociation du protocole | ||
| + | smtpd_tls_security_level = may | ||
| + | # Les clefs du cryptage | ||
| + | smtpd_tls_cert_file = / | ||
| + | smtpd_tls_key_file = / | ||
| + | |||
| + | # TLS pour le client | ||
| + | # Active le protocole de cryptage TLS | ||
| + | smtp_use_tls = yes | ||
| + | # Niveau de sécurité dans la négociation du protocole | ||
| + | smtp_tls_security_level = may | ||
| + | # Les clefs du cryptage | ||
| + | smtp_tls_CApath = / | ||
| + | # Répertoire de cache pour la communication | ||
| + | smtp_tls_session_cache_database = btree: | ||
| + | |||
| + | ==== Autoriser les connections TLS ==== | ||
| + | Pour cela il faut modifier le fichier master.cf ('' | ||
| + | |||
| + | Modifier le fichier comme ci-dessous : | ||
| + | < | ||
| + | -o syslog_name=postfix/ | ||
| + | -o smtpd_tls_security_level=encrypt | ||
| + | -o smtpd_sasl_auth_enable=yes | ||
| + | -o smtpd_tls_auth_only=yes | ||
| + | -o smtpd_reject_unlisted_recipient=no | ||
| + | # -o smtpd_client_restrictions=$mua_client_restrictions | ||
| + | # -o smtpd_helo_restrictions=$mua_helo_restrictions | ||
| + | # -o smtpd_sender_restrictions=$mua_sender_restrictions | ||
| + | -o smtpd_recipient_restrictions= | ||
| + | -o smtpd_relay_restrictions=permit_sasl_authenticated, | ||
| + | -o milter_macro_daemon_name=ORIGINATING | ||
| + | </ | ||
| + | |||
| + | Redémarrer Postfix : | ||
| + | <code bash> | ||
| + | |||
| + | ==== Vérifier le blocage des connexions non TLS ==== | ||
| + | Tester la connexion telnet : | ||
| + | <code bash> | ||
| + | retourne | ||
| + | < | ||
| + | Connected to localhost. | ||
| + | Escape character is ' | ||
| + | 220 Ma-Machine ESMTP (Courriels)</ | ||
| + | |||
| + | Taper : | ||
| + | < | ||
| + | retourne | ||
| + | < | ||
| + | 250-PIPELINING | ||
| + | 250-SIZE 10240000 | ||
| + | 250-VRFY | ||
| + | 250-ETRN | ||
| + | 250-STARTTLS | ||
| + | 250-ENHANCEDSTATUSCODES | ||
| + | 250-8BITMIME | ||
| + | 250-DSN | ||
| + | 250-SMTPUTF8 | ||
| + | 250 CHUNKING</ | ||
| + | |||
| + | Taper : | ||
| + | < | ||
| + | retourne | ||
| + | < | ||
| + | |||
| + | Taper : | ||
| + | < | ||
| + | retourne | ||
| + | < | ||
| + | Connection closed by foreign host.</ | ||
| + | |||
| + | ==== Vérifier les connexions TLS ==== | ||
| + | Pour vous connecter en TLS : | ||
| + | <code bash> | ||
| + | retourne | ||
| + | < | ||
| + | … | ||
| + | Start Time: 1598437512 | ||
| + | Timeout | ||
| + | Verify return code: 0 (ok) | ||
| + | Extended master secret: no | ||
| + | Max Early Data: 0 | ||
| + | --- | ||
| + | read R BLOCK</ | ||
| + | |||
| + | Tapez : | ||
| + | < | ||
| + | retourne | ||
| + | < | ||
| + | 250-PIPELINING | ||
| + | 250-SIZE 10240000 | ||
| + | 250-VRFY | ||
| + | 250-ETRN | ||
| + | 250-ENHANCEDSTATUSCODES | ||
| + | 250-8BITMIME | ||
| + | 250-DSN | ||
| + | 250-SMTPUTF8 | ||
| + | 250 CHUNKING</ | ||
| + | |||
| + | Tapez : | ||
| + | < | ||
| + | retourne | ||
| + | < | ||
| + | |||
| + | Tapez : | ||
| + | < | ||
| + | retourne | ||
| + | < | ||
| + | Connection closed by foreign host.</ | ||
| + | Vos échanges de courriels sont maintenant cryptés lors du transport en SMTP. | ||
| + | ===== Mettre en place l' | ||
| + | Pour vous connecter sur votre serveur distant relaie avec SASL il vous faut disposer d'un compte et d'un mot de passe. | ||
| + | === Exemple de mot de passe SASL Gmail === | ||
| + | Pour un identifiant SASL avec Gmail | ||
| + | == Création du mot de passe applicatif == | ||
| + | {{ : | ||
| + | |||
| + | Cliquez sur {{: | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | Cliquez sur {{: | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | Cliquez sur {{: | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | Cliquez sur **Sélectionnez un application** pour afficher le menu {{: | ||
| + | |||
| + | Saisissez le nom Postfix de votre serveur de messagerie pour Google {{: | ||
| + | |||
| + | Cliquez sur {{: | ||
| + | |||
| + | Notez le mot de passe générez {{: | ||
| + | |||
| + | {{ : | ||
| + | Vous avez créé votre mot de passe sécurité Google pour votre application Postfix. | ||
| + | ==== Configuration de l' | ||
| + | Éditez le fichier / | ||
| + | < | ||
| + | |||
| + | Passez la commande pour valider le mot de passe avec Postfix : | ||
| + | <code bash> | ||
| + | |||
| + | === Exemple avec Gmail === | ||
| + | < | ||
| + | |||
| + | ==== Configuration du client SASL de Postfix ==== | ||
| + | Modifiez / | ||
| + | < | ||
| + | inet_interfaces = loopback-only | ||
| + | # La machine par défaut où livrer le courrier au départ lorsqu' | ||
| + | relayhost = [smtp.fm.fr]: | ||
| + | # Active l' | ||
| + | smtp_sasl_auth_enable = yes | ||
| + | # Désactive l' | ||
| + | smtp_sasl_security_options = noanonymous | ||
| + | # Location de l' | ||
| + | smtp_sasl_password_maps = hash:/ | ||
| + | |||
| + | === Exemple avec Gmail === | ||
| + | Modifier en plus de la configuration ci-dessus : | ||
| + | < | ||
| + | relayhost = [smtp.gmail.com]: | ||
| + | |||
| + | # Modifications pour SASL | ||
| + | # Pour corriger des erreurs d' | ||
| + | smtp_sasl_mechanism_filter = plain | ||
| + | |||
| + | # Modifications pour TLS | ||
| + | # Niveau de sécurité dans la négociation du protocole | ||
| + | smtp_tls_security_level = encrypt | ||
| + | # Location du certificat CA | ||
| + | smtp_tls_CAfile = / | ||
| + | |||
| + | Pour valider la configuration dans Postfix, tapez : | ||
| + | <code bash> | ||
| + | |||
| + | === Vérifier l’authentification au serveur SMTP === | ||
| + | Créer un Hash (code crypté de connexion) pour votre identifiant et votre mot de passe messagerie. | ||
| + | <code bash> | ||
| + | |||
| + | ou en perl: | ||
| + | <code bash> | ||
| + | |||
| + | Soit pour notre exemple : | ||
| + | <code bash> | ||
| + | |||
| + | Ce qui donne en sortie : | ||
| + | < | ||
| + | |||
| + | Pour vérifier qu'il n'y a pas d' | ||
| + | <code bash> | ||
| + | |||
| + | ou en perl : | ||
| + | <code bash> | ||
| + | |||
| + | Pour vous connecter avec cet identifiant crypté : | ||
| + | <code bash> | ||
| + | |||
| + | Puis saisissez : | ||
| + | < | ||
| + | 250-localpart.domain.part | ||
| + | 250-PIPELINING | ||
| + | 250-SIZE 31457280 | ||
| + | 250-VRFY | ||
| + | 250-ETRN | ||
| + | 250-AUTH PLAIN LOGIN | ||
| + | 250-ENHANCEDSTATUSCODES | ||
| + | 250-8BITMIME | ||
| + | 250 DSN</ | ||
| + | |||
| + | Maintenant c'est le code de Hash de l' | ||
| + | < | ||
| + | |||
| + | Vérifiez alors que vous avez la ligne : | ||
| + | < | ||
| + | ==== Correction sur l' | ||
| + | À ce stade, si on redémarre le service Postfix, l' | ||
| + | |||
| + | Mais nous allons obtenir un message d' | ||
| + | |||
| + | Par exemple dans Gmail : | ||
| + | {{ :: | ||
| + | |||
| + | Il faut, pour éviter cela, substituer le nom d' | ||
| + | |||
| + | === Substitution des comptes locaux avec les adresses du fournisseur de messagerie === | ||
| + | Éditez le fichier generic ('' | ||
| + | < | ||
| + | utilisateur@mondomainemessagerie.fr | ||
| + | root@mondomainemessagerie.fr | ||
| + | sudoer@mondomainemessagerie.fr | ||
| + | |||
| + | == Exemple avec Gmail == | ||
| + | < | ||
| + | utilisateur@localhost | ||
| + | utilisateur@mondomainemessagerie.fr | ||
| + | root@mondomainemessagerie.fr | ||
| + | sudoer@mondomainemessagerie.fr | ||
| + | |||
| + | === Validez pour Postfix les substitutions === | ||
| + | <code bash> | ||
| + | |||
| + | Ajoutez dans main.cf ('' | ||
| + | < | ||
| + | |||
| + | Redémarrer Postfix : | ||
| + | <code bash> | ||
| + | |||
| + | Vous pouvez maintenant envoyer vos messages vers votre serveur distant. Mais pour les lire il vous faudra [[: | ||
