Articles

comment exécuter votre propre serveur de messagerie avec votre propre domaine, Partie 1

Posted by admin
Aurich Lawson

Le Courrier électronique est ancien et complexe. C’est le composant le plus ancien encore reconnaissable de L’Internet, avec son incarnation moderne ayant fusionné de plusieurs technologies de messagerie vieilles de plusieurs décennies, y compris la messagerie ARPANET nœud à nœud au début des années 1970., Et bien qu’il reste une pierre angulaire de L’Internet—l’application killer originale, vraiment—il est aussi extraordinairement difficile de bien faire.

nous interagissons le plus souvent avec les serveurs de messagerie via des frontaux ou des applications web conviviaux, mais une énorme quantité de travail consiste à cacher la complexité qui permet à l’ensemble du système de fonctionner. Le courrier électronique fonctionne dans un environnement empoisonné et hostile, inondé de virus et de spam., L’échange apparemment simple de messages texte fonctionne sous des règles complexes avec des outils complexes, tous nécessaires pour empêcher le poison et le fonctionnement du système et utiles malgré les abus qu’il subit constamment.

Voir plus

du point de vue d’une personne normale, le courrier électronique semble être un problème résolu: inscrivez-vous pour accéder à Internet et votre FAI vous donne une adresse e-mail., Google, Apple, Yahoo, ou un certain nombre d « autres fournisseurs de messagerie gratuits vous connecter avec des comptes de messagerie avec gigaoctets d » espace et beaucoup de fonctionnalités à valeur ajoutée cool. Pourquoi se battre avec Arcane dragons pour lancer votre propre solution e-mail?

je vais vous dire pourquoi: parce que si c’est dans le cloud, ce n’est pas la vôtre.

Agrandir / de ma boîte De réception. Faux Ken Fisher, mais toujours effrayant, Google.

Parce que vous devez compter sur les autres pour votre sécurité., Vous n’avez aucun contrôle sur qui peut lire votre correspondance—vous devez autoriser l’extraction de vos données et l’extraction de votre profil marketing. On ne vous dira pas si vos métadonnées sont collectées ou si votre boîte de réception est aspirée par une demande secrète du gouvernement. Vous consentez à ne pas être un client mais un produit, et un produit n’a aucun droit.

eh Bien, à l’enfer avec qui. C’est votre adresse e-mail. Et nous allons revenir en arrière.

C’est dur et même un peu effrayant…

E-mail est dur. Si vous voulez un projet sysadmin plus facile, allez configurer un serveur Web. Le courrier électronique est beaucoup plus complexe, avec beaucoup plus de pièces mobiles., D’autre part, votre correspondance avec les autres est l’un des aspects les plus personnels de votre vie en ligne—dans un support finalement fait de texte, vos mots sont vous. Cela vaut la peine d’apprendre à récupérer votre vie en ligne auprès de ceux qui exploiteraient des données et la monétiseraient.

Il y a des pièges et des mises en garde—le plus important est que si vous exécutez votre propre serveur de messagerie, vous serez l’administrateur système. L’avantage de ceci est qu’aucun représentant du service à la clientèle ennuyé ou fatigué sur le point de partir-shift va tomber pour une attaque d’ingénierie sociale et réinitialiser votre mot de passe e-mail., L’inconvénient est que vous êtes responsable des soins et de l’alimentation de votre système. Ce n’est pas une tâche impossible—ce n’est même pas vraiment difficile—mais c’est non trivial et sans fin. L’application de mises à jour critiques est de votre responsabilité. Quand les mises à jour critiques sortent-elles? C’est votre responsabilité de garder une trace, aussi.

publicité

pire encore, si vous foirez et que votre serveur est compromis ou utilisé comme relais de spam, votre domaine se retrouvera presque certainement sur des listes noires., Votre capacité à envoyer et recevoir des e-mails sera diminuée ou peut-être même complètement éliminée. Et se frotter totalement à la multitude de listes noires d’e-mail est à peu près aussi difficile que d’essayer de sortir de la liste D’interdiction de vol de la TSA.

