Postfix: verificar se todas as conexões TLS de saída estão sendo estabelecidas adequadamente

4

Recebi a tarefa de configurar um servidor Postfix em execução no Ubuntu. Os e-mails estão sendo enviados através do meu relé e tudo parece bem, exceto pelo fato de que não consigo fazer o TLS funcionar com o Gmail ou com outros clientes de e-mail. Por exemplo, veja a saída TLS do meu arquivo main.cf:

# TLS parameters

smtpd_tls_cert_file=/etc/ssl/certs/company.com.crt
smtpd_tls_key_file=/etc/ssl/private/company.com.key
smtpd_tls_CAfile=/etc/ssl/certs/gd_bundle.crt
smtp_tls_CApath=/etc/ssl/certs
smtpd_use_tls=yes
smtpd_tls_auth_only=yes
smtpd_tls_security_level=may
smtp_tls_security_level=may
smtp_tls_loglevel=1
smtpd_tls_loglevel=1
smtp_tls_note_starttls_offer=yes
smtpd_tls_session_cache_database=btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database=btree:${data_directory}/smtp_scache

# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.

Eu fiz o seguinte através do Telnet para verificar STARTTLS:

Connected to localhost.
Escape character is '^]'.
220 prod-email.company.local ESMTP Postfix (Ubuntu)
EHLO localhost
250-prod-email.company.local
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-8BITMIME
250-DSN
250 SMTPUTF8
STARTTLS
220 2.0.0 Ready to start TLS

Também vejo o TLS estabelecendo conexões com muitos outros servidores de retransmissão / troca nos logs (há muito mais do que esses exemplos):

Nov  2 11:08:58 prod-email postfix/smtp[7864]: Trusted TLS connection established to mx2-us1.ppe-hosted.com[67.231.154.163]:25: TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)
Nov  2 11:22:23 prod-email postfix/smtp[8672]: Trusted TLS connection established to mail.relaissanmaurizio.it[194.209.228.112]:25: TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)
Nov  2 11:22:25 prod-email postfix/smtp[8689]: Trusted TLS connection established to mail.relaissanmaurizio.it[194.209.228.112]:25: TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)
Nov  2 11:31:06 prod-email postfix/smtp[8676]: Trusted TLS connection established to mx1-us1.ppe-hosted.com[148.163.129.50]:25: TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)
Nov  2 11:51:13 prod-email postfix/smtp[9165]: Trusted TLS connection established to mail.relaissanmaurizio.it[194.209.228.112]:25: TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)
Nov  2 11:51:15 prod-email postfix/smtp[9229]: Trusted TLS connection established to mail.relaissanmaurizio.it[194.209.228.112]:25: TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)

Também estou vendo esses registros estranhos em /var/log/mail.log para um cliente em particular:

454 4.7.0 Connection is not TLS encrypted. Recipient organization requires TLS.

Como isso é possível quando parece que estou oferecendo o TLS para ser usado em emails enviados? Pelo menos parece desta forma de acordo com os logs acima (TLS Connection Established).

Minha pergunta é: por que não vejo essas conexões de TLS estabelecidas com os servidores do Gmail ou com o servidor no exemplo acima? Ainda recebo o pequeno cadeado vermelho nos Gmails enviados pelo servidor de retransmissão dizendo que ele não está sendo encitado. E alguns dos meus e-mails estão sendo adiados porque estão dizendo que a conexão não é criptografada por TLS?

Como posso verificar se o TLS está funcionando corretamente e se todos os e-mails de saída estão sendo criptografados com TLS para aqueles que aceitam o protocolo TLS?

A ajuda de qualquer pessoa é muito apreciada.

Atenciosamente

EDITAR:

 openssl s_client -connect localhost:25 -starttls smtp

 STARTTLS
 554 5.5.1 Error: TLS already active

Não fornece erros sobre meus certificados.

Os cabeçalhos de e-mail do Gmail e do Outlook também não exibem a criptografia TLS.

Eu estou perdido ...

UPDATE: Tentei fazer isso funcionar atualizando os certificados que estão sendo usados (o curinga cert já expirava em dezembro) e o TLS ainda não está funcionando corretamente. Por favor ajude.

UPDATE: também tentei forçar o TLS para o gmail e recebi o seguinte erro:

TLS is required, but was not offered by host alt1.gmail-smtp-in.l.google.com[74.125.192.27]

Por que o Google não oferecerá o TLS? Estou confuso ...

    
por MotoDave452 02.11.2017 / 17:22

3 respostas

3

Você está sentado atrás de um firewall?

Se sim, verifique se você está usando a regra de inspeção do ESMTP. Remover esta regra de global_policy pode ajudar.

    
por 22.11.2017 / 19:12
2

Eu comparei sua configuração do Postfix com uma configuração de trabalho e percebi que sua configuração está faltando smtp_use_tls = yes .

De acordo com este post da lista de discussão do postfix , smtp_ * entradas se aplicam ao seu servidor SMTP como remetente , enquanto entradas iniciando smtp d _ * se aplicam ao seu servidor SMTP como destinatário . Parece que seus problemas estão restritos ao seu servidor SMTP como remetente .

Também encontrei esta documentação do Postfix , que afirma que smtp_use_tls está definido como "não" por padrão.

Então, sugiro configurar smtp_use_tls = yes e ver se isso faz alguma coisa. Se não, talvez outras configurações smtp_ * possam ser o problema.

EDIT: smtp_use_tls deve ser substituído por smtp_tls_security_level nas versões mais recentes do Postfix. Percebo que você não mencionou a versão do Postfix, mas isso provavelmente só ajudará se for mais antigo que 2,3.

    
por 07.11.2017 / 20:30
1

Removendo o ESMTP do firewall da Cisco A política global corrigiu isso para nós. O ESMTP vem habilitado por padrão no firewall da Cisco.

    
por 30.07.2018 / 15:53