Гайд: Исправление ошибк w003 в hMailServer: отключаем External to External в диапазоне Internet

Как исправить ошибку w003 в hMailServer: отключаем External to External в диапазоне Internet, закрываем open relay, настраиваем SMTP и проверяем сервер.

2026.08.06                  


Гайд: Исправление ошибк w003 в hMailServer: отключаем External to External в диапазоне InternetГайд: Исправление ошибк w003 в hMailServer: отключаем External to External в диапазоне Internet

Подробный гайд по предупреждению/ошибке:

w003 critical: hMailServer is configured to allow deliveries from external to external accounts in the IP range Internet

Если коротко:

В hMailServer в диапазоне Internet включена опция External to external. Это означает, что сервер потенциально может работать как open relay — принимать от внешних отправителей письма и пересылать их внешним получателям. Это критично, потому что такой сервер могут использовать для рассылки спама, а ваш IP может попасть в блэклисты.




1. Что означает эта ошибка

В hMailServer есть диапазоны IP-адресов:

  • Settings → Advanced → IP ranges

Для диапазона обычно есть флажки:

  • Allow deliveries from Local to local
  • Allow deliveries from Local to external
  • Allow deliveries from External to local
  • Allow deliveries from External to external
  • Require SMTP authentication

Диапазон Internet обычно охватывает все адреса:

0.0.0.0 - 255.255.255.255

Если в нем включено:

External to external

То hMailServer разрешает сценарий:

внешний отправитель → hMailServer → внешний получатель

без необходимости быть вашим локальным пользователем или без нормальной аутентификации. Это классический признак открытого релея.


Пример опасной ситуации:

Кто-то из интернета подключается к вашему SMTP.
MAIL FROM: spammer@example.net
RCPT TO: victim@gmail.com

Если сервер отвечает 250 OK и принимает письмо для пересылки наружу — это open relay.


2. Что нужно сделать в первую очередь

Самое простое и правильное исправление:

Отключить External to external для диапазона Internet.

Если вам не нужно специально релеить чужую почту между внешними доменами, эта опция должна быть выключена.


3. Подготовка перед изменениями

Перед правкой настроек сделайте резервную копию.

Если используется встроенная SQLite-база hMailServer

Обычно путь может быть таким:

C:\Program Files\hMailServer\Database\hMailServer.sqlite

или:

C:\Program Files (x86)\hMailServer\Database\hMailServer.sqlite

Пример резервной копии через PowerShell от администратора:

$stamp = Get-Date -Format yyyyMMdd_HHmm
$backup = "C:\Backup\hMailServer_$stamp"

New-Item -ItemType Directory -Force -Path $backup | Out-Null

Stop-Service -Name hMailServer -Force

Copy-Item -Path "C:\Program Files\hMailServer\Database" -Destination $backup -Recurse
Copy-Item -Path "C:\Program Files\hMailServer\Bin\hMailServer.ini" -Destination $backup -ErrorAction SilentlyContinue

Start-Service -Name hMailServer

Если у вас MySQL/MSSQL-база, сделайте соответствующий дамп базы.


Также полезно сделать скриншот текущих настроек:

Settings → Advanced → IP ranges

4. Быстрое исправление через hMailServer Administrator

Шаг 1. Откройте hMailServer Administrator

Запустите от администратора:

hMailServer Administrator

Подключитесь к вашему серверу.


Шаг 2. Перейдите в IP-диапазоны

Путь:

Settings
  → Advanced
    → IP ranges

Шаг 3. Найдите диапазон Internet

Обычно он называется:

Internet

и имеет адреса:

Lower IP: 0.0.0.0
Upper IP: 255.255.255.255

Шаг 4. Отключите External to external

В настройках диапазона Internet снимите галку:

Allow deliveries from External to external

Для большинства типовых серверов безопасная настройка диапазона Internet такая:

Параметр Рекомендуемое значение Комментарий
Local to local Выключено или по необходимости Обычно не нужно для анонимного интернета
Local to external Выключено для анонимного интернета Если нужно — только с аутентификацией/ограничениями
External to local Включено Чтобы принимать входящую почту из интернета для ваших доменов
External to external Выключено Главное исправление ошибки W003
Require SMTP authentication Осторожно Может блокировать входящую почту извне, если применяется ко всем типам доставки



