Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédente | |||
installer_postfix_avec_le_serveur_de_messagerie_sur_internet [Le 27/08/2020, 15:41] – Correction expression 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 [[: |