Gostaria de retransmitir emails de saída do meu MTA por meio de um servidor de terceiros (outbound.mailhop.org) para entrega final. Eu estou querendo saber como fazer a conexão segura entre as máquinas 'confiáveis'. Esta é a parte relevante da minha configuração atual do Postfix:
smtp_use_tls = yes
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
smtp_tls_security_level = may
smtp_tls_loglevel = 1
smtp_sasl_auth_enable = yes
smtp_sasl_security_options = noanonymous
smtp_sasl_password_maps = hash:/etc/postfix/relay
relayhost = [outbound.mailhop.org]
Quando envio uma mensagem de teste, recebo dos registros de email,
Untrusted TLS connection established to outbound.mailhop.org[54.186.218.12]:25: TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)
Como posso tornar essa conexão 'confiável'?
/etc/ssl/certs/ca-certificates.crt
já contenha o certificado CA remoto?smtp_use_tls
está obsoleto . Use smtp_tls_security_level. BTW eu definirsmtp_tls_security_level=encrypt
./etc/ssl/certs/ca-certificates.crt
é exatamente o que foi fornecido com o sistema operacional. Preciso perguntar ao provedor de servidor de terceiros qual certificado CA está usando?openssl s_client -showcerts -starttls smtp -connect outbound.mailhop.org:25
e ver a cadeia de certificados. Nesse caso, você obtém o certificado raiz, que é o DigiCert.Respostas:
Tudo bem, pelos comentários, deduzo que você deseja uma conexão "confiável", mesmo que não saiba o que "confiável" significa em primeiro lugar. Bem, para simplificar, significa que você afirma que sabe com quem está falando .
Você pode ver o certificado e sua cadeia. Você não precisa perguntar a eles, pois o certificado deles é uma informação pública. As práticas recomendadas recomendam que você pergunte se o certificado que você obtém ao se conectar é realmente o certificado deles, solicitando que eles verifiquem a impressão digital por telefone ou similar. Para mais detalhes, leia o assunto.
Se a CA raiz com a qual o certificado é assinado for proveniente de uma CA pública, colocar essa CA raiz no arquivo significaria que você confia a todos com um certificado assinado por essa CA raiz. Se não é isso que você deseja e realmente deseja confiar neles e em mais ninguém, então você pode usar a
smtp_tls_trust_anchor_file
opçãoSe você apenas falar com esse relé, poderá / deve usá-
smtp_tls_security_level=encrypt
lo, pois ele não retornará a uma conexão de texto sem formatação e a conexão será criptografada ou a conexão falhará.Conforme indicado nos comentários, você também deve evitar
smtp_use_tls
usar o Postfix 2.3 e superior, pois esse comando foi descontinuado. Basta usarsmtp_tls_security_level
como descrito acima.Finalmente, http://www.postfix.org/postconf.5.html é seu amigo.
fonte