При проверке сертификата на сервере, получаю ошибку
openssl s_client -connect smtp.local.local:25 -starttls smtp
…
140195198617232:error:14082174:SSL routines:SSL3_CHECK_CERT_AND_ALGORITHM:dh key too small:s3_clnt.c:3339:
…
Да, я лопух, не позаботился о закрытии дырки в SSL. Впрочем, кому нужно ломать SSL при отправке почты через этот сервер, учитывая, что аутентификация клиентов идет не по сертификатам?
Ну да ладно.
В новой версии библиотеки nss, жестко ограничили длину:
- The minimum modulus size for RSA keys is now 512 bits
- The minimum modulus size for DSA keys is now 1023 bits
- The minimum modulus size for Diffie-Hellman keys is now 1023 bits
Решение для sendmail.
Генерируем DH файл параметров.
openssl dhparam -out /etc/pki/tls/certs/dhparams.pem 2048
Важно! Длинна должна быть не меньше, чем 1024, но на всякий пожарный я выбрал 2048. А вдруг они потом изменят свое решение в сторону увеличения?
Поскольку для тонкой настройки SSL (выбора чиперов) нет макросов m4, в файле sendmail.mc, в самом конце добавляем секцию LOCAL_CONFIG и в ней пишем соответствующие параметры:
LOCAL_CONFIG
O CipherList=HIGH:!ADH
O DHParameters=/etc/pki/tls/certs/dhparams.pem
Собственно используем тока эти чиперы:
# openssl ciphers -v ‘HIGH,!ADH’