Vous avez été averti.

…mais cela vaut aussi la peine de faire

OK, cela devrait être suffisant pour effrayer les gens qui ne sont pas sérieux. Pour ceux d’entre-vous toujours avec moi: cela va être un enfer de beaucoup de plaisir, et vous allez apprendre beaucoup de choses.,

Ce sera une série en plusieurs parties, et ici dans cette première partie, nous allons poser (et répondre) à un tas de questions sur la façon dont nous allons configurer notre serveur de messagerie. Nous allons également décrire les applications que nous allons utiliser et parler de ce qu’elles font. Nous nous attendons à ce que cette série se déroule au cours des prochaines semaines; contrairement à notre série sur la configuration d’un serveur Web, cependant, vous ne pourrez pas commencer à tirer des e-mails après la partie 1—vous avez besoin de tout pour que tout fonctionne correctement.,

publicité

ce n’est certainement pas le seul tutoriel de bricolage sur le Web. Si vous êtes désireux de sauter en avant et de commencer maintenant, nous vous suggérons de consulter L’excellent tutoriel de Christoph Hass sur Workaround.org—il fait beaucoup (mais loin d’être tous) des mêmes choix de configuration que nous allons faire. Cependant, Ars ne mettrait pas ce guide ensemble si nous n’avions pas quelques astuces dans nos manches—nous avons été dans une grotte de configuration e-mail pour le mois dernier, et nous avons beaucoup de bonnes informations à partager.,

prérequis et hypothèses—où et comment

pour que vous souhaitiez votre propre serveur de messagerie. Excellent! La première décision, avant même d’entrer dans des choses comme les systèmes d’exploitation et les applications, est où vous allez le mettre. Si vous êtes sur une connexion de FAI résidentiel, vous devrez faire face à un certain nombre de défis dans l’exécution d’un serveur de messagerie hors de votre placard., En plus de trouver presque certainement l’ensemble standard de ports TCP e-mail bloqué, votre adresse IP est également presque certainement déjà sur une ou plusieurs listes noires afin de réduire la quantité de spam craché par des ordinateurs domestiques infectés par des virus. Que vous crachiez ou non du spam n’est pas pertinent-ce navire a depuis longtemps navigué, et les adresses IP résidentielles sont presque universellement considérées comme empoisonnées. Il existe de nombreux outils que vous pouvez utiliser pour voir si votre adresse est sur une liste noire—assurez-vous de vérifier avant de commencer.,

Si vous voulez simplement suivre la plupart du temps à la maison avec un domaine de test non fonctionnel pour l’apprentissage, alors une machine virtuelle ou un serveur de placard de rechange fera très bien; si vous voulez le faire pour de vrai, vous devrez soit être sur une connexion de classe affaires avec des ports débloqués et une adresse IP Vous n’avez pas besoin d’un serveur dédié monster ou quoi que ce soit, mais vous avez besoin d’au moins un VPS sur lequel vous pouvez installer un logiciel à partir de la ligne de commande., Il existe de nombreuses options; je recommande toujours un petit hébergement Orange ou Lithium, mais si vous êtes prêt à sacrifier des performances, vous pouvez presque certainement héberger un petit serveur de messagerie sur une instance Amazon EC2 gratuite.

publicité

vous aurez également besoin d’un domaine (encore une fois, à moins que vous n’utilisiez un domaine de test inexistant), ce qui signifie que vous aurez besoin d’un registraire et d’un fournisseur DNS externe. Mes recommandations personnelles pour les bureaux d’enregistrement sont Namecheap et Gandi.,net; les deux ont pris des positions anti-SOPA dures (voir ces liens) et les deux offrent des options d’authentification à deux facteurs. J’ai utilisé les deux bureaux d’enregistrement, et ils sont tous deux excellents.