Шаг 5. Сохраните изменения

Нажмите:

Save

Шаг 6. Перезапустите службу hMailServer

Хотя иногда настройки применяются сразу, лучше перезапустить службу.

Через PowerShell:

Restart-Service -Name hMailServer

Если служба называется иначе:

Get-Service *hMail*

Затем:

Restart-Service -Name ИМЯ_СЛУЖБЫ

Или через services.msc:

services.msc → hMailServer → Restart

5. Рекомендуемая безопасная конфигурация

Вариант A. Сервер принимает почту из интернета для своих доменов

Это самый частый сценарий.


Диапазон Internet:

Lower IP: 0.0.0.0
Upper IP: 255.255.255.255

Флажки:

Allow deliveries from Local to local:      off
Allow deliveries from Local to external:   off или только если точно понимаете, зачем
Allow deliveries from External to local:   on
Allow deliveries from External to external: off
Require SMTP authentication:               off, если нужно принимать входящие из интернета

Почему External to local должен быть включен?


Потому что иначе сервер не сможет принимать письма из интернета вида:

отправитель@gmail.com → user@ваш-домен.ru

Вариант B. Есть доверенная локальная сеть

Если ваши пользователи или устройства отправляют почту из локальной сети, создайте отдельный диапазон для LAN.

Пример диапазона:

Name: LAN
Lower IP: 192.168.0.0
Upper IP: 192.168.255.255

Или более узко:

Lower IP: 192.168.1.0
Upper IP: 192.168.1.255

Флажки для LAN:

Allow deliveries from Local to local:      on
Allow deliveries from Local to external:   on
Allow deliveries from External to local:   on, если нужно
Allow deliveries from External to external: off
Require SMTP authentication:               желательно on, если клиенты поддерживают

Важно: у LAN-диапазона приоритет должен быть выше, чем у Internet.


В разных версиях hMailServer логика приоритета обычно такая:

чем выше приоритет, тем важнее диапазон

Например:

Internet priority: 10
LAN priority: 20 или выше

Если после настройки что-то работает не так, проверьте приоритеты.


Вариант C. Нужна отправка почты удаленными пользователями через SMTP AUTH

Если пользователи отправляют почту из интернета через Outlook, Thunderbird, телефон и т.п., обычно используется SMTP-аутентификация.

Главное правило:

Не включайте External to external для всего интернета только ради отправки пользователей.

Обычно отправка вашего пользователя наружу — это не External to external, а сценарий:

local to external

потому что пользователь является вашим локальным/аутентифицированным пользователем.


Безопасный подход:

1. В диапазоне Internet оставить:

   External to local: on
   External to external: off

2. Для отправки пользователей использовать SMTP AUTH в почтовых клиентах.


3. Если отправка не работает, проверить:

  • включена ли SMTP-аутентификация в клиенте;
  • правильный ли логин/пароль;
  • порт 25, 587 или другой назначенный SMTP-порт;
  • разрешен ли Local to external в нужном IP-диапазоне;
  • не блокирует ли Require SMTP authentication входящую почту извне.



6. Если вам действительно нужен External to external

Иногда External to external нужен специально, например:

  • сервер работает как relay для партнерской системы;
  • сервер является промежуточным для определенного внешнего сервиса;
  • есть интеграция, которая должна отправлять почту через ваш сервер для внешних доменов. В этом случае не оставляйте такую возможность для всего интернета.

Правильнее:

  1. Создать отдельный IP-диапазон только под нужный IP.
  2. Включить для него минимум необходимых прав.
  3. Обязательно использовать SMTP-аутентификацию, если возможно.
  4. Ограничить доступ firewall'ом.
  5. Мониторить логи и очередь.

Пример отдельного диапазона:

Name: Partner Relay
Lower IP: 203.0.113.10
Upper IP: 203.0.113.10

Флажки:

Allow deliveries from External to external: on
Require SMTP authentication: on

