
Постараюсь быть кратким. Я хочу, чтобы 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.com
IP-адрес 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) почтового сервера.AAAA
A6