l’une des leçons renforcées par le récent vol de compte Twitter @N est que vous devez séparer vos services en ligne là où il est logique de le faire. Un élément important du compromis @N est venu de l’attaquant ayant accès au compte GoDaddy de Naoki Hiroshima, GoDaddy fonctionnant non seulement comme son registrar, mais aussi comme la source DNS faisant autorité pour les domaines D’Hiroshima., Une fois entré, l’attaquant a pu modifier au moins un des enregistrements MX de ces domaines et ainsi détourner la livraison de l’e-mail de ce domaine.

Nous allons tenter d’atténuer ce risque spécifique en utilisant un fournisseur DNS distinct—en particulier, nous allons utiliser le service DNS Route 53 D’Amazon. Cela limitera le montant des dégâts immédiats qu’un attaquant peut faire dans le cas peu probable d’un compromis chez votre registraire.

publicité

« Ah, » dites-vous, « mais si J’utilise Amazon EC2 pour mon serveur de messagerie et Amazon Route 53 Pour DNS, alors je ne suis pas du tout ségrégation!, »C’est vrai, mais Amazon vous offre un contrôle d’accès riche entre différents services; il n’est pas difficile de s’assurer qu’un ensemble d’informations de connexion ne peut modifier que votre serveur EC2 et qu’un autre ensemble d’informations d’identification ne peut modifier que vos paramètres DNS Route 53.

Il existe également de nombreux autres fournisseurs DNS si vous souhaitez distribuer physiquement vos œufs plutôt que de vous fier au contrôle d’accès—et être paranoïaque à propos de la sécurité n’est jamais imprudent., Pour ce guide, cependant, nous allons parcourir les étapes spécifiques que j’ai prises en prenant mes propres applications Google existantes-domaine hébergé et e—mail privé-cela signifie un serveur physique et Route 53 DNS (qui finit par me coûter environ 2 a par mois).

The who and the what

Il est préférable d’avoir un plan pour votre e-mail lorsque vous plongez dans ce processus de configuration: allez-vous commencer à neuf avec votre propre domaine et ne pas migrer les anciennes boîtes de réception e-mail en elle? Ou allez-vous prendre une boîte de réception et des dossiers d’ailleurs et synchroniser ou copier sur votre nouveau serveur?, Une fois que nous aurons commencé, nous parcourrons ce deuxième scénario—en prenant une adresse e-mail existante sur un domaine personnalisé et en la migrant directement vers votre propre serveur. Cependant, les étapes fonctionneront très bien pour passer, par exemple, d’une adresse Gmail ou d’une adresse fournie par le FAI.

maintenant, nous arrivons enfin à la partie « quoi »: quel système d’exploitation et quel logiciel. Attachez-vous, car nous devons d’abord suivre un cours intensif rapide en terminologie du courrier électronique.,

MTA, MDA et mua

Les applications qui envoient, reçoivent et délivrent des e-mails sont classées par leur rôle dans le processus, et ces rôles sont abrégés par une série d’Acronymes de trois lettres. La plupart des gens sont familiers avec leur MUA—c’est un agent utilisateur de messagerie, plus communément appelé un « client de messagerie » ou un « programme de messagerie. »Un MUA est un programme comme Outlook ou Thunderbird-c’est la chose que vous exécutez sur votre ordinateur avec laquelle vous envoyez et recevez des e-mails. Le courrier électronique est un outil standardisé, et vous pouvez généralement utiliser tout ce que MUA vous rend heureux.,

agrandir / C’est la Poste Aérienne, mon MUA (alias mon client e-mail).

Au sommet se trouve le MTA, ou agent de transfert de courrier. C’est l’application principale qui transmet réellement le courrier électronique entre les serveurs-des applications comme Exim, sendmail, Postfix et qmail. Nous allons mettre en place Postfix comme notre MTA, ce qui nous donnera un bon équilibre entre flexibilité, interopérabilité et puissance.,

