• Serveurs
  • [Discussion] Installer un serveur de mail avec Postfix et Dovecot

Bonjour,

Merci @Hardware pour cet excellent, sinon le meilleur, tuto sur un sujet complexe et pointu.

Pour alimenter : la partie DKIM
Génération des clés de chiffrement :
# Paramètres : -s [sélecteur] -d [nom de domaine] -b [taille de la clé]
opendkim-genkey -s mail -d domaine.tld -b 2048
Certains registrars n'acceptent pas les clés > 1024 bits donc pensez à changer le paramètre au-dessus si besoin.

Je confirme pour OVH : préférez la commande opendkim-genkey -s mail -d domaine.tld -b 1024

HTH
Hello again,

Je suis en train de réviser le tuto afin de monter un second serveur de mail pour la famille ;0)

Y a t'il moyen de forcer Postfix (et Dovecot) à n'accepeter QUE du TLSv1.2 (voir TLSv1.1)
Je ne suis pas sur de mesurer toute la portée de la directive

Ensuite nous allons définir les paramètres de chiffrement via TLS :
# Smtp ( OUTGOING / Client )
smtp_tls_loglevel            = 1
smtp_tls_security_level      = may
smtp_tls_CAfile              = /etc/ssl/certs/ca.cert.pem
smtp_tls_protocols           = !SSLv2, !SSLv3
smtp_tls_mandatory_protocols = !SSLv2, !SSLv3
smtp_tls_mandatory_ciphers   = high
smtp_tls_exclude_ciphers     = aNULL, eNULL, EXPORT, DES, 3DES, RC2, RC4, MD5, PSK, SRP, DSS, AECDH, ADH
smtp_tls_note_starttls_offer = yes

# ---------------------------------------------------------------------------------------------------

# Smtpd ( INCOMING / Server )
smtpd_tls_loglevel            = 1
smtpd_tls_auth_only           = yes
smtpd_tls_security_level      = may
smtpd_tls_received_header     = yes
smtpd_tls_protocols           = !SSLv2, !SSLv3
smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3
smtpd_tls_mandatory_ciphers   = medium

# Infos (voir : postconf -d)
Idem pour dovecot

Enfin, editez le fichier 10-ssl.conf et modifiez les paramètres suivants :
# vim /etc/dovecot/conf.d/10-ssl.conf

ssl = required
ssl_cert = </etc/ssl/certs/mailserver.crt
ssl_key = </etc/ssl/private/mailserver.key
ssl_protocols = !SSLv2 !SSLv3
ssl_cipher_list = ALL:!aNULL:!eNULL:!LOW:!MEDIUM:!EXP:!RC2:!RC4:!DES:!3DES:!MD5:!PSK:!SRP:!DSS:!AECDH:!ADH:@STRENGTH
ssl_prefer_server_ciphers = yes # Dovecot > 2.2.x
ssl_dh_parameters_length = 2048 # Dovecot > 2.2.x
Remerciements
Hardware wrote:pour Pyzor : http://public.pyzor.org/whitelist/
Bonjour,
je suis allez sur le lien pour tenter de débloquer mon domaine, mais la page demande des infos dont je ne dispose pas, comme le RAW message et le pyzor digest???

Comment faire pour que mon domaine soit enfin whitlister sur pyzor?

D'avance merci.
Non en fait je me suis trompé, tu n'es pas blacklisté par Pyzor, c'est l'email que tu as envoyé à www.mail-tester.com qui est considéré comme du spam, il suffit juste que tu changes le sujet/corps de ton message, je suppose que tu as du mettre un truc du genre "test/test".
Effectivement, en mettant un autre sujet que simplement "test" mail-tester me renvoi un score différent.
Encore merci.
5 jours plus tard
Bonjour,

Tout fonctionne bien quand mon firewall n'est pas mis en place mais une fois que c'est le cas, je ne parviens plus à recevoir mes emails au sein de thunderbird. J'ai donc loggé les paquets qui sont bloqués par iptables et j'obtiens ceci :

PREC=0x00 TTL=64 ID=16316 DF PROTO=TCP SPT=143 DPT=35279 WINDOW=260 RES=0x00 ACK PSH URGP=0

On peut donc constater que le serveur tente de répondre à partir du port 143 (imap) alors que mon client est configuré pour communiquer sur le port 993. C'est peut-être normal, mais je trouve que cette réaction est assez étrange

merci par avance !

Persia,

- Edit : je suis parvenu à résoudre le souci en sélectionnant SSL/TLS en lieu et place de STARTTLS. Cependant, je ne comprends pas comment le port peut-être modifié juste en changeant le mécanisme de chiffrement ?
C'est pourtant tout à fait normal, ce sont deux méthodes de chiffrement différentes avec deux ports différents :
MTA <-> MTA
-------------------------------
25 : SMTP

