Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

configurer_un_serveur_mail_sous_linux_avec_postfix [2020/08/31 11:36] – [Paramétrage de saslauthd pour l'authentification SMTP] superadminconfigurer_un_serveur_mail_sous_linux_avec_postfix [2022/04/11 16:34] (Version actuelle) – modification externe 127.0.0.1
Ligne 87: Ligne 87:
 postconf -e 'tls_random_source = dev:/dev/urandom' postconf -e 'tls_random_source = dev:/dev/urandom'
 postconf -e 'myhostname = nocterie.local' postconf -e 'myhostname = nocterie.local'
-postconf -e 'home_mailbox Maildir/' +postconf -e 'maillog_file = /var/log/postfix.log
-postconf -e 'maillog_file = /var/log/postfix.log'</code>+postconf -e 'smtp_tls_policy_maps hash:/etc/postfix/tls_policy'</code> 
 + 
 +Afin que SMTP-TLS vérifie bien le domaine, créer le fichier ''/etc/postfix/tls_policy'' contenant : 
 + 
 +<code>nocterie.local      verify</code> 
 + 
 +:!: ''nocterie.local'' doit être remplacé par le nom du domaine à vérifier. 
 + 
 +Appliquer les changements avec : 
 + 
 +<code>postmap /etc/postfix/tls_policy 
 +chgrp postfix /etc/postfix/tls_policy*</code>
  
 Par défaut, PostFix tente d'envoyer les mails sortants sur Internet, parfois ce n'est pas possible car l'opérateur bloque la livraison directe du courrier, il faut alors configurer soi-même le relais SMTP à utiliser en sortie : Par défaut, PostFix tente d'envoyer les mails sortants sur Internet, parfois ce n'est pas possible car l'opérateur bloque la livraison directe du courrier, il faut alors configurer soi-même le relais SMTP à utiliser en sortie :
Ligne 102: Ligne 113:
 S'il n'y a aucun retour cela signifie que la configuration est bonne. S'il n'y a aucun retour cela signifie que la configuration est bonne.
  
- +===== Création des comptes d'utilisateur et paramétrage de PostFix =====
-===== Tests du protocole SMTP ===== +
- +
-Démarrer saslauthd, il ne doit pas y avoir d'erreur : +
- +
-<code>service saslauthd start</code> +
- +
-Vérifier que SMTP-AUTH et TLS fonctionnent correctement : +
- +
-<code>telnet localhost 25</code> +
- +
-Puis faire (remplacer ''nocterie.local'' par le domaine de messagerie utilisé) :  +
- +
-<code>EHLO nocterie.local</code> +
- +
-La commande doit retourner une liste dans laquelle il y a une ligne ''250-STARTTLS'' et une autre ''250-AUTH PLAIN LOGIN'' +
- +
-Quitter Telnet avec la commande ''quit''+
- +
-On peut aussi essayer l'authentification avec un utilisateur local membre du groupe ''sasl'' pour voir si elle fonctionne :  +
- +
-<code>testsaslauthd -u utilisateur -p password</code> +
- +
-Cela doit renvoyer ceci : ''0: OK "Success."'', autrement il y a un problème quelquepart. +
- +
-:!: La dernière commande peut ne pas fonctionner => Ignorer +
- +
-===== Création des comptes d'utilisateur =====+
  
 Dans cette partie, on va créer la base de données qui contiendra les comptes de messagerie du domaine. Dans cette partie, on va créer la base de données qui contiendra les comptes de messagerie du domaine.
Ligne 206: Ligne 190:
 postconf -e 'virtual_transport = virtual' postconf -e 'virtual_transport = virtual'
 postconf -e 'virtual_uid_maps = static:5000' postconf -e 'virtual_uid_maps = static:5000'
-postconf -e 'virtual_create_maildirsize = yes' 
-postconf -e 'virtual_mailbox_extended = yes' 
-postconf -e 'virtual_mailbox_limit_maps = proxy:mysql:/etc/postfix/mysql_virtual_mailbox_limit_maps.cf' 
-postconf -e 'virtual_mailbox_limit_override = yes' 
-postconf -e 'virtual_maildir_limit_message = Le compte a atteint son quota de mails. Merci de rééssayer plus tard' 
-postconf -e 'virtual_overquota_bounce = yes' 
 postconf -e 'relay_domains = proxy:mysql:/etc/postfix/mysql_relay_domains_maps.cf'</code> postconf -e 'relay_domains = proxy:mysql:/etc/postfix/mysql_relay_domains_maps.cf'</code>
  
Ligne 272: Ligne 250:
 chmod o+r /etc/postfix/main.cf chmod o+r /etc/postfix/main.cf
 chmod +x /etc/postfix/postfix-script</code> chmod +x /etc/postfix/postfix-script</code>
 +
 +=====Paramétrage de l'authentification SMTP=====
 +Tout d'abord, créer le fichier de configuration de sasl et y indiquer quelques réglages :
 +
 +touch /etc/postfix/sasl/smtpd.conf
 +<code>echo 'pwcheck_method: saslauthd' >> /etc/postfix/sasl/smtpd.conf
 +echo 'mech_list: plain login' >> /etc/postfix/sasl/smtpd.conf 
 +echo 'allow_plaintext: true' >> /etc/postfix/sasl/smtpd.conf</code>
 +
 +Puis entrer les commandes suivantes :
 +
 +<code>mkdir -p /var/spool/postfix/var/run/saslauthd
 +rm -fr /var/run/saslauthd
 +ln -s /var/spool/postfix/var/run/saslauthd /var/run/saslauthd
 +chown -R root:sasl /var/spool/postfix/var/
 +chmod 710 /var/spool/postfix/var/run/saslauthd</code>
 +
 +Ensuite éditer le fichier /etc/default/saslauthd pour modifier les 2 lignes suivantes :
 +
 +  * ''START=no'' en ''START=yes''
 +  * ''OPTIONS="-c -m /var/run/saslauthd"'' en ''OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd -r"''
 +
 +Enfin, créer le fichier ''/etc/pam.d/smtp'' contenant :
 +
 +<code>auth       required     pam_mysql.so user=postfix passwd=password host=localhost db=postfix table=mailbox usercolumn=username passwdcolumn=password crypt=2
 +account    sufficient   pam_mysql.so user=postfix passwd=password host=localhost db=postfix table=mailbox usercolumn=username passwdcolumn=password crypt=2
 +</code>
 +===== Tests du protocole SMTP =====
 +
 +Démarrer saslauthd, il ne doit pas y avoir d'erreur :
 +
 +<code>service saslauthd start</code>
 +
 +Vérifier que SMTP-AUTH et TLS fonctionnent correctement :
 +
 +<code>telnet localhost 25</code>
 +
 +Puis faire (remplacer ''nocterie.local'' par le domaine de messagerie utilisé) : 
 +
 +<code>EHLO nocterie.local</code>
 +
 +La commande doit retourner une liste dans laquelle il y a une ligne ''250-STARTTLS'' et une autre ''250-AUTH PLAIN LOGIN''
 +
 +Quitter Telnet avec la commande ''quit''.
 +
 +On peut aussi essayer l'authentification avec un utilisateur local membre du groupe ''sasl'' pour voir si elle fonctionne : 
 +
 +<code>testsaslauthd -u utilisateur -p userpassword -s smtp -f /var/spool/postfix/var/run/saslauthd/mux</code>
 +
 +Cela doit renvoyer ceci : ''0: OK "Success."'', autrement il y a un problème quelquepart.
 +
 +:!: La dernière commande peut ne pas fonctionner => Ignorer
 +
 ===== Configuration de ProcMail ===== ===== Configuration de ProcMail =====
  
Ligne 306: Ligne 337:
  
 ===== Création d'un compte mail ===== ===== Création d'un compte mail =====
 +
 +Ouvrir la console MySQL et créer l'utilisateur en ajoutant différentes entrées :
 +
 +<code>use postfix;
 +INSERT INTO domain (domain,description) VALUES ('domain.tld','Test Domain');
 +INSERT INTO alias (address,goto) VALUES ('alias@domain.tld', 'test@domain.tld');
 +INSERT INTO mailbox (username,password,name,maildir)  VALUES ('test@domain.tld',ENCRYPT('userpassword'),'Mailbox User','test@domain.tld/');</code>
 +
  
 Avec ce système, les comptes de messagerie sont les mêmes que ceux de Linux. Avec ce système, les comptes de messagerie sont les mêmes que ceux de Linux.