dovecot путает сертификат сайта с почтовым сертификатом

dovecot путает сертификат сайта с почтовым сертификатом

Постараюсь быть кратким. Я хочу, чтобы beta.example.com использовал мой сервер в качестве почтового. Я вижу, что dovecot и postfix имеют только одну строку для сертификата. Поэтому я создал сертификат для mail.example.com, который полностью действителен. Я попытался использовать thunderbird для подключения к своему почтовому серверу (beta.example.com), и он выдал мне предупреждение о неправильном домене, в котором говорилось, что сертификат принадлежит mail.example.com. Где я накосячил? Запись mx говорит mail.example.com, так что разве он не должен знать, что сертификат принадлежит mail.example.com? Я добавил исключение, однако он все равно не работает (после того, как он запросил у меня пароль). Я посмотрел на свой сервер, и, похоже, dovecot отклоняет соединение, потому что thunderbird предоставляет ему неверные данные сертификата.

решение1

Вы ощущаете само предназначение сертификатов: предотвращение случайного подключения к серверу, который не является тем, который вы ожидаете ( mail.example.comвместо beta.example.com). Вы должны настроить сертификат, выпущенный для домена, к которому вы подключаетесь, т. е. если почтовый клиент подключается к beta.example.com, вам нужен сертификат для beta.example.com.

Либо получите другой сертификат beta.example.com(или включите его в качестве альтернативного имени субъекта), либо укажите mail.example.comIP-адрес beta.example.com.

решение2

Клиент настроен на подключение к mail.example.com.

Сервер, к которому он подключается, утверждает (в сертификате), что он beta.example.com.

Поскольку mail.example.comэто не то же самое beta.example.com, клиент жалуется на несоответствие.Это полностью задумано.

Чтобы это сработало,Вам необходимо настроить почтовый сервер для предоставления сертификата, включающего альтернативное имя субъекта, совпадающее с именем хоста, на который указывает клиент.Не имеет значения, как это имя хоста преобразуется в IP-адрес.

Раньше вы бы вставляли имя хоста в поле Common Name сертификата, но эта практика устарела. Вы все еще можете вставить имя хоста в качестве CN сертификата, если хотите, но для лучшей совместимости вам нужнотакжеукажите его как SAN. Я полагаю, что большинство CA укажут CN как SAN в качестве услуги, если вы сами этого не сделаете в своем CSR, но есть риск, что некоторые этого не сделают; проверьте свой сертификат.

Если вам необходимо использоватьтот же сертификатдля Postfix и Dovecot, но по какой-то причине вы хотите иметьразные имена хостовопубликовано для двух (скажем, smtp.example.comи pop.example.com), то вам нужен сертификат, действительный для обоих вовлеченных имен хостов. Это можно сделать с помощью сертификата с несколькими именами хостов или *.example.comсертификата wildcard ( ).


Также,Записи DNS MX (почтовый обменник) на самом деле актуальны только для входящих SMTP-подключений к почтовому серверу, обрабатывающему почту для определенного домена, где удаленный почтовый сервер изначально знает только домен получателя.Вполне допустимо иметь, например,

example.com. MX 0 mail.example.com.
mail.example.com. CNAME beta.example.com.
beta.example.com. A 192.0.2.123

хотя на самом деле не рекомендуется, поскольку указание RR на неканонический RR может привести к застреванию некоторых резолверов. Однако, если резолвер удаленной системы принимает его (большинство так и делает), вышеизложенное фактически то же самое, как если бы у вас было

example.com. MX 0 mail.example.com.
mail.example.com. A 192.0.2.123

В обоих случаях удаленный MTA (агент передачи почты; в наши дни почтовый сервер, обменивающийся данными по протоколу SMTP с другими почтовыми серверами) будет подключаться к mail.example.com (поскольку это имя хоста MX, указанное в записи ресурса MX), и, таким образом, будет ожидать сертификат, действительный для mail.example.com.

Ваш MUA не будет просматривать записи MXи не будет знать в любом случае; он будет сверяться с адресными записями ( и в редких случаях, возможно, также A; записи ресурсов A6 устарели, но некоторое время использовались для IPv6) любого имени хоста, которое вы ему дадите в качестве входящего (POP/IMAP) или исходящего (SMTP) почтового сервера.AAAAA6

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