MUA <-> MTA
-------------------------------
143 : IMAP (STARTTLS)
465 : SMTPS (SSL/TLS)
587 : SMTP (STARTTLS)
993 : IMAPS (SSL/TLS)
Selon la RFC, il est maintenant conseillé d'utiliser IMAPS via SSL/TLS(993) et SMTP via STARTTLS (587) pour l'envoie et la récupération des mails.
Merci pour les éclaircissements 😉
Yop all petit souci, depuis quelques jours ? mon enregistrement SPF ne passent apparament plus mais je vois pas pourquoi
_autodiscover._tcp      IN      SRV     0       0       443     ndd.xyz.
_imaps._tcp     IN      SRV     0       0       993     ohmna.ndd.xyz.
_submission._tcp        IN      SRV     0       0       587     ohmna.ndd.xyz.
mail._domainkey IN      TXT     "v=spf1 a mx ip4:ipdemonserveur ~all"
mail._domainkey IN      SPF     "v=spf1 a mx ip4:ipdemonserveur ~all"
mail._domainkey IN      TXT     ( "v=DKIM1; k=rsa; " "p=la clé ma gueule" )
_dmarc  IN      TXT     "v=DMARC1; p=reject; rua=mailto:postmaster@ndd.xyz; ruf=mailto:admin@ndd.xyz; adkim=s; aspf=s; pct=100; rf=afrf; sp=reject"

Tu n'as pas oublié cet enregistrement ?
@  IN TXT  "v=spf1 a mx ip4:ipv4_serveur ~all"
Bonsoir et tt d'abord merci pour ce script, c'est top! Ca fonctionne nikel chez moi j'arrive à envoyer et recevoir des mails.
Seul petite question:
Avant l'installation du script j'avais installé:
 bsd-mailx sendmail-bin 
J'envoyais des mails de mon serveur à ma boite gmail avec:
mail -s "Sujet" monmailt@gmail.com < texte.txt
Mais apres l'install avec la commande mail j'ai:
command not found
Y'a moyen de récupérer faire la même chose?
Postfix émule l'interface historique sendmail des systèmes UNIX, donc il faut que tu utilises cette commande :
sendmail user@domain.tld < mail.txt
Avec ce contenu :
# mail.txt

Subject: Mon sujet

Mon message
Comme tu l'as compris, les premières lignes sont les informations d'entêtes du mail, donc tu peux mettre aussi d'autres choses :
# mail.txt

Subject: Mon sujet
From: sender@domain.tld
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Mailer: Mon super script

Mon message
Au top ca marche
(avec root ou sudo faut juste que je trouve pour user)
Merci BCP

Edit: j'ai passé mon user en sudoer nopasswd
6 jours plus tard
Coucou a tous
Je revient vers vous pour un petit soucis concernant l'ajout d'un nouveau domaine sur mon serveur mail
J'ai mon domaine pour mes mail perso
@imchip.be et @homelife-roleplay.fr pour ma communauté
J'ai un score de 10/10 via mail-tester.com sur le domaine @homelife-roleplay.fr
Le mail tombe en spam sur les adresse @gmail.com sur le nouveau domaine et pas sur l'ancien
Pour envoyé les mail de mon site perso j'utiliser swiftmailer
Et pour ma communauté j'utilise xenforo
Je peut fournir les header des e-mail
Fait un test avec mail-tester pour voir.
Tu peux m'envoyer le header complet du mail après traitement par les serveurs de Google ?
Hardware wrote:Tu peux m'envoyer le header complet du mail après traitement par les serveurs de Google ?
Je vient de t'envoyer cela via MP il y à mon mail perso dedans
Bonjour,
Bravo pour le tuto et pour le site car cela donne envie de le lire et de le tester
J'étais sous sendmail. Ca marchait bien et j'ai voulu mettre dkim.
Bon en fouillant j'ai trouvé que postfix était plus simple de façon général pour s'essayer.
J'ai donc suivi le tuto.
PAr contre j'ai un soucis. Tout marche bien et j'arrive à un score de 10/10 il me manque dmarc et ... spamassassin.
Le soucis est quand je configure spamassassin alors j'ai deux fois dkim dans le header.

Quelqu'un aurait rencontré le soucis ? bon je peux tout refaire à zéro mais je n'ai pas 50 serveurs sous la main non plus.
Merci pour l'aide que vous pourriez m'apporter en complément.
@Chipie678 : je vois aucune anomalie dans les headers, peux-tu tester avec d'autres fournisseurs de mail autre que Gmail et aussi essaye d'envoyer un mail via swiftmailer avec le même contenu (sujet/corps) à mail-tester (pas un simple "Ceci est un test de notification").

Si il y a un soucis, c'est au niveau du contenu du mail et pas de la configuration du stack mail côté serveur et DNS.