И приоритет выше, чем у Internet. Но повторюсь: для обычного почтового сервера своих доменов External to external в диапазоне Internet быть не должно.


7. Проверка после исправления

7.1. Повторите диагностику hMailServer

Запустите тот же диагностический тест, который выдал ошибку:

w003 critical

Ошибка должна исчезнуть.


7.2. Проверка open relay вручную через telnet

Проверку лучше делать с внешнего хоста, например:

  • с VPS;
  • с мобильного интернета;
  • из другой сети;
  • через внешний SMTP-тест. Из вашей же локальной сети проверка может быть некорректной из-за NAT, firewall и локальных разрешений.

Подключение:

telnet mail.example.com 25

Дальше:

EHLO test.example.net
MAIL FROM:<test@example.net>
RCPT TO:<external-user@gmail.com>

Если сервер настроен правильно, на RCPT TO для внешнего получателя он должен отказать.


Примеры нормальных отказов:

530 Authentication required
550 Relaying not allowed
554 Relay access denied

Если получаете:

250 OK

и письмо принимается для пересылки внешнему получателю — проблема не устранена.


7.3. Проверка входящей почты

Проверьте, что сервер все еще принимает письма для ваших доменов:

EHLO test.example.net
MAIL FROM:<test@example.net>
RCPT TO:<user@ваш-домен.ru>

Ожидаемый ответ:

250 OK

Если здесь отказ, значит вы случайно выключили:

External to local

или включили обязательную SMTP-аутентификацию там, где она блокирует входящие.


7.4. Проверка через swaks

Если есть Linux-машина или WSL, удобна утилита swaks.

Проверка входящей доставки:

swaks \
  --server mail.example.com \
  --port 25 \
  --from external@example.net \
  --to user@ваш-домен.ru

Проверка попытки relay:

swaks \
  --server mail.example.com \
  --port 25 \
  --from external@example.net \
  --to external-user@gmail.com

Вторая команда должна завершиться отказом.


7.5. Проверка отправки аутентифицированным пользователем

Пример через swaks:

swaks \
  --server mail.example.com \
  --port 587 \
  --from user@ваш-домен.ru \
  --to external-user@gmail.com \
  --auth LOGIN \
  --auth-user user@ваш-домен.ru

Если используется порт 25 вместо 587, укажите:

--port 25

Но для клиентской отправки лучше использовать отдельный submission-порт, обычно 587, если он настроен.


8. Где смотреть логи

Если после изменений что-то сломалось, включите и смотрите SMTP-логи.

В hMailServer Administrator:

Settings → Advanced → Logging

Включите логирование SMTP.


Логи обычно находятся здесь:

C:\Program Files\hMailServer\Logs

или:

C:\Program Files (x86)\hMailServer\Logs

Ищите строки:

530
550
554
authentication
relay
denied

Также полезно смотреть очередь:

hMailServer Administrator → Status → Delivery queue

Если в очереди много исходящих писем на внешние домены, которые вы не отправляли, это может признаком того, что сервер ранее использовали как open relay.


9. Если ошибка W003 не исчезает

Проверьте следующее.


9.1. Вы изменили именно диапазон Internet

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

0.0.0.0 - 255.255.255.255

или любой другой диапазон, который фактически покрывает весь интернет.


9.2. Есть другой диапазон с более высоким приоритетом

Возможно, есть другой диапазон с приоритетом выше, где также включено:

External to external

Проверьте все диапазоны.


9.3. Есть IPv6-диапазон

Если используется IPv6, проверьте, нет ли диапазона вроде:

::/0

или:

0000:0000:0000:0000:0000:0000:0000:0000 - ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff

Для него тоже нужно отключить:

External to external

9.4. Служба не перезапущена

Выполните:

Restart-Service -Name hMailServer

И проверьте статус:

Get-Service -Name hMailServer

9.5. Изменения не сохранились

Иногда банально не нажали:

Save

или не хватило прав администратора.


10. Типовые безопасные схемы

Схема 1. Только прием почты извне

Диапазон Internet:

External to local: on
Local to local: off
Local to external: off
External to external: off
Require SMTP authentication: off

