Je voudrais me débarrasser de Google en tant que fournisseur de messagerie et mettre en place une solution de messagerie complète sur mon serveur dédié. Le problème: je souhaite que la configuration soit aussi simple que possible, afin qu'il ne soit pas difficile de tout recommencer en cas de problème.
Conditions préalables
- Un seul compte utilisateur sur la machine.
- (nom
diti
; e-mail principal[email protected]
; les autres alias sont redirigés mais un client de messagerie peut gérer les différents alias et réagir en conséquence)
- (nom
- N'utilise de préférence pas MySQL.
- (en cas de sauvegarde et de restauration de données ainsi que par souci de simplicité, il est préférable de ne pas installer et sécuriser MySQL avant d'obtenir un serveur de messagerie fonctionnel)
- Le courrier électronique est accessible (IMAP et SMTP) de l'extérieur.
- Chiffrement SSL / TLS pour l'authentification IMAP et SMTP (j'utilise des certificats CAcert , est-ce important?).
Je crois que la simplicité, l'accès IMAP / SMTP et l'authentification sécurisée sont les fonctionnalités «de base» que tout le monde désireux de quitter Google / quoi que ce soit d'autre voudrait. Si je me trompe et qu'il existe une solution plus simple (par exemple, une solution de type ownCloud, avec tout inclus), je serais heureux d'entendre.
Je pense que la combinaison de Postfix et Dovecot serait la voie à suivre. Soit dit en passant, j'utilise Debian.
Les informations que j'ai trouvées jusqu'à présent
- Un article en français décrit de manière très détaillée comment configurer une solution de messagerie électronique complète et sécurisée. Il est long, plus difficile à maintenir, plus difficile à sauvegarder et à restaurer, etc. De plus, un cache DNS est-il nécessaire?
- Le wiki Gentoo (
Complete_Virtual_Mail_Server/SSL_Certificates
page) mentionne l'utilisation des certificats CAcert, mais n'est pas clair à ce sujet (tous cesSubjectAltName
sous-domaines sont -ils nécessaires?), Ni il utilise Postfix (j'ai lu que Courier est plus difficile). - Divers tutoriels sur l'auto-hébergement, tous différents, décrivant rarement ce qu'ils font et pourquoi (les e-mails auto-hébergés avec accès à distance semblent compliqués à configurer, alors pourquoi simplement fournir une liste de commandes sans explication pour les "nuls?")) .
J'espère que j'ai demandé les bonnes choses et qu'elles ne sont pas trop idiotes.
Réponses:
Non, il n'est pas nécessaire de configurer un cache DNS sur le serveur. Le serveur doit utiliser un résolveur DNS de mise en cache quelque part à proximité, mais la plupart des sociétés d'hébergement exécutent déjà leurs propres résolveurs pour l'ensemble du centre de données et configurent les serveurs pour les utiliser par défaut.
Par défaut, Postfix et Dovecot utilisent des comptes locaux pour tout. Si vous avez un compte Linux nommé
diti
, vous pouvez vous connecter à Dovecot avec lui, et vous pouvez configurer Postfix pour valider les connexions SMTP avec Dovecot .Si vous êtes d'accord pour que tous les messages soient
/etc/aliases
dirigés vers le même compte, vous pouvez configurer des alias simples (comme dans, ) pour rediriger le courrier pourkra@
oupostmaster@
vers lediti
compte.Tous ces subjectAltNames ne sont pas nécessaires. Les seuls dont vous avez besoin sont pour les noms de domaine que vous allez réellement utiliser , par exemple
mail.diti.me
ouglaux.diti.me
. Je ne sais pas si vous devez inclure le domaine lui-même (c.diti.me
-à-d.).Ce qui suit suppose que le domaine possède déjà des enregistrements MX configurés pour pointer vers ce serveur. J'essaie généralement de garder ma configuration raisonnablement claire, car je finis toujours par me demander "à quoi bon ça sert" quelques mois plus tard.
1. Tout d'abord, installez les packages
postfix
etdovecot-imapd
. Lorsque vous êtes invité à propos de la configuration de Postfix, sélectionnez l'option "Site Internet" et entrezditi.me
comme nom de messagerie. À ce stade, vous pouvez déjà envoyer et recevoir du courrier en tant que[email protected]
, et probablement même vous connecter à IMAP.Cependant, il n'a pas encore SSL, ni autorise l'envoi de courrier via SMTP de l'extérieur, ni un endroit sain pour stocker le courrier (la valeur par défaut est un fichier mbox
/var/mail
, ce qui n'est pas fiable et donne de mauvaises performances, en particulier avec IMAP).2. Si vous avez déjà un certificat SSL, insérez
/etc/ssl/private/diti.me.pem
-le et saisissez la clé privée/etc/ssl/private/diti.me.key
. L'emplacement exact n'a pas vraiment d'importance, mais/etc/ssl/private
c'est là que Debian les conserve.Assurez-vous que les deux fichiers appartiennent et sont lisibles par le
ssl-cert
groupe, afin que Postfix et Dovecot puissent y accéder. Ajoutez également les comptes des deux démons à ce groupe à l'aide degpasswd -a
.3. Le Postfix généré automatiquement par Debian
main.cf
est aussi un peu compliqué, donc je vais juste publier une version minimale nettoyée:Pour Dovecot, Debian utilise simplement les exemples de configuration par défaut, et ils sont assez bons, avec chaque option décrite.
Chaque fois que vous modifiez la configuration, rechargez les démons avec
postfix reload
et / oudoveadm reload
.4. Par défaut, Postfix livre le courrier à
/var/mail/$USER
la Mbox format, ce qui est assez simple (vous pouvez voir facilement avec un éditeur de texte) , mais a beaucoup de problèmes, en particulier avec IMAP, puisque le fichier entier doit être réécrite à chaque fois que vous déplacez un message ou même en marquer un comme "lu" ou "non lu".Modifiez les deux démons pour utiliser Maildir. (Il existe d'autres formats, mais ils ont tendance à être spécifiques au serveur MTA ou MDA ou IMAP ou autre; Maildir est largement pris en charge.)
Dans
/etc/postfix/main.cf
, ajoutez ce qui suit à la section "Livraison":Configurez Dovecot pour utiliser le même chemin, dans
/etc/dovecot/conf.d/10-mail.conf
:5. À un moment donné, vous devez indiquer à Dovecot d'utiliser SSL également. Les paramètres appropriés sont disponibles
/etc/dovecot/conf.d/10-ssl.conf
. En fait, le paquet Debian pour Dovecot utilise déjà SSL, bien qu'avec un certificat auto-signé qui soit pour la plupart inutile. Configurez-le pour utiliser votre propre certificat:6. Vous pouvez maintenant envoyer du courrier à l'extérieur et le recevoir. Il est toujours nécessaire de configurer Postfix pour vous permettre d'envoyer de l' extérieur en vous connectant avec votre client de messagerie via SMTP.
Dites d'abord à Postfix d'utiliser Dovecot pour vérifier les connexions. Les instructions suivantes sont principalement tirées du wiki de Dovecot .
Dovecot a
/etc/dovecot/conf.d/10-master.conf
besoin d'écouter sur une socket à laquelle Postfix pourrait accéder; la configuration par défaut a déjà un exemple commenté:Et Postfix doit l'utiliser à
/etc/postfix/main.cf
nouveau:7. Notez que ce qui précède ne s'est installé
smtpd_sasl_auth_enable
nulle part. La convention actuelle consiste à ne pas activer l'authentification SMTP globalement, mais à conserver tcp / 25 uniquement en tant que port SMTP "de serveur à serveur". Pendant ce temps, les nouveaux messages des utilisateurs sont acceptés via SMTP sur TCP / 587, le port de "soumission de courrier", qui nécessite une authentification. Certains FAI bloquent même tcp / 25 à cause du spam, mais gardent tcp / 587 ouvert car il est généralement mieux sécurisé.Activez le port "Submission" dans
/etc/postfix/master.cf
, avec l'authentification SASL. La valeur par défaut amaster.cf
déjà les lignes nécessaires qui doivent simplement être non commentées, bien que certaines d'entre elles doivent toujours être omises.Si vous avez un client de messagerie qui nécessite un port "implicite SSL" à l'ancienne (tcp / 465), vous pouvez décommenter les
smtps
lignesmaster.cf
- si vous le faites, conservez les paramètres similaires à ceux dusubmission
port.8. Enfin, définissez des alias pour votre compte, en les modifiant
/etc/aliases
. L'postmaster
alias est fondamentalement requis; c'est le point de contact en cas de problème avec votre serveur de messagerie. Le pointageroot
et autres alias similaires sont également bons.Le format de base est documenté dans des alias (5):
Utilisez
postalias
ounewaliases
pour mettre à jour la base de données hachée/etc/aliases.db
chaque fois que vous modifiez ce fichier.Maintenant, vous avez toujours un compte appelé
diti
en ce qui concerne Postfix et Dovecot, mais le courrier envoyé à ykra@...
est également transféré. Certains clients de messagerie (par exemple Thunderbird) prennent en charge plusieurs "identités" ou "personas" pour un seul serveur de messagerie, vous pouvez donc choisir entre différentes adresses "De:".C'est à peu près ça. Je pourrais revenir avec des instructions pour procmail, domaines virtuels, SPF et / ou DKIM plus tard.
la source
mail.diti.me
(= l'adresse IP de mon serveur) pour IMAP et SMTP, mon domaine a déjà les enregistrements MX. Ai-je fait quelque chose de mal pendant la configuration de mon serveur, ou ai-je simplement des problèmes avec Thunderbird?ps auxw | grep "dovecot"
? J'ai comparé avec une configuration complexe de mes amis, et il l'a faitdovecot-auth
etimap-login
que je n'ai pas. Serait-il possible que les ports soient réellement ouverts (je ne me souviens pas avoir utilisé un pare-feu), mais sans démon configuré pour écouter ces ports de l'extérieur, ou quelque chose? Lorsque je coursopenssl s_client -connect mail.diti.me:993
sur le serveur, cela fonctionne (et dit "Dovecot ready."), Mais rien de l'extérieur. Peut-être que je devrais essayer d'installer un pare-feu et autoriser explicitement ces ports?dovecot
,dovecot/anvil
,dovecot/log
et d' autres. De plus, certains processus ne sont démarrés que lorsque quelqu'un se connecte, ou uniquement lors de la vérification des détails d'authentification.iptables -n -v -L
pour vérifier s'il existe des règles pour supprimer les paquets.