Сертификат почтового сервера действителен согласно CheckTLS, недействителен согласно Thunderbird

Сертификат почтового сервера действителен согласно CheckTLS, недействителен согласно Thunderbird

Я настроил почтовый сервер с помощьюdocker-почтовый сервер.

DKIM, SPF, и DMARCнастроены нормально.

SSL настроен с помощью Let's Encrypt. На сервере включены TLS и STARTTLS.

Я провел тест TLS/SSL наhttps://www.checktls.com/TestReceiver, и там говорилось, что мой SSL работает нормально:

введите описание изображения здесь

введите описание изображения здесь

Я могу использовать Mozilla Thunderbird для получения и отправки электронной почты через сервер:

введите описание изображения здесь

Однако при входе в Thunderbird для получения электронной почты по протоколу IMAP или при отправке по протоколу SMTP я вижу это предупреждение (я все равно могу отправлять и получать электронную почту, если нажму кнопку «Подтвердить исключение безопасности»).

введите описание изображения здесь

Я проверил еще несколько сайтов для тестирования TLS/SSL электронной почты (1и2) и они, похоже, думают, что мои сертификаты настроены неправильно («Сертификат не соответствует имени хоста»).

Мысли?


Обновлять:Мне удалось достичь точки, где imap.domainname.comраспознается как Thunderbirdимеющий действительный сертификат, но не imap.domainname.com:143. Как это можно исправить, пожалуйста?

введите описание изображения здесь

решение1

Сообщение об ошибке говорит ровно то, что показывают ваши скриншоты: имя хоста в сертификате не совпадает. Вы проверяете свой сертификат с помощьюпочта.yourdomain.com, и он говорит, что он действителен, поэтому вы создали свой сертификат именно для этого имени хоста. Вы настраиваете thunderbird для использованияIMAP.yourdomain.com.

Если вы не настроили свои сертификаты так, чтобы они содержали альтернативные имена субъектов и включали «imap.yourdomain.com», сообщение об ошибке абсолютно верно.

По умолчанию каждый сертификат включает в себя только одно имя хоста, и они должны совпадать.

Другой возможностью было бы приобрести wildcard сертификат *.yourdomain.com. Wildcard сертификаты обычно стоят дороже, в то время как обычные сертификаты с альтернативными именами субъектов могут быть даже бесплатными при использовании «let encrypt» и их продлении каждые 90 дней.

решение2

Это несоответствие между mail.example.comв сертификате imap.example.comи smtp.example.comв конфигурации клиента. Вы могли бы либо

  • исправить конфигурацию клиента вручную,
  • настроить метод автоконфигурации, чтобы упростить задачу, или
  • просто расширьте сертификат, чтобы охватить все необходимые имена хостов.

SRVАвтоматическая настройка с использованием записей DNS

Звездный путь (RFC6186) для поиска серверов отправки и доступа к электронной почте будут использовать SRVзаписи DNS. С помощью этого вы можете указать, что отправка IMAP и SMTP обслуживается из mail.example.com.

_imap._tcp.example.com.        SRV 0 1 143 mail.example.com.
_submission._tcp.example.com.  SRV 0 1 587 mail.example.com.

Автоконфигурация Thunderbird

К сожалению, Thunderbird в настоящее время не поддерживает SRVзаписи (и, согласно обсуждению наОшибка 342242, вряд ли реализует его). Однако у него есть другая реализация дляАвтоконфигурация: вы можете служитьXML-файл конфигурациииз с напримерhttp://autoconfig.example.com/mail/[email protected]

<?xml version="1.0"?>
<clientConfig version="1.1">
  <emailProvider id="example.com">
    <domain>example.com</domain>
    <displayName/>
    <incomingServer type="imap">
      <hostname>mail.example.com</hostname>
      <port>143</port>
      <socketType>STARTTLS</socketType>
      <authentication>password-encrypted</authentication>
      <username>[email protected]</username>
    </incomingServer>
    <outgoingServer type="smtp">
      <hostname>mail.example.com</hostname>
      <port>587</port>
      <socketType>STARTTLS</socketType>
      <authentication>password-encrypted</authentication>
      <username>[email protected]</username>
    </outgoingServer>
  </emailProvider>
</clientConfig>

Если Thunderbird не находит такой файл конфигурации в указанном месте, он по умолчанию использует адреса imap.example.com, smtp.example.comесли только вы не выберете ручную настройку.

Добавление этих адресов в ваш сертификат

В качестве альтернативы вы можете добавить эти адреса в свой сертификат. Торстен уже упоминает эту возможность, но предполагает, что это будет возможно только с использованием платных wildcard-сертификатов. Это не совсем так, поскольку:

  1. Let´s Encrypt ACMEv2 поддерживает подстановочные знаки, хотя его настройка требует некоторого опыта.

  2. Нет необходимости иметь wildcard-сертификат для покрытия этих трех имен хостов, так какальтернативное имя субъектас (САН). Это возможнорасширить существующий сертификат с помощью Certbot, например

    certbot certonly --cert-name mail.example.com -d imap.example.com,smtp.example.com
    

решение3

В моем случае проблемы начались после обновления до Thunderbird 78.5. Я решил проблемы (в ограниченном объеме) следуя инструкциям в

https://stackoverflow.com/questions/63947262/thunderbird-78-how-to-add-security-exception

Вам нужно будет добавить значения портов (разделенные запятыми, если у вас несколько портов) во:config в Тандербердек ключевому слову

network.security.ports.banned.override

Решение не было идеальным: мне пришлось деактивировать защиту электронной почты в Avast, чтобы иметь возможность отправлять и получать электронную почту.

Связанный контент