Вопрос или проблема
Пользователь связался со мной, потому что он не мог отправить почту. Когда я попытался отправить из Thunderbird, он отобразил:
Этот сайт пытается идентифицировать себя с недействительной информацией.
Я никогда не видел такого рода ошибку в postfix, и это вызывает у меня беспокойство, так как это сервер клиента.
certbot renew
показывает, что сертификат действителен ещё 71 день.
Когда я обновил, я перезапустил dovecot и postfix. Однако проблема осталась.
У меня была проблема, когда Thunderbird не распознавал сертификат Let’s Encrypt, потому что до этого был самоподписанный. Мне пришлось войти в /etc/postfix/
, отредактировать /etc/postfix/sni_map
и выполнить postmap -F hash:/etc/postfix/sni_map
.
Я открыл этот файл и увидел, что там были две строки, которые не были частью доменов, а поддоменами, которые я никогда не добавлял. Я удалил их, выполнил postmap -F hash:/etc/postfix/sni_map
и перезапустил postfix.
Похоже, это решило проблему.
Что произошло и повторится ли это снова?
Я единственный администратор, и обновлений, связанных с postfix или certbot, кроме моего последнего обновления, не было.
Я не мог провести больше устранения неисправностей, чтобы получить больше информации и понять проблему, потому что это рабочая машина в середине дня. Однако я могу сказать, что запускаю это на virtualmin и вручную произвожу обновления certbot.
Нуждается ли postfix в периодической очистке sni_map?
Предположить ли мне, что это повторится?
Я никогда не видел ошибку “Этот сайт пытается идентифицировать себя с недействительной информацией”.
Любые советы приветствуются.
*** обновление *** Нажатие на кнопку просмотра показало сертификат, который истек сегодня.
Когда я смотрю на certbot renew
, он говорит, что осталось 71 день.
С истекшими сертификатами я сталкивался раньше, но он никогда не отображал “…неверная информация”.
Может быть, мне следовало сделать скриншот всех деталей в этом просмотре?
.
Ответ или решение
Проблема, описанная выше, связана с использованием почтового сервера Postfix и возникновением ошибки при отправке почты с использованием Let’s Encrypt сертификата. Основное сообщение об ошибке, с которым пользователь столкнулся в Thunderbird, звучит так: «Этот сайт пытается идентифицировать себя с недействительной информацией». Из-за этого сообщения администратор начал нервничать, так как это затрагивает сервер клиента.
Теория (Theory)
При взаимодействии с почтовыми серверами и использованием SSL/TLS сертификатов могут возникать различные проблемы с безопасностью и совместимостью. Сертификаты Let’s Encrypt достаточно популярны из-за их бесплатного характера и автоматизации процесса обновления. Однако в ситуациях, где задействован самоподписанный сертификат, или когда обновления не применяются корректно, могут возникать ошибки сертификатов.
Ошибка «Этот сайт пытается идентифицировать себя с недействительной информацией» часто указывает на то, что предоставляемый сервером сертификат не соответствует ожиданиям клиента по каким-то параметрам, например, по сроку действия или по совпадению доменного имени.
Пример (Example)
В вашем случае, хотя certbot renew
сообщал, что сертификат действителен ещё 71 день, Thunderbird показывал ошибку, что указывает на несоответствие выставленного сервером сертификата и ожидаемого клиентом. Это может произойти, если:
- На сервере используется старый или неверный сертификат, несмотря на успешные обновления, и сервер продолжает предлагать старую версию.
- Сервер транслирует сертификат, связанный с другим доменом.
- Конфигурация Postfix либо Dovecot имеет ссылки на устаревший цепочку сертификатов.
- Может существовать проблема с SNI (индивидуальный механизм, позволяющий предоставлять различные сертификаты для доменов на одном IP).
В приведённой вами ситуации, удаление нежелательных записей в /etc/postfix/sni_map
и дальнейшая перекомпиляция карты с помощью postmap -F hash:/etc/postfix/sni_map
действительно решило проблему.
Применение (Application)
На практике, для предотвращения повторения подобных проблем, рекомендуется:
-
Проверка конфигурации: Убедитесь, что в конфигурационных файлах Postfix и Dovecot прописаны правильные пути к сертификатам и ключам. Проверьте, чтобы вся цепочка сертификатов находилась в актуальном состоянии.
-
Обновление сертификатов: Регулярно (и автоматизированно, если возможно) проверяйте обновление сертификатов Let’s Encrypt с помощью
certbot
. Убедитесь, что после каждого обновления вы выполняете полную перезагрузку почтовых сервисов, чтобы применить изменения. -
Проверка SNI: Убедитесь, что ваше конфигурация SNI (Server Name Indication) согласована со всеми доменами, которые вы обслуживаете. Это важно для multiple-domain environments.
-
Мониторинг и логирование: Настройте мониторинг для отслеживания статуса и даты истечения сертификатов. Логирование ошибок может помочь заранее выявить проблемные места.
-
Самопроверка и инспекция клиента: Убедитесь, что клиент (например, Thunderbird) использует корректно настроенный профиль и у него отсутствуют кэшированные записи на старые или самоподписанные сертификаты.
-
Верификация и аудит: Периодически проводите аудит безопасности для выявления потенциальных уязвимостей, связанных с управлением сертификатами и конфигурацией сервера.
В ваше случае, ошибка была решена путем актуализации конфигурации sni_map
, что показывает, что база данных Postfix иногда может не обновляться автоматически, если изменения внесены непосредственно.
Напоследок, всегда полезно делать скриншоты и сохранять их для дальнейшего анализа, если возникает неожиданная ошибка, так как это может предложить более детальную информацию о случившемся для дальнейшего исправления и улучшения процессов.