Chapitre 1. Configuration et maintenance d'un serveur Dovecot IMAP et POP3


Dovecot est un agent de distribution de courrier électronique (MDA) très performant qui met l'accent sur la sécurité. Vous pouvez utiliser des clients de messagerie compatibles IMAP ou POP3 pour vous connecter à un serveur Dovecot et lire ou télécharger des messages électroniques.

Caractéristiques principales de Dovecot :

  • La conception et la mise en œuvre sont axées sur la sécurité
  • Prise en charge de la réplication bidirectionnelle pour la haute disponibilité afin d'améliorer les performances dans les grands environnements
  • Prend en charge le format de boîte aux lettres haute performance dbox, mais aussi mbox et Maildir pour des raisons de compatibilité
  • Fonctionnalités d'autoréparation, telles que la correction des fichiers d'index cassés
  • Respect des normes IMAP
  • Prise en charge des solutions de contournement des bogues dans les clients IMAP et POP3

1.1. Mise en place d'un serveur Dovecot avec authentification PAM

Dovecot supporte l'interface Name Service Switch (NSS) comme base de données utilisateurs et le framework Pluggable Authentication Modules (PAM) comme backend d'authentification. Avec cette configuration, Dovecot peut fournir des services aux utilisateurs qui sont disponibles localement sur le serveur à travers NSS.

Utiliser l'authentification PAM pour les comptes :

  • Ils sont définis localement dans le fichier /etc/passwd
  • Sont stockés dans une base de données distante, mais ils sont disponibles localement par l'intermédiaire du System Security Services Daemon (SSSD) ou d'autres plugins NSS.

1.1.1. Installation de Dovecot

Le paquet dovecot fournit :

  • Le service dovecot et les services publics pour le maintenir
  • Les services que Dovecot démarre à la demande, par exemple pour l'authentification
  • Plugins, tels que le filtrage du courrier côté serveur
  • Fichiers de configuration dans le répertoire /etc/dovecot/
  • Documentation dans le répertoire /usr/share/doc/dovecot/

Procédure

  • Installez le paquetage dovecot:

    # dnf install dovecot
    Note

    Si Dovecot est déjà installé et que vous avez besoin de fichiers de configuration propres, renommez ou supprimez le répertoire /etc/dovecot/. Ensuite, réinstallez le paquetage. Sans supprimer les fichiers de configuration, la commande dnf reinstall dovecot ne réinitialise pas les fichiers de configuration dans /etc/dovecot/.

1.1.2. Configuration du cryptage TLS sur un serveur Dovecot

Dovecot fournit une configuration sécurisée par défaut. Par exemple, TLS est activé par défaut pour transmettre des informations d'identification et des données cryptées sur les réseaux. Pour configurer TLS sur un serveur Dovecot, il suffit de définir les chemins d'accès aux fichiers de certificats et de clés privées. De plus, vous pouvez augmenter la sécurité des connexions TLS en générant et en utilisant les paramètres Diffie-Hellman pour fournir un secret parfait (PFS).

Conditions préalables

  • Dovecot est installé.
  • Les fichiers suivants ont été copiés aux emplacements indiqués sur le serveur :

    • Le certificat du serveur : /etc/pki/dovecot/certs/server.example.com.crt
    • La clé privée : /etc/pki/dovecot/private/server.example.com.key
    • Le certificat de l'autorité de certification (CA) : /etc/pki/dovecot/certs/ca.crt
  • Le nom d'hôte figurant dans le champ Subject DN du certificat du serveur correspond au nom de domaine complet (FQDN) du serveur.