Отправка пользователями наружу должна идти через отдельный доверенный диапазон или через SMTP AUTH/VPN.


Схема 2. Локальная сеть может отправлять без пароля

Диапазон Internet:

External to local: on
Local to local: off
Local to external: off
External to external: off

Диапазон LAN:

Local to local: on
Local to external: on
External to local: on
External to external: off

Это подходит для принтеров, сканеров, внутренних систем, но лучше по возможности переходить на SMTP-аутентификацию.


Схема 3. Удаленные пользователи отправляют через SMTP AUTH

Диапазон Internet:

External to local: on
External to external: off

Почтовые клиенты пользователей:

Outgoing server requires authentication: yes
Username: user@ваш-домен.ru
Password: пароль

Если отправка не работает, аккуратно проверить, нужен ли в вашей версии hMailServer флаг:

Local to external

для диапазона Internet. Но External to external включать не нужно.


11. Что делать, если сервер уже использовали как open relay

Если диагностика показала W003, и сервер какое-то время был доступен из интернета с External to external, желательно проверить последствия.

Признаки злоупотребления

  • большая очередь исходящей почты;
  • много писем на внешние домены в логах;
  • жалобы abuse;
  • попадание IP в Spamhaus, Barracuda, SpamCop и другие блэклисты;
  • высокая нагрузка на SMTP;
  • неизвестные получатели в логах.

Действия

  1. Немедленно отключите External to external.
  2. Перезапустите службу hMailServer.
  3. Проверьте очередь и удалите спам.
  4. Проверьте логи.
  5. Смените пароли почтовых ящиков, если есть подозрение на компрометацию.
  6. Проверьте, нет ли слабых паролей.
  7. Проверьте, не добавлены ли левые домены, аккаунты или relay-правила.
  8. Если IP попал в блэклист, после устранения причины подавайте заявку на delisting.

12. Дополнительные меры защиты

Чтобы снизить риски в будущем:

12.1. Не открывайте лишние порты

Для почты обычно нужны:

25   SMTP server-to-server
587  SMTP submission для клиентов, если используется
465  SMTPS, если настроен
143  IMAP, если используется
993  IMAPS, если используется
110  POP3, если используется
995  POP3S, если используется

Не публикуйте наружу ненужные порты.


12.2. Используйте SMTP-аутентификацию для клиентов

В Outlook/Thunderbird/телефонах должно быть включено:

Outgoing server requires authentication

12.3. Настройте SPF, DKIM, DMARC

Для вашего домена:

  • SPF разрешает отправку только вашим серверам.
  • DKIM подписывает письма.
  • DMARC задает политику обработки поддельных писем. Это не исправляет W003 напрямую, но защищает ваш домен от подделки.

12.4. Включите Auto-ban, если доступно

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

Settings → Advanced → Auto-ban

Настройте осторожно, чтобы не заблокировать легитимные серверы.


12.5. Обновляйте hMailServer и Windows

Устаревшее ПО может быть использовано для атак.


13. Итоговая минимальная инструкция

Если нужно быстро убрать ошибку:

1. Откройте:

   hMailServer Administrator

2. Перейдите:

   Settings → Advanced → IP ranges

3. Откройте диапазон:

   Internet

4. Снимите:

   Allow deliveries from External to external

5. Убедитесь, что для приема почты включено:

   Allow deliveries from External to local

6. Сохраните.


7. Перезапустите службу:

   Restart-Service -Name hMailServer

8. Проверьте диагностику и relay-тест извне.


14. Главная мысль

Ошибка:

w003 critical hMailServer is configured to allow deliveries from external to external accounts in the IP range internet

лечится так:

Internet → External to external = off

Не оставляйте External to external для всего интернета. Если relay действительно нужен, делайте это только для конкретного IP, с аутентификацией и под контролем.


Мы делимся этой технической информацией, чтобы помочь вам в решении задач — используйте её с пониманием. Статья носит рекомендательный характер, поэтому, пожалуйста, применяйте описанные методы осмотрительно.


Статью подготовил: Аверко Денис Сергеевич @Nymexis г. Омск (5)(531)(30)

Комментарии

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