Sendmail no Ubuntu 12.04 após a atualização, relacionado a SSL?

3

Eu postei isso no askubuntu.com ontem, mas não recebi nenhuma resposta.

Nós executamos um servidor Ubuntu de produção que serve milhares de pessoas por dia. O Sendmail atualmente não está trabalhando neste servidor. Passamos dias tentando recuperá-lo, mas ainda não encontramos nenhuma solução.

Atualmente, há um relatório de erros que parece estar relacionado a esse problema. afeta mais pessoas do que apenas nós.

Veja o que sabemos.

No domingo, nós atualizamos o servidor. No dia seguinte, descobrimos que o sendmail não estava enviando e-mails.

/var/log/sendmail.log informa "stat = Adiada" em cada entrada de email.

Ocasionalmente, ele também repete a seguinte mensagem:

STARTTLS=client, error:connect failed=-1, SSL_error=1, errno=0, retry=-1
STARTTLS=client: 7042:error:14082174:SSL routines:SSL3_CHECK_CERT_AND_ALGORITHM:dh key too small:s3_clnt.c:3338:ruleset=tls_server, arg1=SOFTWARE, relay=xxx.xxx.edu, reject=403 4.7.0 TLS handshake failed.

Verificamos os registros no servidor SMTP e encontramos o seguinte:

06-25T10:57:20-06:00 gw26 sm-mta[17229]: STARTTLS=server, error: accept failed=0, SSL_error=1, errno=0, retry=-1
No explanation available 2015-06-25T10:57:20-06:00 gw26 sm-mta[17229]: STARTTLS=server: 17229:error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure:s3_pkt.c:1110:SSL alert number 40
Explain this log line 2015-06-25T10:57:20-06:00 gw26 sm-mta[17229]: t5PGvKk0017229: opus.byu.edu [128.187.102.135] did not issue MAIL/EXPN/VRFY/ETRN during connection to MTA

Nós gastamos muito tempo pesquisando e encontramos várias pessoas com problemas relacionados em outros sistemas operacionais (CentOS e OpenBSD). Parece que o OpenSSL foi atualizado e agora requer uma chave SSL mais longa para funcionar corretamente.

Este bug na página da barra de lançamento pode estar relacionado.

Tentamos corrigir o problema seguindo as instruções do CentOS dadas aqui. NOTA: Nós mudamos a localização do novo arquivo dhparams.pem.

Generate DH parameters file on your server:

openssl dhparam -out /etc/pki/tls/certs/dhparams.pem 1024 Configure
sendmail to use this parameters file, and to use only strong ciphers.

Add to /etc/mail/sendmail.mc:

O LOCAL_CONFIG O CipherList=HIGH:!ADH
O DHParameters=/etc/pki/tls/certs/dhparams.pem 
O ServerSSLOptions=+SSL_OP_NO_SSLv2 +SSL_OP_NO_SSLv3
O SSL_OP_CIPHER_SERVER_PREFERENCE O ClientSSLOptions=+SSL_OP_NO_SSLv2 
O SSL_OP_NO_SSLv3

Then use make -C /etc/mail/ and service sendmail restart.

Isso não pareceu melhorar nada.

Editar:

Desativamos o TLS fazendo o seguinte e o sendmail instantaneamente começou a funcionar novamente. No entanto, isso não é uma solução, porque não queremos enviar e-mails de texto simples.

Add Try_TLS:1.2.3.4 NO to /etc/mail/access.
Do a make in /etc/mail and restart sendmail.

    
por Benjamin 26.06.2015 / 20:34

2 respostas

2

Pelo que entendi, o problema é que a sua atualização do OpenSSL tornou você intolerante a comprimentos curtos de chaves DH outros , a fim de proteja a conversa contra o ataque do Logjam . É por isso que aumentar o comprimento da chave your DH ( openssl dhparam ... , etc.) não ajudou em nada, enquanto desativava o TLS.

Obviamente, o que todos nós gostaríamos é de um sinalizador para o OpenSSL como --I'd-rather-my-mail-got-encrypted-even-if-the-NSA-are-reading-it-on-the-fly-so-just-shut-up-about-short-DH-keys-already . Infelizmente, este comportamento parece ser compilado no OpenSSL, os desenvolvedores não escolheram suportar um sinalizador como o que eu sugiro, e o sendmail parece não ter compilado nele a capacidade de desmarcar os ciphersuites que acionam esse comportamento.

Isso também significa que a solução de longo prazo é para os administradores do servidor de e-mail outros atualizarem o comprimento da chave DH. Você pode desativar o uso de TLS por domínio, com access map entries como

Try_TLS:mail.example.com NO

(com agradecimentos a novosial.org por essa ideia) se você puder identificar pares específicos com os quais você troca muitos e-mails e cujos administradores demoram a responder. Mas, até onde eu sei, se o seu servidor é (como o meu) um daqueles que de repente ficou exigente com os parâmetros de criptografia de outras pessoas, sua capacidade de consertar isso é limitada.

    
por 30.06.2015 / 09:53
0

Eu enfrentei o mesmo problema e corrigi o sendmail.cf da seguinte forma.

O CipherList=HIGH:!ADH:+DH

Isso significa que a prioridade da cifra que usa uma chave DH é reduzida. Ao fazer desta forma, a cifra não relacionada a uma chave DH é usada com prioridade, portanto, um erro de chave DH não ocorre.

    
por 16.07.2015 / 15:17