Gmail Dovecot e-postalarını güvensiz olarak işaretliyor


10

Postfix / Dovecot e-posta sunucumu başarıyla koruduğumu sanıyordum. Etki alanım için geçerli olan LetsEncrypt imzalı bir sertifikam var.

Gönderme ve alma iyi çalışır, ancak Gmail güvensiz e-postaları işaretlemeye başladığından, sunucumdan gönderilen tüm postalar şifrelenmemiş olarak işaretlenir.

Gmail kullanıcıları şu şekilde "Bu mesaj şifrelenmemiş" ifadesini görür:

resim açıklamasını buraya girin

Postfix'in main.cfdiğer ayarlarının yanı sıra:

# SASL, for SMTP authentication
smtpd_sasl_type = dovecot
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_path = private/auth

# TLS, for encryption
smtpd_tls_security_level = may
smtpd_tls_auth_only = no
smtpd_tls_CAfile = /etc/letsencrypt/live/mydomain.com/chain.pem
smtpd_tls_cert_file = /etc/letsencrypt/live/mydomain.com/fullchain.pem
smtpd_tls_key_file = /etc/letsencrypt/live/mydomain.com/privkey.pem
tls_random_source = dev:/dev/urandom
smtpd_client_new_tls_session_rate_limit = 10
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_tls_exclude_ciphers =
    EXP
    EDH-RSA-DES-CBC-SHA
    ADH-DES-CBC-SHA
    DES-CBC-SHA
    SEED-SHA
smtpd_tls_dh512_param_file = ${config_directory}/certs/dh_512.pem
smtpd_tls_dh1024_param_file = ${config_directory}/certs/dh_1024.pem
disable_vrfy_command = yes
smtpd_helo_required = yes
smtpd_delay_reject = yes

Postfix'in master.cfdiğer ayarlarının yanı sıra:

smtp      inet  n       -       -       -       -       smtpd
  -o smtpd_enforce_tls=yes
  -o smtpd_use_tls=yes
  -o smtpd_tls_security_level=encrypt

submission inet n       -       -       -       -       smtpd
  -o syslog_name=postfix/submission
  -o smtpd_tls_security_level=encrypt
  -o smtpd_sasl_auth_enable=yes
  -o broken_sasl_auth_clients=yes

Dovecot'un 10-ssl.confdiğer ayarlarının yanında:

ssl = required
ssl_ca = </etc/letsencrypt/live/mydomain.com/chain.pem
ssl_cert = </etc/letsencrypt/live/mydomain.com/fullchain.pem
ssl_key = </etc/letsencrypt/live/mydomain.com/privkey.pem

Gmail, LetsEncrypt sertifikalarını onlara güvenmediği için yanlış mı işaretliyor veya e-postam gerçekten şifrelenmemiş olarak mı gönderiliyor?


1
Lütfen Postfix'i gönderin main.cf. Parçacıklarınızla alakalı her şeyi dahil etmediniz.
Michael Hampton

@MichaelHampton - kesinlikle bir şey. Main.cf dosyamın tüm özel içeriğini ekledim. Sanki sadece dışlayan temel şeyler smtpd_banner, myhostnamevb
Gavanon

Yanıtlar:


11

Ben Postfix en bu satırları ekleyerek bunu çözdü main.cf:

smtp_tls_security_level = may
smtpd_tls_security_level = may

(Sadece smtpd_tls_security_leveltüm smtp_değerlerin lehine amortismana uğradığını söyleyen yanıltıcı bir makale nedeniyle ayarlamıştım smtpd_.)


7

E-postanız şifrelenmemiş olarak gönderilir. Sadece en iyisini denemek istiyorsanız main.cf'nize aşağıdakileri ekleyin

smtp_tls_security_level = may

Google'a gönderilen e-postalar için TLS şifrelemesini zorunlu kılmak için bunu main.cf'nize ekleyin

# Force TLS for outgoing server connection
smtp_tls_policy_maps = hash:/etc/postfix/tls_policy
smtp_tls_CApath = /etc/postfix/rootcas/ 

/ etc / postfix / rootcas / dizinini güvenilir Kök CA'larınızın konumu ile değiştirin ve / etc / postfix / tls_policy add dosyasında

#/C=US/O=Equifax/OU=Equifax Secure Certificate Authority
gmail.com       secure ciphers=high
google.com      secure ciphers=high
googlemail.com  secure ciphers=high

bu, gmail.com., google.com ve googlemail.com adresine gönderilen e-postaların şifreli olarak gönderilmesini ve SMTP sunucusunun kimliğini doğrulamayı zorlar

Kimlik doğrulaması yapmak ve sadece şifrelemek istemiyorsanız (sahte sertifikaya sahip siteler için bu gereklidir) kullanın

gmail.com       encrypt ciphers=high
google.com      encrypt ciphers=high
googlemail.com  encrypt ciphers=high

postfix'i yeniden başlatmadan önce

postmap /etc/postfix/tls_policy

Bunun için teşekkürler. Gerçekten yapmaya çalıştığım şey, tüm hedeflere mümkün olduğunda TLS'yi zorlamak ve hedef desteklemiyorsa güvenli bir şekilde yalnızca son çare olarak şifrelenmemek. Belirli alan adlarının bakımı yapılmadan bu mümkün müdür? TLS'yi yakalama zorlaması gibi mi?
gavanon

Sorun, TLS'yi desteklemeyen birçok sunucunun ve onu destekleyen ve kendinden imzalı veya sahte sertifikalar kullanan diğer sunucular olmasıdır. Ayrıca STARTLS açık metin olarak gönderilirken, aktif bir saldırgan onu geçişte çıkarabilir. Ayrı bir uzun masa tutmanın en güvenli ancak en güvenilir çözüm olmadığını kabul ediyorum
Jofre


Teşekkür - Cevabınız ilk bölümü yardımcı oldu: smtp_tls_security_level = may. Tüm gereken buydu ve google'a özgü ayarların geri kalanı gerekli değildi.
gavanon

5

SMTP ile ilgili istemci / sunucu ilişkisini göz önünde bulundurun ve ayarlar mantıklıdır:

2.1. Basit yapı

SMTP tasarımı şu şekilde gösterilebilir:

              +----------+                +----------+
  +------+    |          |                |          |
  | User |<-->|          |      SMTP      |          |
  +------+    |  Client- |Commands/Replies| Server-  |
  +------+    |   SMTP   |<-------------->|    SMTP  |    +------+
  | File |<-->|          |    and Mail    |          |<-->| File |
  |System|    |          |                |          |    |System|
  +------+    +----------+                +----------+    +------+
               SMTP client                SMTP server

(Src: rfc5321.txt)

Böylece:

"smtp_tls_security_level" Postfix SMTP istemcisi içindir. Bkz. Http://www.postfix.org/postconf.5.html#smtp_tls_security_level

"smtp d _tls_security_level" Postfix SMTP sunucusu içindir Bkz: http://www.postfix.org/postconf.5.html#smtpd_tls_security_level

Postfix postaları gmail'e aktarırken , smtp_tls_security_level ayarı ilgili ayardır.

Postfix smtp üzerinden posta alırken , smtp d _tls_security_level ayarı önemlidir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.