pris en sandwich au milieu entre le MUA sur votre bureau et le MTA sur le serveur est une autre catégorie d’application: le MDA, ou agent de livraison de courrier. Le MDA reçoit les messages du serveur de messagerie dans les boîtes de réception des utilisateurs, le plus souvent avec les protocoles de messagerie POP ou IMAP. Sauf dans certaines circonstances très limitées, un MTA ne vous fera pas beaucoup de bien sans un MDA, nous allons donc utiliser Dovecot comme notre MDA.

publicité

Il existe également d’autres catégories MxA, mais Postfix et Dovecot vont ensemble comme les pois et les carottes., Entre les deux, nous serons fixés du point de vue de la transmission et de la livraison du courrier.

le système D’exploitation: Linux

notre choix d’outils dicte notre choix de systèmes d’exploitation: nous allons l’exécuter sur Linux—en particulier, Ubuntu Server 12.04 LTS, car pour nos besoins, c’est le plus universellement accessible et configurable (et il est également disponible sur le niveau gratuit Amazon EC2).

Ubuntu Server nous donne un accès rapide à tout ce dont nous avons besoin—pas seulement Postfix et Dovecot, mais aussi tous les outils de support dont nous avons besoin pour que le courrier électronique fonctionne en toute sécurité.

les outils de Support?,

Oh, oui-nous aurons un certain nombre de choses supplémentaires à faire fonctionner, car ce n’est pas un tutoriel rapide jetable., Nous allons le faire correctement, et cela signifie qu’au moment où nous aurons terminé, nous aurons configuré et configuré tout cela:

  • Postfix, pour envoyer et recevoir des e-mails
  • Dovecot, pour IMAP
  • SpamAssassin, pour garder le spam hors de votre boîte de réception
  • ClamAV, pour filtrer les virus
  • Sieve, pour mettre en place des filtres RoundCube, pour le webmail
  • PostgreSQL (ou MySQL/MariaDB), pour la base de données roundcube
  • nginx et PHP-FPM, pour servir RoundCube sur le web

et ce n’est que la pointe de l’Iceberg., En plus d’installer tous ces éléments, nous allons suivre les étapes de durcissement et de sécurité pour chacun, en particulier Roundcube (auquel nous ajouterons L’authentification par certificat basée sur PKCS12 et les connexions à deux facteurs avec Google Authenticator).

Nous allons également passer par toutes les étapes auxiliaires nécessaires pour s’assurer que vos e-mails sont reçus correctement—s’assurer que vous avez des certificats SSL/TLS, configurer DKIM et SPF, s’assurer que vos enregistrements MX et reverse PTR sont corrects, et un tas d’autres choses., Et nous allons même trouver un peu de temps ici pour vous assurer que vous pouvez envoyer et recevoir des e-mails avec le cryptage PGP.

Annonce

Nous sommes, en résumé, allez faire un tas de trucs.

OK, maintenant j’ai peur et je suis submergé

ne le soyez pas, car c’est Ars Technica, et vous êtes intelligent. Nous allons décomposer chaque étape et parcourir à peu près chaque ligne de chaque fichier de configuration au fur et à mesure. À la fin de cela, vous allez être comme (TV, Pas de lutte) Steve Austin: mieux, plus fort, plus rapide.,

Nous adoptons une approche très semblable à Unix pour le courrier électronique plutôt qu’une approche monolithique (semblable à Microsoft). Les systèmes d’exploitation de type Unix sont généralement composés d’un certain nombre d’outils discrets qui sont chacun très bons pour un nombre très limité de tâches; cela vous donne la modularité et la personnalisation, mais souvent au détriment de la complexité. Pour le courrier électronique, nous allons lier ensemble la liste ci-dessus des applications discrètes dans une station de combat entièrement armée et opérationnelle.

publicité

