serveur_hebergement:serveur_mail:partie_2_dovecot

Différences

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

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
serveur_hebergement:serveur_mail:partie_2_dovecot [2022/08/31 19:56] fateserveur_hebergement:serveur_mail:partie_2_dovecot [2023/08/08 14:00] (Version actuelle) – modification externe 127.0.0.1
Ligne 1: Ligne 1:
 ====== Partie 2 : Dovecot ====== ====== Partie 2 : Dovecot ======
  
-Expliquer ce qu'est Dovecot.+Maintenant que nous avons notre serveur SMTP, Postfix, pour envoyer nos courriels, il nous faut un serveur IMAP/POP3 : Dovecot.
  
-Installer Dovecot : +===== Installation =====
-<code bash>sudo aptitude install dovecot-core dovecot-imapd dovecot-lmtpd dovecot-mysql</code>+
  
-Ouvrez les ports 143 et 993.+Pour installer Dovecot, ça va être rapidelancez la commande suivante : 
 +<code bash>sudo aptitude install dovecot-core dovecot-imapd dovecot-lmtpd dovecot-mysql dovecot-sieve dovecot-managesieved</code>
  
-Ouvrez fichier /etc/dovecot/dovecot.conf+Fin de l'installation.
  
-Ajoutez la ligne protocols imap lmtp. Si vous souhaitez également utiliser le protocole POP3, ajoutez également pop3. LMTP sert à envoyer des mails en local (à l'utilisateur root par exemple)+===== Configuration =====
  
-Ajoutez l'utilisateur dovecot au groupe mail pour qu'il est accès en lecture au répertoire /var/mail (là ou seront stockés les emails) : sudo adduser dovecot mail+Ouvrez fichier dovecot.conf avec la commande suivante : 
 +<code bash>sudo nano /etc/dovecot/dovecot.conf</code>
  
-Ouvrez le fichier /etc/dovecot/conf.d/10-master.conf+Ajoutez la ligne  
 +<code>protocols = imap lmtp sieve</code>.  
 +Cette ligne active IMAP, LMTP et Sieve. LMTP (Local Mail Transfer Protocol ou protocole local de transfert de courrier en français) sert à envoyer des courriels en local (à l'utilisateur root par exemple) et Sieve va nous permette de mettre en place des filtres et des règles de filtrage. Si vous souhaitez utiliser le protocole POP3, ajoutez pop3. Il vous faudra également installer le paquet dovecot-pop3d.  
 + 
 +Ajoutez l'utilisateur dovecot au groupe mail pour qu'il ait accès en lecture au répertoire /var/mail (là ou seront stockés les courriels) :  
 +<code bash>sudo adduser dovecot mail</code> 
 + 
 +Ouvrez le fichier 10-master.conf avec la commande suivante : 
 +<code bash>sudo nano /etc/dovecot/conf.d/10-master.conf</code>
  
 Modifiez la ligne service lmtp afin d'avoir comme suit : Modifiez la ligne service lmtp afin d'avoir comme suit :
 <code> <code>
 +# Activer l'écoute des communications LMTP en provenance de Postfix
 service lmtp { service lmtp {
   unix_listener /var/spool/postfix/private/dovecot-lmtp {   unix_listener /var/spool/postfix/private/dovecot-lmtp {
Ligne 24: Ligne 34:
     group = postfix     group = postfix
   }   }
- 
-  # Create inet listener only if you can't use the above UNIX socket 
-  #inet_listener lmtp { 
-    # Avoid making LMTP visible for the entire internet 
-    #address = 
-    #port =  
-  #} 
 } }
 </code> </code>
 +Ces lignes servent à indiquer à Dovecot qu'il doit écouter les communications LMTP en provenance de Postfix, pour les transferts de courriels, en utilisant le fichier de socket /var/spool/postfix/private/dovecot-lmtp.
  
-Ouvrez le fichier /etc/dovecot/conf.d/10-mail.conf et modifiez mail_location = mbox:~/mail:INBOX=/var/mail/%u par mail_location = maildir:~/Maildir et ajoutez la ligne mail_home = /var/vmail/%d/%n/ pour que les emails soient stockés dans le répertoire /var/vmail au lieu de /var/mail (nécessaire pour postfixadmin) +Modifiez les lignes "service auth {et suivante afin d'avoir comme suit :
- +
-Ouvrez le fichier /etc/postfix/main.cf et ajoutez les lignes suivantes :  +
-<code>mailbox_transport = lmtp:unix:private/dovecot-lmtp +
-smtputf8_enable = no</code> +
- +
-smtputf8 est une extension qui n'est pas supportée par dovecot-lmtp +
- +
-Ouvrez le fichier /etc/dovecot/conf.d/10-auth.conf afin de configurer l'authentification. +
-Désactivez l'authentification sans cryptage TLS en décommentant la ligne suivante : disable_plaintext_auth = yes +
-!!! A confirmer cette modif : Remplacez la ligne #auth_username_format = %Lu par auth_username_format = %u. !!! +
- +
-Ouvrez maintenant le fichier /etc/dovecot/conf.d/10-master.conf. +
-Modifiez les lignes service auth { et suivante afin d'avoir comme suit :+
 <code> <code>
 +# Authentification des utilisateurs pour les connexions SMTP
 service auth {  service auth { 
-  # auth_socket_path points to this userdb socket by default. It's typically 
-  # used by dovecot-lda, doveadm, possibly imap process, etc. Users that have 
-  # full permissions to this socket are able to get a list of all usernames and 
-  # get the results of everyone's userdb lookups. 
-  # 
-  # The default 0666 mode allows anyone to connect to the socket, but the 
-  # userdb lookups will succeed only if the userdb returns an "uid" field that 
-  # matches the caller process's UID. Also if caller's uid or gid matches the 
-  # socket's uid or gid the lookup succeeds. Anything else causes a failure. 
-  # 
-  # To give the caller full permissions to lookup all users, set the mode to 
-  # something else than 0666 and Dovecot lets the kernel enforce the 
-  # permissions (e.g. 0777 allows everyone full permissions). 
   unix_listener /var/spool/postfix/private/auth {   unix_listener /var/spool/postfix/private/auth {
     mode = 0660      mode = 0660 
Ligne 68: Ligne 47:
     group = postfix     group = postfix
   }   }
- 
-  # Postfix smtp-auth 
-  #unix_listener /var/spool/postfix/private/auth { 
-  #  mode = 0666 
-  #} 
- 
-  # Auth process is run as this user. 
-  #user = $default_internal_user 
 } }
 </code> </code>
 +Ces lignes servent à indiquer à Dovecot qu'il doit communiquer avec Postfix en utilisant le fichier de socket /var/spool/postfix/private/auth pour les authentifications SMTP, Dovecot gérant cette partie.
  
 Ajoutez également les lignes suivantes qui vont activer les statistiques de Dovecot, utilisées par Postfixadmin :  Ajoutez également les lignes suivantes qui vont activer les statistiques de Dovecot, utilisées par Postfixadmin : 
Ligne 96: Ligne 68:
 </code> </code>
  
-Ouvrez le fichier /etc/dovecot/conf.d/10-ssl.conf pour configurer la partie certificat TLS. +Ouvrez le fichier /etc/dovecot/conf.d/10-mail.conf et modifiez la ligne  
-Modifiez les lignes ssl_cert et ssl_key pour avoir comme suit (remplacez memodugeek.info par votre domaine) :  +<code>mail_location = mbox:~/mail:INBOX=/var/mail/%u</code> 
-<code>ssl_cert = </etc/letsencrypt/live/memodugeek.info/fullchain.pem +afin d'avoir comme suit  
-ssl_key = </etc/letsencrypt/live/memodugeek.info/privkey.pem </code>+<code> 
 +mail_location = maildir:~/Maildir  
 +mail_home = /var/vmail/%d/%n/ 
 +</code>  
 +Les courriels seront stockés dans le répertoire /var/vmail au lieu de /var/mail (nécessaire pour postfixadmin) 
 + 
 +Ouvrez le fichier /etc/postfix/main.cf et ajoutez les lignes suivantes :  
 +<code>mailbox_transport = lmtp:unix:private/dovecot-lmtp 
 +smtputf8_enable = no</code> 
 + 
 +On utilise Dovecot pour délivrer les courriels en local. 
 +smtputf8 est une extension qui n'est pas supportée par dovecot-lmtp 
 + 
 +Ouvrez le fichier 10-auth.conf afin de configurer l'authentification : 
 +<code bash>sudo nano /etc/dovecot/conf.d//10-auth.conf</code> 
 + 
 +Désactivez l'authentification sans chiffrement TLS en décommentant la ligne suivante :  
 +<code>disable_plaintext_auth = yes</code> 
 +L'authentification se fait en clair mais comme la connexion IMAP et SMTP est chiffrée, nul besoin de chiffrer l'authentification. 
 + 
 +Décommentez la ligne suivante : 
 +<code>#auth_username_format = %Lu</code> 
 +L'identifiant sera utilisateur@domaine.fr sans tenir compte des majuscules. 
 + 
 +Décommentez la ligne suivante pour que Dovecot puisse interroger la base SQL pour récupérer les noms des utilisateurs authentifiés : 
 +<code>#!include auth-sql.conf.ext</code>  
 + 
 +Commentez la ligne suivante afin que les utilisateurs locaux, root par exemple, ne puisse pas envoyer de mail   
 +<code>!include auth-system.conf.ext</code> 
 + 
 +Vous pouvez également ajouter les lignes suivantes afin d'avoir plus de log dans /var/log/mail.log le temps de vérifier que les utilisateurs se connectent sans problème :  
 +<code>auth_debug = yes 
 +auth_debug_passwords = yes</code> 
 + 
 + 
 +Ouvrez le fichier 10-ssl.conf pour configurer la partie TLS 
 +<code bash>sudo nano /etc/dovecot/conf.d/10-ssl.conf</code> 
 + 
 +Modifiez les lignes ssl_cert et ssl_key pour avoir comme suit (remplacez domaine.fr par votre domaine) :  
 +<code> 
 +ssl_cert = </etc/letsencrypt/live/domaine.fr/fullchain.pem 
 +ssl_key = </etc/letsencrypt/live/domaine.fr/privkey.pem  
 +</code> 
 + 
 +Trouvez la ligne  
 +<code>#ssl_prefer_server_ciphers = no</code> 
 +Afin de laisser le serveur décider des algorithmes de chiffrement à utiliser plutôt que le client, remplacez-la par  
 +<code>ssl_prefer_server_ciphers = yes</code>  
 + 
 +Trouvez la ligne  
 +<code>#ssl_min_protocol = TLSv1</code> 
 +Afin de n'utiliser que les versions 1.2 ou supérieures du protocole TLS, remplacez-la par  
 +<code>ssl_min_protocol = TLSv1.2</code>  
 + 
 +Concernant les fichiers SSL let's encrypt, il faut que les utilisateurs postfix, dovecot et www-data aient accès à /etc/letsencrypt/live/domaine.fr/ et /etc/letsencrypt/archive/domaine.fr/ 
 + 
 +On va activer Sieve afin de pouvoir créer des filtres automatiques. 
 +Ouvrez le fichier 15-lda.conf : 
 +<code bash>sudo nano /etc/dovecot/conf.d/15-lda.conf</code> 
 +À la fin du fichier, décommenter la ligne mail_plugins et ajouter sieve : 
 +<code bash>protocol lda { 
 +    # Space separated list of plugins to load (default is global mail_plugins). 
 +    mail_plugins = $mail_plugins sieve 
 +}</code> 
 + 
 + 
 +Ouvrez le fichier 20-lmtp.conf : 
 +<code bash>sudo nano /etc/dovecot/conf.d/20-lmtp.conf</code> 
 +À la fin du fichier, décommenter la ligne mail_plugins et ajouter sieve : 
 +<code bash>protocol lmtp { 
 +  # Space separated list of plugins to load (default is global mail_plugins). 
 +  mail_plugins = quota sieve    
 +}</code>
  
-Trouvez la ligne #ssl_prefer_server_ciphers = no et remplacez-la par ssl_prefer_server_ciphers = yes afin de laisser le serveur décider des algorithmes de chiffrement à utiliser plutôt que le client 
-Trouvez la ligne #ssl_min_protocol = TLSv1 et remplacez-la par ssl_min_protocol = TLSv1.2 afin de n'utilisez que les versions 1.2 ou supérieures du protocole TLS. 
  
-Redémarrez Dovecot <code bash>sudo systemctl restart dovecot.service</code>+Pensez à ouvrir le port 993 pour pouvoir vous connecter à Dovecot depuis un client via le protocole IMAP. Si vous souhaitez utiliser le protocole POP, c'est le port 995 qu'il vous faudra ouvrir.
  
 +Maintenant que Postfix et Dovecot sont installés, on passe à [[serveur_hebergement:serveur_mail:partie_3_postfixadmin|Postfixadmin]].
  
 Source : https://www.linuxbabe.com/mail-server/build-email-server-from-scratch-debian-postfix-smtp Source : https://www.linuxbabe.com/mail-server/build-email-server-from-scratch-debian-postfix-smtp
  • serveur_hebergement/serveur_mail/partie_2_dovecot.1661975792.txt.gz
  • Dernière modification : 2023/08/08 14:01
  • (modification externe)