Configurez Kodi IPTV m3u en moins de 2 minutes et regardez des chaînes illimitées

Debian Postfix Dovecot

Debian 9 : serveur de messagerie, partie I: Postfix et Dovecot (SSL/TLS).

Vues : 1872

Dans cet article, nous allons configurer l’hébergement de la messagerie personnelle sur un serveur Debian Gnu/Linux 9.

Le serveur pourra: envoyer et recevoir des emails (SMTP avec Postfix) lire les emails des clients (IMAP avec Dovecot) connexions sécurisées (SSL / TLS) authentifier les utilisateurs à l’aide de noms d’utilisateur et de mots de passe (PAM).

Nous Supposons que vous avez déjà votre nom de domaine, par exemple exemple.com, et que les enregistrements MX de votre configuration DNS pointent vers votre serveur.

Vous pouvez vérifier cela rapidement en utilisant dig:

dig +short MX example.com

[the_ad id=”23662″]

Génération de certificats SSL

La meilleure solution pour générer des certificats SSL consiste à utiliser Let’s Encrypt. Installez le par:

sudo apt-get install certbot python-certbot-nginx

Demandez un certificat pour votre serveur de messagerie en:

certbot certonly --standalone -d mail.mydomain.com

Remplacement de mail.mydomain.com par le nom de domaine complet (FQDN) de votre serveur.

Les certificats émis par Let’s Encrypt expirent après 90 jours, mais seront automatiquement renouvelés tous les 60 jours par un travail Cron (installé par défaut dans la distribution Debian).

Configuration de Postfix

Postfix est un agent de transfert de courrier (MTA), c’est-à-dire un logiciel qui envoie et reçoit des courriers électroniques à destination et en provenance d’autres ordinateurs du réseau à l’aide du protocole SMTP (Simple Mail Transfer Protocol).

Du point de vue d’un client de messagerie,

POP/IMAP sont les protocoles utilisés pour recevoir des messages et SMTP est utilisé pour l’envoi. Cependant, ‘POP/IMAP = receive’ et ‘SMTP = send’ n’est pas vrai: les serveurs de messagerie utilisent le protocole SMTP pour échanger des messages, c’est-à-dire pour l’envoi et la réception.

Ce qui est correct, c’est que:

  • POP/IMAP sont utilisés par un client pour lire les messages d’un serveur de messagerie;
  • SMTP est utilisé pour échanger des e-mails entre ordinateurs.

Si votre ordinateur était allumé et connecté au réseau en permanence, vous pouvez utiliser SMTP pour recevoir des messages sur votre appareil.

Cependant, étant donné que votre ordinateur peut être éteint ou déconnecté, le modèle le plus courant consiste à demander à votre serveur de messagerie de conserver les messages pour vous, puis à les lire ultérieurement à l’aide de POP/IMAP.

Ceci étant dit, installons Postfix!

sudo apt-get install postfix

Une interface graphique ncurses apparaîtra avec quelques questions de configuration. Répondez comme suit:

  • General type of mail configuration: “Internet Site“;
  • Mail name: enter your domain name, example.com dans notre example;
  • Laissez les valeurs par défaut aux autres questions.

Allez dans votre fichier de configuration /etc/postfix/main.cf et assurez-vous que les champs de votre nom de domaine et de votre configuration SSL sont corrects.

[the_ad id=”23663″]

Voici quelques extraits de mon fichier de configuration (attention: ce n’est pas un fichier de configuration complet):

# Hostname and domain name
myhostname=mymachine.example.com
mydomain=example.com
myorigin=$mydomain

# SSL/TLS certificates
smtpd_tls_cert_file = /etc/letsencrypt/live/mail.mydomain.com/fullchain.pem
smtpd_tls_key_file = /etc/letsencrypt/live/mail.mydomain.com/privkey.pem
smtpd_use_tls=yes
smtpd_tls_auth_only=yes

# Anti-SPAM rules adapted from https://wiki.debian.org/Postfix
smtpd_recipient_restrictions = permit_sasl_authenticated,
    reject_invalid_hostname,
    reject_unknown_recipient_domain,
    reject_unauth_destination,
    reject_rbl_client sbl.spamhaus.org,
    permit
smtpd_helo_restrictions = permit_sasl_authenticated,
    reject_invalid_helo_hostname,
    reject_non_fqdn_helo_hostname,
    reject_unknown_helo_hostname
smtpd_client_restrictions = permit_mynetworks,
    permit_sasl_authenticated,
    reject_unauth_destination,
    reject_rbl_client cbl.abuseat.org,
    permit

# Mail user agent restrictions adapted from https://askubuntu.com/a/1132874
smtpd_restriction_classes = mua_sender_restrictions,
    mua_client_restrictions,
    mua_helo_restrictions
mua_sender_restrictions = permit_sasl_authenticated, reject
mua_client_restrictions = permit_sasl_authenticated, reject
mua_helo_restrictions = permit_mynetworks,
    reject_non_fqdn_hostname,
    reject_invalid_hostname,
    permit

# Mail will be stored in users' ~/Maildir directories
#
# NB: make sure to enforce this setting as well in the `mail_location`
# of /etc/dovecot/conf.d/10-mail.conf (thanks to Markus Hoffmann for
# pointing this out):
#
#     mail_location = maildir:~/Maildir
#
home_mailbox = Maildir/
mailbox_command =

# From http://wiki2.dovecot.org/HowTo/PostfixAndDovecotSASL
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes

Ici, nous imposons une authentification sécurisée avec smtpd_tls_auth_only (commentez-le pour autoriser le trafic non chiffré).