Il y a, cependant, beaucoup d’autres façons de peau le chat e-mail., Si vous commencez vraiment à partir de zéro et que vous voulez juste une pile de messagerie Linux fonctionnelle sans passer par la grande configuration, il y a iRedMail-c’est un paquet préemballé de presque tous les mêmes outils que nous allons mettre en place, et vous pouvez le faire en quelques minutes.

Il y a aussi cette façon Microsoft monolithique, et vous pouvez (relativement) facilement configurer Microsoft Exchange Server si vous êtes plus à l’aise avec L’écosystème Microsoft. Il y a cependant un certain nombre d’inconvénients, et le principal d’entre eux est que L’échange n’est pas gratuit., Si vous voulez jouer de ce côté de la clôture, cependant, vous devrez trouver un autre guide—Nous nous en tenons à Postfix et à des amis.

le moment: en ce moment! Acheter un nom de domaine!

Nous terminerons la partie 1 ici en clouant les deux plus grands prérequis dont nous avons besoin pour commencer: un domaine et un serveur.

Si vous n’avez jamais enregistré de domaine auparavant, cela peut ressembler à un processus intimidant. Cependant, tout ce dont vous avez besoin est un registraire et une carte de crédit (et, bien sûr, un nom à l’esprit). Allez, dites, Gandi.net formulaire de recherche et fouillez pour voir ce qui est disponible. Dangerrocket.com ou vorpalsnake.,com ou attackweasel.com chacun pourrait être le vôtre pour 1 15.50!

publicité

trouvez celui que vous aimez et achetez-le pendant un an. Rappelez-vous simplement qu’un domaine qui semble hilarant pourrait ne pas faire la meilleure impression sur un employeur potentiel si vous l’utilisez pour le courrier électronique… bien que « [email protected] » cela semble en fait assez dur à cuire.

protection WHOIS

L’ICANN exige que les bureaux d’enregistrement de domaine répertorient publiquement les coordonnées des domaines Internet (avec différents domaines de premier niveau ayant des règles différentes pour savoir comment et combien d’informations doivent être affichées)., Les utilisateurs de Linux et OS X peuvent utiliser l’utilitaire de ligne de commande whois (ou n’importe qui peut utiliser des outils en ligne comme celui-ci) pour afficher ces informations pour les domaines. Par exemple, faire une recherche Whois sur arstechnica.com vous indique qui en est le propriétaire (Condé Nast Digital), ainsi que les contacts administratifs et techniques.

Si vous enregistrez un domaine, les informations que vous fournissez seront également visibles—ce n’est clairement pas une situation idéale pour un particulier qui ne veut pas que ses informations personnelles soient librement disponibles., La plupart des bureaux d’enregistrement offrent un service diversement appelé « WHOIS protection » ou « Privacy Guard » ou d’autres noms similaires, où ils remplacent leurs propres informations par les vôtres. Certains bureaux d’enregistrement facturent des frais supplémentaires pour le service, et certains (comme Gandi.net) offrez-le gratuitement.

publicité

quel que soit le registraire que vous choisissez, optez pour leur service de protection Whois. C’est une chose pour une entreprise d’avoir des informations de contact visibles comme celle-ci; c’en est une autre pour les utilisateurs individuels d’être ainsi exposés.,

deux facteurs que le registrar

quelles que soient les mesures de sécurité supplémentaires que votre registrar de choix offre, vous devez les activer. Ne pas profiter d’une sécurité supplémentaire, c’est comme ne pas profiter de la correspondance 401(k) d’un employeur—s’ils l’offrent et que vous ne le faites pas, vous êtes tout simplement stupide. Namecheap, par exemple, vous permet de désactiver les réinitialisations de mot de passe, et il fait l’authentification à deux facteurs en envoyant des codes sur votre téléphone mobile.

agrandir / Namecheap offre une authentification à deux facteurs basée sur SMS ainsi que la possibilité de restreindre les réinitialisations de mot de passe.,

