Вопрос или проблема
Привет и с наступающим Новым Годом!
Пытаюсь настроить фаервол для установки 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 получала все необходимые подключения для приема и отправки почты. Важно тщательно мониторить логи и проверять настройки при любых изменениях, чтобы избежать сбоев в работе системы.