Внезапно SSL Let’sEncrypt для моего почтового сервера не распознается.

Вопрос или проблема

ОС: CentOS

Домен: TownsendHardware.com

Я использовал Plesk для управления одним сервером с примерно двумя десятками доменов в течение многих лет. Я использовал Let’s Encrypt для SSL-сертификатов, и с электронной почтой никогда не было проблем. Чуть больше месяца назад я прекратил использовать Plesk.

Два дня назад у системы розничной торговли клиента перестали отправляться электронные письма с выставленными счетами, ссылаясь на то, что она не может подключиться к SMTP-серверу, потому что не может установить TLS-соединение.

SSL-сертификат сервера не удалось проверить по следующим причинам:

  • У сертификата сервера есть следующие ошибки.
  • Требуемый сертификат не находится в пределах его срока действия при проверке по текущим системным часам.

Это было шоком, потому что я был уверен, что восстановил процесс SSL Let’s Encrypt, установив CertBot и создав заново SSL для всех доменов. Я проверил перед написанием этого поста, и они все актуальны. Однако, когда я посетил CheckTLS.com и запустил их тест, мне сказали следующее:

введите описание изображения здесь
Нажмите, чтобы увидеть более крупное изображение

Соответствующая часть:

Сертификат #1 из 3 (отправленный MX): ОКОНЧЕН СРОК
ОШИБКА ВАЛИДАЦИИ СЕРТИФИКАТА: сертификат истек
Электронная почта зашифрована, но домен получателя не подтвержден
Имя сертификата не подтверждено (mail.townsendhardware.com != townsendhardware.com | DNS:townsendhardware.com) (включение Send SNI может решить эту проблему: Попробуйте это)
Электронная почта зашифрована, но хост не подтвержден

Не действителен до: 18 июля 11:54:10 2024 по всемирному времени
Не действителен после: 16 октября 11:54:09 2024 по всемирному времени
субъект: /CN=townsendhardware.com
выдаватель: /C=US/O=Let’s Encrypt/CN=R11

Для справки, я действительно пытался использовать Send SNI, чтобы увидеть, решит ли это проблему. Не решило.

Я видел подобные посты здесь на Server Fault (например, это) и следовал их рекомендациям, где мог, но большинство сводится к созданию поддомена mail.townsendhardware.com и использованию валидации HTTPS_01, что мне никогда не приходилось делать и чего я не хочу делать. Я пытался использовать CertBot для создания валидации DNS_01, но это не получилось (неудивительно), так как (как я подозреваю) он ищет TXT-запись ACME в mail.townsendhardware.com. (То есть я считаю, что именно там он хочет найти _acme-challenge.mail.townsendhardware.com. Я пытался разместить это в структуре DNS townsendhardware.com без успеха.)

Это дало мне идею просто создать домен mail.townsendhardware.com в структуре DNS с соответствующими записями A, MX и TXT (назовем это зомби-поддоменом)… но это ведь не имеет смысла, правда? И это не требовалось раньше.

Итак, мой вопрос: как Plesk настраивал Let’s Encrypt для правильного шифрования моего SMTP-сервера без необходимости создавать целый поддомен?

Для справки:

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

Ответ или решение

Когда вы сталкиваетесь с проблемой, когда SSL-сертификат Let’s Encrypt для вашего почтового сервера не распознается, это может быть связано с несколькими факторами, особенно после перехода от Plesk к другим методам управления сервером. В данной ситуации ключевые аспекты проблемы изложены, и далее будут проведены рекомендации для ее решения.

Причины проблемы

  1. Истекший сертификат: Согласно результатам, предоставленным вами, сертификат, отправляемый вашим MX-сервером, истек. Это означает, что SSL-сертификат, установленные на вашем сервере, больше не действителен и его необходимо обновить или переустановить.

  2. Проблемы с верификацией сертификата: Ваша текущая настройка может не соответствовать необходимым для верификации стандартам, что приводит к ошибкам при проверке сертификата (например, несоответствие доменных имен).

  3. Отсутствие необходимых DNS-записей: Если вы планируете использовать DNS_01 верификацию, вам потребуется убедиться, что все необходимые записи DNS корректно настроены. Это может включать настройки поддомена mail.townsendhardware.com, который, кажется, используется для верификации.

Рекомендации по решению

  1. Проверка сертификатов:

    • Используйте команду certbot certificates для проверки всех сертификатов, установленных на вашем сервере. Убедитесь, что все они актуальны и не имеют статуса "истекший".
  2. Обновление сертификатов:

    • Если сертификат действительно истек, попробуйте выполнить команду:
      sudo certbot renew
    • Это должно инициировать процесс автоматического продления сертификатов. Если необходимо, можно запустить Certbot вручную с использованием параметров DNS_01 для создания новых записей.
  3. DNS-записи:

    • Создайте поддомен mail.townsendhardware.com и убедитесь, что он указывает на ваш почтовый сервер, добавив необходимые записи A, MX и TXT. Запись TXT, связанная с _acme-challenge.mail.townsendhardware.com, должна быть создана для успешной балансировки проверки с Certbot.
    • Убедитесь, что изменения DNS-сервисов вступили в силу (это может занять некоторое время).
  4. Настройка на базе Certbot:

    • Если вы не хотите использовать поддомен, проверьте конфигурацию вашего Certbot и убедитесь, что вы используете подходящие параметры, которые позволяют работать с основным доменом townsendhardware.com для верификации SSL.
  5. Используйте SNI (Server Name Indication):

    • Убедитесь, что ваш почтовый сервер настроен на поддержку SNI. Это может помочь в решении проблемы с несовпадением имени сертификата и домена.

Заключение

Проблема с нераспознаванием SSL-сертификатов Let’s Encrypt может быть решена путем коррекции настроек вашего почтового сервера, обновления сертификатов и проверки правильности конфигурации DNS. Если все действия выполнены, и ошибка не устранена, возможно, стоит обратиться к документации вашего почтового сервера или сообществу поддержки, чтобы получить более специфичные рекомендации в зависимости от используемого программного обеспечения.

Оцените материал
Добавить комментарий

Капча загружается...