Gandi.net d’autre part, vous donne la possibilité de restreindre l’exploitation forestière dans une certaine plage d’adresses IP. Il offre une authentification à deux facteurs via une application TOTP comme Google Authenticator.

agrandir / Gandi.net dispose de mots de passe à deux facteurs basés sur Google Authenticator et peut vous permettre de restreindre les plages d’adresses IP autorisées à vous connecter à votre compte.

Quel que soit votre registraire a, tourner sur chaque peu de lui., Cela rendra la connexion un peu moins pratique, mais cela rendra également beaucoup plus difficile pour un attaquant d’arracher le contrôle de votre domaine.

Stack dat app

Si vous installez Ubuntu Server à partir de zéro, le seul composant serveur que vous devez sélectionner lors de l’installation est le serveur OpenSSH (que nous basculerons éventuellement vers la connexion basée sur des clés avant d’avoir terminé cette série)., Plutôt que d’installer Dovecot et Postfix séparément, il y a un seul paquet qui les tirera tous les deux vers le bas et fera la part du lion de la configuration pour que les deux applications se connectent. Exécutez la commande suivante:

$ sudo aptitude install mail-stack-delivery

Après un moment, le paquet shunt vous dans un écran vous demandant de choisir une configuration de base pour Postfix. Parmi les options disponibles, nous voulons « site Internet » car nous allons (éventuellement) envoyer et recevoir notre courrier directement avec Postfix plutôt que de le relayer via un autre serveur.,

Agrandir / Postfix est installé et configuré comme partie de l’emballage.

La prochaine boîte de dialogue de configuration vous demande de mettre le nom de domaine de votre serveur afin que le serveur sache pour quel domaine il va principalement envoyer et recevoir des e-mails. Si vous avez acheté un domaine, remplissez le nom; si vous ne faites que tester ou si vous n’avez pas l’intention de rendre ce serveur public, quelque chose comme « local.loc  » ou un autre domaine local inexistant doit être utilisé.,

Agrandir / Votre nom de domaine complet est ici!

Après cela, laissez l’installation se produire. Vous finirez avec une installation presque prête pour la production de Postfix et Dovecot.

Attendez, c’était facile!

bien sûr, mais nous venons à peine de commencer. Dans la partie 2, Nous allons creuser profondément dans les tripes de Postfix et de Dovecot et les câbler encore plus étroitement., Nous récupérerons un certificat SSL / TLS réel car votre serveur de messagerie devra être en mesure de s’identifier correctement et en toute sécurité à d’autres serveurs de messagerie. Nous déciderons où et comment stocker vos noms et mots de passe de compte de boîte aux lettres, ainsi que les boîtes aux lettres elles-mêmes. Au moment où nous aurons terminé avec la partie 2, nous aurons sacrément près d’une configuration de messagerie entièrement fonctionnelle-mais nous ne serons pas encore prêts pour les heures de grande écoute.

dans la partie 3, Nous allons définir les accessoires requis: antispam, antivirus et filtrage côté serveur. Nous allons également mettre Roundcube en service afin que vous ayez un webmail., Nous allons verrouiller ce webmail serré, aussi.

publicité

en cours de route, nous allons également saupoudrer tous les bits supplémentaires nécessaires pour s’assurer que votre e-mail sera bien reçu par d’autres serveurs: nous allons configurer DKIM (DomainKeys Identified Mail) et les enregistrements DNS nécessaires pour le faire fonctionner, ainsi que les enregistrements SPF pour une autre couche de validation.

mon objectif—en supposant que rien d’autre fou ne se produise entre—temps-est de courir une pièce par semaine, donc si vous suivez le long à la maison, nous aurons terminé dans un mois., Même si cela semble être intimidant, croyez-moi: c’est un voyage qui vaut la peine d’être entrepris.

rendez-vous la semaine prochaine.

Leave A Comment