iRedMail и IpTables – почта не проходит и ошибок нет. Как это исправить?

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

Привет и с наступающим Новым Годом!

Пытаюсь настроить фаервол для установки iRedMail. Нужно оставить открытыми только те порты, которые необходимы для входящих соединений. На данный момент правила такие:

Chain INPUT (policy DROP)
target     prot opt source               destination         
ACCEPT     udp  --  anywhere             anywhere             udp dpt:domain
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:domain
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:https
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:http
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:submission
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:submissions
ACCEPT     all  --  localhost            anywhere  
ACCEPT     all  --  185.121.228.0/24     anywhere

      

Последнее правило оставляет открытым соединение SSH.

В данный момент почта не приходит и не отправляется, ошибок нет и письма не возвращаются. Подозреваю, что это могло быть связано с сертификатами SSL, используемыми для SMTP, не разрешающими имена хостов, но я открыл порт 53 “domain” для этой цели, и это не помогает.

Застрял на этом. Как только меняю политику по умолчанию с DROP на ACCEPT, все начинает работать без проблем.

Любые идеи о том, как правильно настроить фаервол для сервера iRedMail, будут весьма признательны!

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

Здравствуйте и с наступающим Новым годом!

Проблема с настройкой брандмауэра для iRedMail заключается в том, что актуальные правила Iptables могут блокировать необходимые порты для приема и отправки электронной почты. Если политика по умолчанию установлена на DROP, следует явно разрешить доступ к каждому требуемому порту. Далее будет представлено подробное руководство по настройке правил Iptables, чтобы ваш почтовый сервер работал корректно.

1. Анализ текущих настроек

Ваши текущие правила включают открытие портов для HTTP(S) и DNS, а также для отправки писем (submission и submissions), но, похоже, отсутствуют порты, необходимые для работы протоколов SMTP и IMAP/POP3, что может быть причиной отсутствия входящих и исходящих сообщений.

2. Необходимые порты для почтового сервера

Для корректной работы почтового сервера на базе iRedMail необходимо открыть следующие порты:

  • 25 (SMTP): для входящей и исходящей нешифрованной почты.
  • 465 (SMTPS): для исходящей зашифрованной почты.
  • 587 (SMTP): используется клиентами для отправки писем (обычно через STARTTLS).
  • 143 (IMAP): для нешифрованного доступа к почтовым ящикам.
  • 993 (IMAPS): для зашифрованного доступа к почтовым ящикам.
  • 110 (POP3): для нешифрованного доступа к почте.
  • 995 (POP3S): для зашифрованного доступа к почте.

3. Настройка правил Iptables

Чтобы настроить Iptables, вам потребуется добавить правила для перечисленных выше портов. Пример конфигурации:

# Разрешить ICMP для работы ping и диагностики сети
ACCEPT     icmp --  anywhere             anywhere            

# Разрешить SMTP (25)
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:25

# Разрешить SMTPS (465)
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:465

# Разрешить Submission порты (587)
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:587

# Разрешить IMAP (143)
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:143

# Разрешить IMAPS (993)
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:993

# Разрешить POP3 (110)
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:110

# Разрешить POP3S (995)
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:995

# Оставить настройку для DNS
ACCEPT     udp  --  anywhere             anywhere             udp dpt:domain
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:domain

# Разрешить веб-доступ
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:https
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:http

# Разрешить localhost
ACCEPT     all  --  localhost            anywhere

# Разрешить SSH подключение для вашей сети
ACCEPT     all  --  185.121.228.0/24     anywhere

4. Проверка и мониторинг

После внесения изменений протестируйте настройки. Используйте команды :iptables --list и :iptables -nvL для проверки текущих правил и их состояния. Убедитесь, что каждый порт, связанный с протоколом, который поддерживает ваш сервер, правильно настроен.

Если у вас все ещё возникают сложности, проверьте, правильно ли настроены SSL-сертификаты и DNS-записи. Убедитесь, что почтовый сервер может разрешать все необходимые доменные имена.

Заключение

Следуя вышеприведенным рекомендациям, вы сможете настроить правила Iptables таким образом, чтобы ваша установка iRedMail получала все необходимые подключения для приема и отправки почты. Важно тщательно мониторить логи и проверять настройки при любых изменениях, чтобы избежать сбоев в работе системы.

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

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