it-swarm-eu.dev

Forcer le cryptage pour SMTP sortant avec Postfix

Quelqu'un sait-il comment dire à Postfix de crypter le courrier sortant?

Je l'ai configuré pour utiliser le cryptage à la réception, mais je ne peux pas le faire avec le courrier sortant. C'est mon main.cf fichier:

smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination
smtpd_sasl_auth_enable = yes
smtpd_sasl_path = smtpd
transport_maps = hash:/etc/postfix/transport

# tls config
smtp_use_tls = yes
smtpd_use_tls = yes
smtp_tls_note_starttls_offer = yes
smtpd_tls_key_file = /etc/postfix/ssl/smtpd.pem
smtpd_tls_cert_file = /etc/postfix/ssl/smtpd.pem
smtpd_tls_CAfile = /etc/postfix/ssl/smtpd.pem
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
tls_random_source = dev:/dev/urandom
24
Simon

smtp_tls_security_level = encrypt ou smtp_enforce_tls = yes

Pour des destinations spécifiques, vous pouvez utiliser smtp_tls_policy_maps

smtp_use_tls = yes et smtp_enforce_tls = yes sont déconseillés. Avec Postfix 2.3 et versions ultérieures, utilisez smtp_tls_security_level à la place.

N'oubliez pas: l'application du chiffrement TLS peut entraîner des problèmes de remise du courrier pour l'hôte SMTP, qui n'a pas TLS configuré. Si le serveur est utilisé pour livrer des courriers uniquement à votre serveur interne avec TLS configuré, ce n'est pas un problème dans ce cas. Mais si le serveur est utilisé pour distribuer le courrier aux serveurs publics, vous ne pouvez pas supposer que tous les serveurs prennent en charge TLS. Dans ce cas, utilisez smtp_tls_security_level = may

31
sumar

L'idée est de forcer les utilisateurs à configurer leurs clients de messagerie avec un serveur smtp sortant crypté. Avec la conf actuelle, Thunderbird leur laisse la possibilité de communiquer avec le serveur smtp en texte brut ...

Vous ne pouvez pas désactiver l'option dans Thunderbird sans recompiler le code source, mais vous pouvez configurer le démon stmpd de postfix (qui reçoit le courrier de vos clients) pour appliquer le chiffrement. Pour ce faire, utilisez smtpd_tls_security_level = encrypt , ce qui équivaut à des options obsolètes smtpd_use_tls = yes et smtp_enforce_tls = yes . smtpd_tls_security_level = encrypt et smtp_enforce_tls = yes implique smtpd_tls_auth_only = yes

De la documentation de postfix sur smtpd_tls_security_level = encrypt

Cryptage TLS obligatoire: annoncez la prise en charge STARTTLS aux clients SMTP et exigez que les clients utilisent le cryptage TLS. Selon RFC 2487 cela NE DOIT PAS être appliqué dans le cas d'un serveur SMTP référencé publiquement. Au lieu de cela, cette option doit être utilisée uniquement sur des serveurs dédiés.

Si vous utilisez un serveur public, vous ne pouvez pas appliquer le cryptage des e-mails sur le port 25/tcp. La meilleure solution est de désactiver la livraison du courrier via le port démon smtpd postfix 25/tcp de vos clients et d'activer le démon de soumission postfix (qui est un démon smtpd postfix spécial utilisé uniquement pour recevoir le courrier de vos clients locaux décrit dans RFC 4409 fonctionnant sur le port 587/tcp). Pour ce faire, définissez smtpd_tls_security_level = may et supprimez permit_sasl_authenticated de smtpd_recipient_restrictions . Dans master.cf ligne de commentaire sur le démon de soumission:

submission inet n       -       n       -       -   submission
  -o smtpd_tls_security_level=encrypt
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_recipient_resrictions=permit_sasl_authenticated,reject
4
sumar

Juste curieux, comment dites-vous qu'il n'utilise pas TLS? La valeur par défaut de smtp_tls_loglevel (qui est différente de smtpd_tls_loglevel) est 0, donc par défaut, vous ne verrez rien sur la négociation TLS pour le courrier sortant dans les journaux de Postfix.

Si vous définissez smtp_tls_loglevel = 1 ou supérieur, vous devriez voir une ligne comme celle-ci dans le journal lorsqu'un message est envoyé:

7 mars 22:28:10 rack postfix/smtp [27400]: initialisation du moteur TLS côté client

J'avoue que je suis paresseux, mais à part cela (et les notes de ms ci-dessus), la config me semble bien en un coup d'œil.

1
jlupolt