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

Я настроил почтовый сервер, используя docker-mailserver .

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

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

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

enter image description here

enter image description here

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

enter image description here

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

enter image description here

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

Мысли?


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

enter image description here

3
задан 13 December 2020 в 18:55
3 ответа

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

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

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

В стандартном режиме ( RFC 6186 ) для определения местоположения серверов отправки и доступа к электронной почте будут использоваться записи DNS SRV . При этом вы можете указать, что и 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-файл конфигурации из (скрыто) с, например,

<?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>user@example.com</username>
    </incomingServer>
    <outgoingServer type="smtp">
      <hostname>mail.example.com</hostname>
      <port>587</port>
      <socketType>STARTTLS</socketType>
      <authentication>password-encrypted</authentication>
      <username>user@example.com</username>
    </outgoingServer>
  </emailProvider>
</clientConfig>

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

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

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

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

  2. Нет необходимости иметь подстановочный сертификат для покрытия этих трех имен хостов, поскольку альтернативная тема имя s (SAN) . Можно расширить существующий сертификат с помощью Certbot , например

     certbot certonly --cert-name mail.example.com -d imap.example.com, smtp.example.com
     
2
ответ дан 4 January 2021 в 07:39

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

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

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

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

4
ответ дан 4 January 2021 в 07:39

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

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

You ' Придется добавить значения портов (разделенные запятыми, если у вас несколько портов) в about: config в Thunderbird к ключевому слову

network.security.ports.banned.override

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

1
ответ дан 4 January 2021 в 07:39

Теги

Похожие вопросы