Exim не может слушать на порту 465 или 587 для подключения TLS.

Вопрос или проблема

Я настраиваю Exim на сервере Ubuntu для отправки и получения писем через TLS.

Следовал многим руководствам по настройке Exim с TLS, но мой Exim все равно не слушает на портах 465 или 587.

Exim слушает только на порте 25, и я могу отправлять и получать письма.

Вот официальное руководство, которому я следовал: https://help.ubuntu.com/community/Exim4

Но все равно не получилось, и я не могу найти никаких упоминаний в файлах конфигурации о том, на каких портах слушает exim.

Я также разрешил порты через ufw с помощью:

ufw allow 465
ufw allow 587

Вывод exim -bP | grep "daemon_smtp_ports"
дает мне следующее:

daemon_smtp_ports = smtp

после этого я попытался добавить следующую строку daemon_smtp_ports = 25 : 587 в /etc/exim4/update-exim4.conf.conf, но она не загружается.

Может кто-то помочь мне понять, почему это происходит или возможно я упустил какие-то шаги.

У меня была такая же проблема, так как я только начинающий с Linux. Сегодня я несколько часов бился об стену, следуя каждому посту о том, как изменить порт.

В конечном итоге я изменил /etc/exim4/exim4.conf.template (оригинальная запись закомментирована):

# слушать на всех интерфейсах?
.ifdef MAIN_LOCAL_INTERFACES
#local_interfaces = MAIN_LOCAL_INTERFACES
local_interfaces = <;   [192.168.200.2]:465 ; \
                        [192.168.200.2]:587
.endif

После этого я выполнил sudo service exim4 restart и все заработало.

Можно проверить, помогло ли это, с помощью ss -lntp | grep exim

В конце файла /etc/default/exim4 есть следующее:

# Опции для демона прослушивания SMTP. По умолчанию, он слушает только
# на порту 25. Для прослушивания на большем количестве портов рекомендуется
# использовать -oX 25:587:10025 -oP /run/exim4/exim.pid
SMTPLISTENEROPTIONS=''

Итак, установите SMTPLISTENEROPTIONS='-oX 25:465 -oP /run/exim4/exim.pid' и перезапустите службу exim4.

.

Ответ или решение

Введение

Настройка Exim для работы с TLS на портах 465 и 587 является критически важной задачей для обеспечения безопасной отправки и приема электронной почты. Однако корректная конфигурация может вызвать затруднения, особенно для начинающих пользователей Linux. Давайте рассмотрим, как правильно настроить Exim, чтобы он слушал на нужных портах и обрабатывал TLS-соединения.

Теория

Exim — это мощный агент передачи почты (MTA), который часто используется в серверных и корпоративных средах для обработки электронной почты. Он изначально настраивается на прослушивание порта 25 (SMTP), который используется для обмена почтой между серверами. Для поддержки более современных стандартов безопасности, таких как TLS, необходима настройка на портах 465 и 587.

  • Порт 25: Используется для передачи почты между серверами.
  • Порт 465: Исторически использовался для SMTPS (SMTP с интерфейсом TLS) и часто поддерживается старыми почтовыми клиентами.
  • Порт 587: Предназначен для отправки почты с клиентских приложений к серверам SMTP с поддержкой STARTTLS.

Для включения поддержки этих портов в Exim, необходимо изменить конфигурацию так, чтобы соответствовать данным протоколам безопасности.

Пример

В приведенном примере решается проблема, связанная с тем, что Exim не слушает порты 465 и 587. Рассмотрим шаги, предложенные для решения:

  1. Конфигурирование daemon_smtp_ports:

    • Команда exim -bP | grep "daemon_smtp_ports" показывает текущие порты, на которых Exim слушает.
    • Изменение daemon_smtp_ports = 25 : 587 в файле /etc/exim4/update-exim4.conf.conf и отсутствие его применения — следствие не обновлённой конфигурации.
  2. Изменения в exim4.conf.template:

    • В файле /etc/exim4/exim4.conf.template настраиваем локальные интерфейсы для прослушивания нужных портов.
    • Пример кода:
      .ifdef MAIN_LOCAL_INTERFACES
      #local_interfaces = MAIN_LOCAL_INTERFACES
      local_interfaces = <;   [192.168.200.2]:465 ; \
      .endif
    • После изменения перезапустим службу: sudo service exim4 restart.
  3. Настройки в /etc/default/exim4:

    • Правка SMTPLISTENEROPTIONS позволяет указать порты для прослушивания.
    • Изменение: SMTPLISTENEROPTIONS='-oX 25:465:587 -oP /run/exim4/exim.pid'.
    • После изменения перезапустите Exim.

Применение

Теперь рассмотрим шаги более подробно с учётом практической реализации для настройки TLS порта в Exim.

Шаг 1: Конфигурирование UFW

Перед любыми конфигурациями убедитесь, что порты открыты в файрволе:

sudo ufw allow 465
sudo ufw allow 587

Это обеспечит прохождение трафика через указанные порты.

Шаг 2: Настройка конфигурации Exim

  1. Настройка основной конфигурации:

    • Откройте файл /etc/exim4/update-exim4.conf.conf и добавьте или измените строку для daemon_smtp_ports, чтобы она выглядела так:
      daemon_smtp_ports = 25 : 465 : 587
  2. Обновление локальных интерфейсов:

    • Правьте файл /etc/exim4/exim4.conf.template:
      .ifdef MAIN_LOCAL_INTERFACES
      #local_interfaces = MAIN_LOCAL_INTERFACES
      local_interfaces = <; [192.168.200.2]:465 ; \
      .endif
  3. Редактирование файла /etc/default/exim4:

    • Найдите строку SMTPLISTENEROPTIONS и измените её:
      SMTPLISTENEROPTIONS='-oX 25:465:587 -oP /run/exim4/exim.pid'

Шаг 3: Перезапуск службы

После конфигурационных изменений обязательно перезапустите Exim, чтобы насладиться обновлёнными настройками:

sudo systemctl restart exim4

Шаг 4: Проверка конфигурации

Убедитесь, что ваши изменения применились:

ss -lntp | grep exim

Вы должны увидеть, что Exim слушает на портах 465 и 587.

Заключение

После выполнения данных шагов вы должны успешно настроить Exim для поддержки TLS на портах 465 и 587. Это обеспечивает надёжное и защищённое соединение при работе с почтой. Если проблемы сохраняются, перепроверьте каждое изменение конфигурации и убедитесь, что файрвол не блокирует необходимые порты.

Оцените материал
Добавить комментарий

Капча загружается...