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

starttls не работает после изменения IP-адреса

Я изменил IP-адрес нашего почтового сервера exim (виртуальная машина была скопирована на другой хост, также в конфигурации сети используется NAT). Теперь он больше не принимает соединение STARTTLS от клиента Windows Thunderbird. Однако он работает со всеми другими почтовыми клиентами.

Сообщение об ошибке Thunderbird выглядит примерно так: can't set up a secure connection to mail.mydomain.de using STARTTLS, because the server is not offering this function. Disable STARTTLS or contact your provider. Однако почтовый сервер eximʻa предлагает STARTTLS и по-прежнему работает в старой системе.

Вот выдержка из журнала отладки eximʻa:

27666 accept: condition test succeeded
27666 SMTP>> 220 s0107.mydomain.de ESMTP (Exim 4.77) Fri, 31 Oct 2014 05:23:27 +0100
27666 Process 27666 is ready for new message
27666 smtp_setup_msg entered
27666 SMTP<< EHLO [192.168.1.115]
27666 sender_fullhost = ip-123-123-123-123.hsi07.unitymediagroup.de ([192.168.1.115]) [123.123.123.123]
27666 sender_rcvhost = ip-123-123-123-123.hsi07.unitymediagroup.de ([123.123.123.123] helo=[192.168.1.115])
27666 set_process_info: 27666 handling incoming connection from ip-123-123-123-123.hsi07.unitymediagroup.de ([192.168.1.115]) [123.123.123.123]
27666 host in pipelining_advertise_hosts? yes (matched "*")
27666 host in auth_advertise_hosts? yes (matched "*")
27666 host in tls_advertise_hosts? yes (matched "*")
27666 SMTP>> 250-s0107.mydomain.de Hello ip-123-123-123-123.hsi07.unitymediagroup.de [123.123.123.123]
27666 250-SIZE 52428800
27666 250-PIPELINING
27666 250-AUTH PLAIN LOGIN CRAM-MD5
27666 250-STARTTLS
27666 250 HELP
27666 SMTP<< QUIT
27666 SMTP>> 221 s0107.mydomain.de closing connection
27666 LOG: smtp_connection MAIN
27666   SMTP connection from ip-178-200-216-217.hsi07.unitymediagroup.de ([192.168.1.115]) [123.123.123.123] closed by QUIT
27666 search_tidyup called
27654 child 27666 ended: status=0x0
27654 0 SMTP accept processes now running
27654 Listening...

В исходной системе последние несколько строк выглядят так:

2362 250-SIZE 52428800
2362 250-PIPELINING
2362 250-AUTH PLAIN LOGIN CRAM-MD5
2362 250-STARTTLS
2362 250 HELP
2362 SMTP<< STARTTLS
2362 setting SSL CTX options: 0x800
2362 tls_certificate file /etc/pki/tls/exim_tls/exim.cert
2362 tls_privatekey file /etc/pki/tls/exim_tls/exim.key
...

Кажется, это проблема клиента, но я понятия не имею, почему изменение IP-адреса должно иметь какое-либо влияние на рукопожатие STARTTLS. Пожалуйста, порекомендуйте.

Выше вы подтвердили, что изменилось больше, чем просто IP-адрес: в частности, новая сеть, в которую была перемещена виртуальная машина, находится за межсетевым экраном CISCO ASA.

Эти брандмауэры делают то, что они описывают как "исправление протокола", что в случае SMTP означает вмешательство в информацию, передаваемую на уровне 4. По telnetting от вашего клиента к серверу и выпуская SMTP EHLO вы подтвердили, что, хотя сервер рекламирует STARTTLS возможность, CISCO удаляет это объявление из пакетов в полете. Клиент, не видя STARTTLS будучи предложенным и настроенным так, чтобы требовать этого, выручает.

Вы не говорите, находится ли CISCO под вашим контролем, но вы установили, что соединения с портом 587 на сервере не затронуты аналогичным образом (хотя я подозреваю, что это проблема с конфигурацией CISCO, и какой-нибудь будущий администратор может легко ее включить) . Так что у вас есть, по крайней мере, на время обходной путь.

Почему CISCO считает хорошей идеей лишить возможности шифрования почтовых серверов, которые она защищает, для меня загадка. Но в результате в этом режиме CISCO непригодны для защиты почтовых серверов.