Страница 1 из 1

exim+tls. Проблема с пересылкой.

Добавлено: 2010-03-24 15:48:36
st.andrew
Доброго времени суток.
Однажды была поставлена задача: между почтовым серверами группы компаний настроить пересылку сообщений с использованием tls, то есть шифрованными. Один из этих серверов - exim, создан давно по конфигам, представленным в статьях на этом сайте(почти все одинаковые)).
На двух серверах установлен Exchange с купленными и подписанными сертификатами, на exime сертификат, сгенерированный локально - самоподписной.
В общем-то типовой конфиг exima для работы с TLS были включены следующие строки:

Код: Выделить всё

tls_advertise_hosts = *
tls_certificate = /etc/ssl/certs/exim.crt
tls_privatekey = /etc/ssl/certs/exim.pem
tls_on_connect_ports = 465
и в транспорте smtp:

Код: Выделить всё

remote_smtp:
  driver = smtp
tls_certificate = /etc/ssl/certs/exim.crt
tls_privatekey = /etc/ssl/certs/exim.pem
hosts_require_tls = 10.x.x.x:10.y.y.y
, где 10.x.x.x и 10.y.y.y собственно адреса серверов exchange.
Сертификат сервера exim был добавлен в доверенные на этих exchange-серверах. И в настоящий момент обмен сообщениями между этим серверами уже идет с использованием TLS.
Но возникает проблема следующего характера: если пользователь с первого exchange-сервера посылает письмо на почтовый ящик сервера c eximом, на котором настроена переадресация на почтовый ящик второго сервера Exchange, то при пересылке этого сообщения c exim на второй Exchange, последний отвечает:

Код: Выделить всё

454 4.7.5 Certificate validation failure
Хотя напрямую между этими серверами связь по TLS осуществляется без проблем.
Переадресация происходит либо через алиасы, созданные на этом сервере и указывающие на реальные почтовые ящики других серверов, либо с существующих почтовых ящиков exim на почтовые ящики других серверов. Алиасы и переадресация настраиваются через postfixadmin с добавлением в поле goto таблицы alias соответствующих адресов. В конфиге eximа с этой таблице работает только один роутер:

Код: Выделить всё

system_aliases:
  driver = redirect
  allow_fail
  allow_defer
  data = ${lookup mysql{SELECT goto FROM alias WHERE address='${quote_mysql:$local_part@$domain}' OR address='${quote_mysql:@$domain}'}}
Хотелось бы узнать,как заставить exim правильно пересылать, чтобы exchange правильно принимал такие пересылаемые сообщения.

з.ы. Exchange в глаза не видел - настраивают другие люди :-)

Re: exim+tls. Проблема с пересылкой.

Добавлено: 2010-05-16 20:22:59
Alex Keda
чё-то непонял ничё...

Re: exim+tls. Проблема с пересылкой.

Добавлено: 2010-05-27 9:47:12
st.andrew
Хм, видимо не понятна схема, при которой у нас возникает проблема.
Попробую разъяснить по-другому.
Имеем 3 сервера: Сервер А - Exchange(Adomain), Сервер В - Exim(Bdomain), Сервер С - Exchange(Cdomain). Каждый сервер со своим доменом, и у серверов Exchange купленные сертификаты, у экзима - самоподписанный. Между каждой парой серверов tls работает: почта с user@Adomain без проблем ходит как на user@Bdomain, так и на user@Cdomain, аналогично с других серверов.
Проблема же состоит в следующем. Допустим на сервере В у пользователя на почтовом ящике user2@Bdomain установлен алиас на почтовый ящик user2@Cdomain сервера С, т.е. почта, приходящая на user2@Bdomain, должна пересылаться на user2@Cdomain. Если пользователь с сервера А с почтового ящика user@Adomain шлет письмо на user2@Bdomain, то письмо не доставляется на ящик user2@Cdomain, т.к. почтовый сервер С отбивает сообщение с ошибкой

Код: Выделить всё

454 4.7.5 Certificate validation failure