Я отправил это на askubuntu.com вчера, но не получил ответов.
Мы выполняем производство сервер Ubuntu, который служит тысячам людей в день. Sendmail в настоящее время не работает над этим сервером. Мы провели дни, пытаясь вернуть его, но мы еще не нашли решения.
В настоящее время существует отчет об ошибках, который, кажется, связан с этой проблемой, таким образом, это влияет на большее количество людей, чем просто мы.
Вот то, что мы знаем.
В воскресенье мы выполнили обновления на сервере. На следующий день мы нашли, что sendmail не удавалось послать электронные письма.
/var/log/sendmail.log сообщает о "stat=Deferred" относительно каждой почтовой записи.
Это также иногда повторяет следующее сообщение:
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.
Мы проверили вход в систему сервер SMTP и нашли следующее:
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
Мы провели много времени, гугля вокруг и нашли несколько человек со связанными проблемами в других операционных системах (CentOS и OpenBSD). Кажется, что OpenSSL был обновлен и теперь требует, чтобы более длинный ключ SSL функционировал правильно.
Эта ошибка на странице панели запуска может быть связана.
Мы попытались решить проблему путем следования инструкциям CentOS, данным здесь.Примечание: Мы изменили местоположение нового dhparams.pem файла.
Генерируйте файл параметров DH на своем сервере:
openssl dhparam -out /etc/pki/tls/certs/dhparams.pem 1024 Configure sendmail to use this parameters file, and to use only strong ciphers.
Добавьте к/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
Затем использование делает-C/etc/mail/и сервис sendmail перезапуск.
Это, казалось, ничего не улучшило всегда.
Править:
Мы выключили TLS путем выполнения следующего, и sendmail немедленно начал функционировать снова. Однако это не решение, потому что мы не хотим посылать электронные письма простого текста.
Добавить
Try_TLS:1.2.3.4 NO
к/etc/mail/access.
Сделайте делание в/etc/mail и перезапустите sendmail.
Процедура добавления dhparams файла и указания sendmail в нем работала на меня. Я получал "горячекатаные ключи, слишком маленькие" на недавно обновленном sendmail клиенте, и это было сервер , это отправляло к этому, нуждался в dhparams, фиксируют примененный. Forunately в моем случае, сервер находился под моим собственным контролем.
я немного обеспокоен, что сайты, которые получают эти ошибки, должны будут выключить TLS, как Вы имеете (или вернитесь обновление openssl). Это находится определенно не в духе того, что они пытались сделать (сделайте DH более сильным)!
В новом NSS библиотека установила минимальные длины ключа:
, очень важно, чтобы число битов составило не меньше чем 2 048 битов. 2048 был выбран для улучшения безопасности в случае DH.
openssl dhparam -out /etc/pki/tls/certs/dhparams.pem 2048
Также отключают всех дровосеков ADH в senmail.mc:
LOCAL_CONFIG
O CipherList=HIGH:!ADH
O DHParameters=/etc/pki/tls/certs/dhparams.pem