Gmail sinalizando e-mail Dovecot como inseguro

9

Pensei ter protegido com êxito o meu servidor de email Postfix / Dovecot. Eu tenho um certificado assinado da LetsEncrypt, que é válido para o meu domínio.

O envio e o recebimento funcionam bem, mas desde que o Gmail começou a sinalizar emails inseguros, todos os emails enviados do meu servidor são sinalizados como não criptografados.

Os usuários do Gmail veem "Esta mensagem não foi criptografada", assim:

insira a descrição da imagem aqui

No Postfix main.cf, entre outras configurações, tenho:

# 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

No Postfix master.cf, entre outras configurações, tenho:

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

No Dovecot 10-ssl.conf, entre outras configurações, tenho:

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

O Gmail está sinalizando falsamente os certificados LetsEncrypt porque não confia neles ou o meu email está realmente sendo enviado sem criptografia?

gavanon
fonte
1
Por favor, poste o Postfix main.cf. Você não incluiu tudo que é relevante nos seus snippets.
22416 Michael JacksonFev
@MichaelHampton - com certeza. Adicionei todo o conteúdo personalizado do meu main.cf. Ele apenas exclui coisas básicas como smtpd_banner, myhostname, etc.
Gavanon

Respostas:

10

Eu resolvi isso adicionando essas duas linhas ao Postfix main.cf:

smtp_tls_security_level = may
smtpd_tls_security_level = may

(Eu só tinha smtpd_tls_security_levelescrito por causa de um artigo enganoso que dizia que todos os smtp_valores eram depreciados a favor de smtpd_.)

gavanon
fonte
6

Seu email é enviado sem criptografia. Se você quiser apenas tentar o seu melhor, adicione o seguinte ao seu main.cf

smtp_tls_security_level = may

Para impor a criptografia TLS para o email enviado ao google, adicione-o ao seu main.cf

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

substitua / etc / postfix / rootcas / pelo local das suas CAs raiz confiáveis ​​e no arquivo / etc / postfix / tls_policy add

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

isso aplicará que o email enviado para gmail.com., google.com e googlemail.com sejam enviados criptografados e autenticando o servidor SMTP

Se você não deseja se autenticar e apenas criptografar (isso é necessário para sites com certificados falsos), use

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

antes de reiniciar o postfix, execute

postmap /etc/postfix/tls_policy
Jofre
fonte
Obrigado por isso. O que estou realmente tentando fazer é forçar o TLS sempre que possível a todos os destinos e voltar com segurança para não criptografado apenas como último recurso, se o destino não o suportar. Isso é possível sem listas atualizadas de domínios específicos? Como uma imensa força de TLS?
Gavanon
O problema é que existem muitos servidores que não oferecem suporte ao TLS e outros que o suportam e usam certificados autoassinados ou falsos. Além disso, como o STARTLS é enviado em texto não criptografado, um invasor ativo pode retirá-lo em trânsito. Concordo que manter uma longa mesa separada é o mais seguro, mas não a solução de confiança mais
Jofre
Eu também tenho alguns problemas com alguns sites. Consulte o Postfix “Conexão TLS confiável estabelecida” mas “Certificado do servidor não verificado”
Jofre
Graças - a primeira parte da sua resposta foi útil: smtp_tls_security_level = may. Era tudo o que era necessário e o restante das configurações específicas do Google não eram necessárias.
#
5

Considere o relacionamento cliente / servidor com relação ao SMTP e as configurações fazem sentido:

2.1 Estrutura básica

O design SMTP pode ser representado como:

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

(Src: rfc5321.txt)

Portanto:

"smtp_tls_security_level" é para o cliente SMTP do Postfix. Consulte: http://www.postfix.org/postconf.5.html#smtp_tls_security_level

"smtp d _tls_security_level" é para o servidor SMTP do Postfix Consulte: http://www.postfix.org/postconf.5.html#smtpd_tls_security_level

Quando o postfix está transferindo emails para o gmail, a configuração smtp_tls_security_level é a configuração associada.

Quando o postfix está recebendo emails sobre smtp, a configuração smtp d _tls_security_level é relevante.

user885983
fonte