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.
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 ...
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.
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.
Tags ssl email postfix ubuntu email-server