Назад | Перейти на главную страницу

SNI для SMTP-сервера

Допустим, у меня есть выделенный сервер с некоторым IP (IP1). Я перенаправляю несколько доменов (скажем, example.com, example.net) на этот IP-адрес через DNS. У меня работает один сервер nginx, я правильно настроил SNI, и он работает для HTTPS.

Я также настроил MX для обоих доменов, чтобы они указывали на сервер. Я настроил SMTP-сервер, который прослушивает, и он правильно отвечает на порт 25, определяя разрешенный хост из адреса электронной почты и отклоняя электронные письма любого другого хоста.

Я настроил TLS для этого сервера, но он позволяет использовать только один сертификат SSL (либо для example.com или для example.net). Есть ли способ с помощью SMTP использовать SNI (или эквивалент?), Чтобы, в зависимости от того, в каком месте назначения он представлял правильный сертификат TLS?

Пока ничего для этого не нашел. Моя текущая стратегия состоит в том, чтобы либо использовать другой IP-адрес для другого домена (возможно, с IPv6, но не для IPv4 в моем случае), либо запустить два SMTP-сервера (по одному для каждого хоста) и правило брандмауэра для перенаправления на другой порт. на основе IP-адреса назначения. Это громоздко для двух доменов, но если у вас больше доменов, скажем, 10 доменов, это вообще не жизнеспособно.

Есть ли лучшая стратегия? Как крупные поставщики услуг работают с SMTP для множества хостов?

SNI здесь не нужен. Проверка имени хоста сертификата выполняется по имени хоста, возвращаемому записью MX, а не по имени домена в целевом адресе электронной почты. Итак, если вы убедились, что все записи MX для всех ваших доменов указывают на одно и то же имя хоста, вам понадобится только сертификат для этого имени хоста.

Другими словами, если у вас есть запись MX, в которой говорится, что все электронные письма в домен example.com должен обрабатываться почтовым сервером mail.example.net, то почтовый сервер должен иметь сертификат для имени хоста mail.example.net только.