Se o seu servidor estiver usando a configuração padrão, ele deverá estar usando o certificado auto-assinado snakeoil
. Isso é adequado e aceitável para estabelecer conexões TLS nas conexões de entrada e saída. No entanto, falhará na validação. Você precisará usar um certificado de uma autoridade confiável para passar pela validação.
Você está fornecendo aos clientes certificados que eles podem usar no lugar de um login? Diferente de seus usuários fornecidos com certificados de usuário, eu esperaria que os certificados do cliente falhassem com frequência. Muitos servidores usam um certificado auto-assinado ou têm outros problemas que causam falhas de validação.
O Exim não solicitará um certificado de cliente, a menos que você defina tls_verify_hosts
ou tls_try_verify_hosts
. Os certificados são bem abordados na seção Conexões SMTP criptografadas do Documentação do Exim.
Muitas organizações têm dificuldade em configurar corretamente o DNS para uso de STMP. O DKIM é particularmente problemático e a maioria dos signatários que encontro falha na validação. Tenho pouca esperança de que muitos sites tenham configurado seus servidores com os certificados válidos corretos.
Após a recente restrição de conexões com o TLS v1.0 e superior, tive que parar de anunciar STARTTLS
para vários servidores. Ainda não recorri a tentar validar certificados TLS para quaisquer clientes. Se eu fizer isso, no máximo, contará para sua pontuação de spam. Eu posso ativar o seletor de log tls_peerdn
para investigar se algum site pode passar pela validação.
O SMTP sobre TLS está crescendo, mas longe do padrão. Os sites que o utilizam são sites que são confiáveis por outros meios.
UPDATE: verifiquei meus registros e, até o momento, apenas dois remetentes passaram pela validação. A maioria dos clientes não validou.
Eu tentei validar meu certificado:
- O OpenSSL se conecta como
openssl.client.net
, o que não deve passar pela valiação do rDNS.
- O fullchain.cert não rastreia de volta para um certificado no armazenamento confiável padrão. Isso é OK, pois o certificado da cadeia é assinado por um certificado no armazenamento confiável.
- Parece que o openssl nem sequer tenta enviar o certificado do cliente. Possivelmente por causa da cadeia de confiança. Pode funcionar se você adicionar o terceiro certificado ao arquivo fullchain.pem.
- Eu vejo o DN do servidor listado, mas não há indicação de que o open_ssl tenha tentado enviar o certificado.
O comando de teste que usei foi:
echo quit | openssl s_client -cert fullchain.pem -key privkey.pem \
-starttls smtp -connect mail.systemajik.com:587 -debug 2>&1 | less