Un champ important est la liste de smtpd_recipient_restrictions (notez qu’elle est spécifique à Postfix 2.9.x, qui est fournie par défaut sous Debian Wheezy; pour les versions ultérieures de Postfix, utilisez smtpd_relay_restrictions).

Il s’agit d’une liste d’instructions, telles que ‘autoriser’ ou ‘rejeter’, que le serveur appliquera dans cet ordre aux courriers électroniques reçus.

[the_ad id=”23662″]

Par la suite, vous voudrez peut-être consulter des alias (utilisés pour transférer des emails) ou des adresses électroniques virtuelles (utilisées pour créer des boîtes aux lettres non liées à un compte Unix), ces deux éléments étant décrits dans la page du wiki Debian pour Postfix.

Ensuite, allez dans /etc/postfix/master.cf et décommentez les lignes commençant par submit et smtps. Sur ma machine, c’était:

 

submission inet n       -       y       -       -       smtpd
  -o syslog_name=postfix/submission
  -o smtpd_tls_security_level=encrypt
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_reject_unlisted_recipient=no
  -o smtpd_client_restrictions=$mua_client_restrictions
  -o smtpd_helo_restrictions=$mua_helo_restrictions
  -o smtpd_sender_restrictions=$mua_sender_restrictions
  -o smtpd_recipient_restrictions=
  -o smtpd_relay_restrictions=permit_sasl_authenticated,reject
  -o milter_macro_daemon_name=ORIGINATING
smtps     inet  n       -       y       -       -       smtpd
  -o syslog_name=postfix/smtps
  -o smtpd_tls_wrappermode=yes
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_reject_unlisted_recipient=no
  -o smtpd_client_restrictions=$mua_client_restrictions
  -o smtpd_helo_restrictions=$mua_helo_restrictions
  -o smtpd_sender_restrictions=$mua_sender_restrictions
  -o smtpd_recipient_restrictions=
  -o smtpd_relay_restrictions=permit_sasl_authenticated,reject
  -o milter_macro_daemon_name=ORIGINATING

Ajoutez également la ligne suivante au bas du fichier pour Dovecot:

dovecot   unix  -       n       n       -       -       pipe
  flags=DRhu user=email:email argv=/usr/lib/dovecot/deliver -f ${sender} -d ${recipient}
 

Configuration de Dovecot

Pour installer Dovecot avec la pile IMAP:

sudo apt-get install dovecot-common dovecot-imapd

(Vous pouvez aussi ajouter dovecot-pop3d si vous voulez le serveur POP3; toutefois, nous allons nous concentrer sur IMAP dans ce tutoriel.)

Les fichiers de configuration de Dovecot se trouvent dans /etc/dovecot/conf.d/. Pour configurer les certificats SSL, ouvrez 10-ssl.conf et procédez comme suit:

# SSL/TLS support: yes, no, required. <doc/wiki/SSL.txt>
ssl = required
ssl_cert = </etc/letsencrypt/live/mail.mydomain.com/fullchain.pem
ssl_key = </etc/letsencrypt/live/mail.mydomain.com/privkey.pem

Pour forcer le cryptage SSL/TLS, ouvrez 10-auth.conf et assurez-vous que la ligne disable_plaintext_auth = yes.

Ensuite, ouvrez le fichier de configuration principal 10-master.conf et décommentez le paragraphe relatif à Postfix dans le bloc de service auth:

service auth {
  # Postfix smtp-auth
  unix_listener /var/spool/postfix/private/auth {
    mode = 0660
  }
}

Configuration du client Pour les clients de messagerie, la configuration de votre serveur devrait être la suivante:

Serveur: exemple.com

  • Compte d’utilisateur: utilisateur@exemple.com (adresse électronique complète)
  • Mot de passe: mot de passe Unix de l’utilisateur
  • Protocole: SMTP pour l’envoi ( authentification requise),
  • IMAP pour la réception
  • Ports: SMTPS 587 et IMAPS 993

Et c’est tout! Vous devriez être prêt à partir ou, le plus souvent et probablement, capable de déboguer vos prochaines erreurs de configuration; Vous pouvez les suivre via la commande suivante:

tail -f /var/log/mail.log 

Vous aurez peut-être besoin d’une configuration supplémentaire pour permettre à votre serveur de messagerie de survivre à l’état sauvage, c’est-à-dire: défendez-vous contre le spam et obtenez les justificatifs d Les fournisseurs de messagerie ne vous traitent pas comme un spammeur.

Voir le post de suivi sur SPF et DKIM pour savoir comment procéder.

[the_ad id=”23663″]

Webography Au moment d’écrire cet article, j’ai appris des articles du wiki de Debian et du wiki de Dovecot. Le tutoriel Comment configurer un serveur de messagerie simple sur Debian en 5 étapes simples vous a également aidé.

Basculez vers HTTPS maintenant, gratuitement, à partir du blog d’Eric Mill (maintenant obsolète).

Lors de la mise à jour de ce message vers Debian 9, j’ai également trouvé cette explication très concise et utile de GitHub, et enfin la traduction de cette article à était faite par Lotfi en utilisant Google translate et Lm translator.

Sabrina

Sabrina

Développeur informatique, (All-PHP's, JAVA, PERL, C, C++, Visual-Basic, Pascal, SPSS, SQL). Administrateur de réseaux informatiques, (Debian, Ubuntu) (Proxmox, Cpanel, Webmin, DNS), et Webmaster (Apache) ( Wordpress, PrestaShop, WooCommerce, Webmail Serveur et Client) 1990 -> 2017, Retraité depuis 2018... Contact: webmaster@milbako.com

Voir tous les articles de Sabrina →

Laisser un commentaire

Translate this page