Procédure

  1. Définir des autorisations sécurisées pour le fichier de la clé privée :

    # chown root:root /etc/pki/dovecot/private/server.example.com.key
    # chmod 600 /etc/pki/dovecot/private/server.example.com.key
  2. Générer un fichier avec les paramètres Diffie-Hellman :

    # openssl dhparam -out /etc/dovecot/dh.pem 4096

    En fonction du matériel et de l'entropie du serveur, la génération de paramètres Diffie-Hellman avec 4096 bits peut prendre plusieurs minutes.

  3. Définissez les chemins d'accès aux fichiers de certificats et de clés privées dans le fichier /etc/dovecot/conf.d/10-ssl.conf:

    1. Mettez à jour les paramètres ssl_cert et ssl_key et définissez-les de manière à utiliser les chemins d'accès au certificat et à la clé privée du serveur :

      ssl_cert = </etc/pki/dovecot/certs/server.example.com.crt
      ssl_key = </etc/pki/dovecot/private/server.example.com.key
    2. Décommentez le paramètre ssl_ca et définissez-le de manière à utiliser le chemin d'accès au certificat d'autorité de certification :

      ssl_ca = </etc/pki/dovecot/certs/ca.crt
    3. Décommentez le paramètre ssl_dh et indiquez-lui le chemin d'accès au fichier des paramètres Diffie-Hellman :

      ssl_dh = </etc/dovecot/dh.pem
    Important

    Pour s'assurer que Dovecot lit la valeur d'un paramètre à partir d'un fichier, le chemin d'accès doit commencer par le caractère <.

Ressources supplémentaires

  • /usr/share/doc/dovecot/wiki/SSL.DovecotConfiguration.txt

1.1.3. Préparer Dovecot à utiliser des utilisateurs virtuels

Par défaut, Dovecot effectue de nombreuses actions sur le système de fichiers en tant qu'utilisateur du service. Cependant, configurer le back-end de Dovecot pour qu'il utilise un utilisateur local pour effectuer ces actions présente plusieurs avantages :

  • Dovecot effectue des actions sur le système de fichiers en tant qu'utilisateur local spécifique au lieu d'utiliser l'ID de l'utilisateur (UID).
  • Les utilisateurs n'ont pas besoin d'être disponibles localement sur le serveur.
  • Vous pouvez stocker toutes les boîtes aux lettres et tous les fichiers spécifiques à l'utilisateur dans un répertoire racine.
  • Les utilisateurs n'ont pas besoin d'un UID et d'un GID, ce qui réduit les efforts d'administration.
  • Les utilisateurs qui ont accès au système de fichiers du serveur ne peuvent pas compromettre leurs boîtes aux lettres ou leurs index, car ils ne peuvent pas accéder à ces fichiers.
  • La mise en place de la réplication est plus facile.

Conditions préalables

  • Dovecot est installé.

Procédure

  1. Créez l'utilisateur vmail:

    # useradd --home-dir /var/mail/ --shell /usr/sbin/nologin vmail

    Dovecot utilisera par la suite cet utilisateur pour gérer les boîtes aux lettres. Pour des raisons de sécurité, n'utilisez pas les utilisateurs du système dovecot ou dovenull à cette fin.

  2. Si vous utilisez un chemin différent de celui de /var/mail/, définissez le contexte SELinux de mail_spool_t, par exemple :

    # semanage fcontext -a -t mail_spool_t "<path>(/.*)?"
    # restorecon -Rv <path>
  3. Accordez les droits d'écriture sur /var/mail/ uniquement à l'utilisateur vmail:

    # chown vmail:vmail /var/mail/
    # chmod 700 /var/mail/
  4. Décommentez le paramètre mail_location dans le fichier /etc/dovecot/conf.d/10-mail.conf et attribuez-lui le format et l'emplacement de la boîte aux lettres :

    mail_location = sdbox:/var/mail/%n/

    Avec ce réglage :

    • Dovecot utilise le format de boîte aux lettres dbox en mode single. Dans ce mode, le service stocke chaque courrier dans un fichier séparé, comme dans le format maildir.
    • Dovecot résout la variable %n dans le chemin du nom d'utilisateur. Ceci est nécessaire pour s'assurer que chaque utilisateur dispose d'un répertoire séparé pour sa boîte aux lettres.

Ressources supplémentaires

  • /usr/share/doc/dovecot/wiki/VirtualUsers.txt
  • /usr/share/doc/dovecot/wiki/MailLocation.txt
  • /usr/share/doc/dovecot/wiki/MailboxFormat.dbox.txt
  • /usr/share/doc/dovecot/wiki/Variables.txt

1.1.4. Utilisation de PAM comme backend d'authentification pour Dovecot

Par défaut, Dovecot utilise l'interface Name Service Switch (NSS) comme base de données utilisateurs et le framework Pluggable Authentication Modules (PAM) comme backend d'authentification.

Personnalisez les paramètres pour adapter Dovecot à votre environnement et pour simplifier l'administration en utilisant la fonctionnalité des utilisateurs virtuels.

Conditions préalables

  • Dovecot est installé.
  • La fonctionnalité des utilisateurs virtuels est configurée.

Procédure

  1. Mettre à jour le paramètre first_valid_uid dans le fichier /etc/dovecot/conf.d/10-mail.conf pour définir l'ID utilisateur (UID) le plus bas qui peut s'authentifier à Dovecot :

    premier_uid_valide = 1000

    Par défaut, les utilisateurs ayant un UID supérieur ou égal à 1000 peuvent s'authentifier. Si nécessaire, vous pouvez également définir le paramètre last_valid_uid pour définir l'UID le plus élevé que Dovecot autorise pour se connecter.

  2. Dans le fichier /etc/dovecot/conf.d/auth-system.conf.ext, ajoutez le paramètre override_fields à la section userdb comme suit :

    userdb {
      driver = passwd
      override_fields = uid=vmail gid=vmail home=/var/mail/%n/
    }

    En raison des valeurs fixes, Dovecot n'interroge pas ces paramètres à partir du fichier /etc/passwd. Par conséquent, le répertoire personnel défini dans /etc/passwd n'a pas besoin d'exister.

Ressources supplémentaires

  • /usr/share/doc/dovecot/wiki/PasswordDatabase.PAM.txt
  • /usr/share/doc/dovecot/wiki/VirtualUsers.Home.txt

1.1.5. Compléter la configuration de Dovecot

Une fois que vous avez installé et configuré Dovecot, ouvrez les ports requis dans le service firewalld, puis activez et démarrez le service. Vous pouvez ensuite tester le serveur.

Conditions préalables

  • Les éléments suivants ont été configurés dans Dovecot :

    • Cryptage TLS
    • Un backend d'authentification
  • Les clients font confiance au certificat de l'autorité de certification (AC).

Procédure

  1. Si vous souhaitez fournir uniquement un service IMAP ou POP3 aux utilisateurs, décommentez le paramètre protocols dans le fichier /etc/dovecot/dovecot.conf et définissez-le en fonction des protocoles requis. Par exemple, si vous n'avez pas besoin de POP3, définissez :

    protocols = imap lmtp

    Par défaut, les protocoles imap, pop3 et lmtp sont activés.

  2. Ouvrez les ports dans le pare-feu local. Par exemple, pour ouvrir les ports des protocoles IMAPS, IMAP, POP3S et POP3, entrez :

    # firewall-cmd --permanent --add-service=imaps --add-service=imap --add-service=pop3s --add-service=pop3
    # firewall-cmd --reload
  3. Activez et démarrez le service dovecot:

    # systemctl enable --now dovecot

Vérification

  1. Utilisez un client de messagerie, tel que Mozilla Thunderbird, pour vous connecter à Dovecot et lire les courriels. Les paramètres du client de messagerie dépendent du protocole que vous souhaitez utiliser :

    Tableau 1.1. Paramètres de connexion au serveur Dovecot
    ProtocolPortSécurité des connexionsMéthode d'authentification

    IMAP

    143

    STARTTLS

    PLAIN[a]

    IMAPS

    993

    SSL/TLS

    PLAIN[a]

    POP3

    110

    STARTTLS

    PLAIN[a]

    POP3S

    995

    SSL/TLS

    PLAIN[a]

    [a] Le client transmet des données cryptées via la connexion TLS. Par conséquent, les informations d'identification ne sont pas divulguées.

    Notez que ce tableau ne liste pas les paramètres pour les connexions non chiffrées car, par défaut, Dovecot n'accepte pas l'authentification en texte clair sur les connexions sans TLS.

  2. Afficher les paramètres de configuration avec des valeurs autres que celles par défaut :

    # doveconf -n

Ressources supplémentaires

  • firewall-cmd(1) page de manuel
Red Hat logoGithubRedditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez leBlog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

© 2024 Red Hat, Inc.