Open relay: что такое открытый релей и чем он опасен
Open relay (открытый релей) - это почтовый сервер, который принимает и пересылает письма от любого отправителя к любому получателю без аутентификации. Такой сервер не проверяет, имеет ли подключившийся клиент право отправлять почту через него.
Историческая справка
В ранние годы интернета (1980-е, начало 1990-х) открытые релеи были нормой. Почтовые серверы свободно пересылали почту друг через друга - это считалось проявлением сетевого взаимодействия. Протокол SMTP (RFC 821, 1982) не предусматривал обязательной авторизации.
Всё изменилось, когда спамеры начали массово использовать чужие серверы для рассылки. К концу 1990-х открытый релей стал синонимом уязвимости. Появились чёрные списки (DNSBL), куда автоматически попадали серверы с open relay. Сегодня открытый релей - грубая ошибка конфигурации, за которую сервер немедленно блокируется.
Как работает open relay
Нормальный почтовый сервер пересылает письма только в двух случаях:
- Письмо адресовано локальному пользователю (доставка на свой домен).
- Отправитель прошёл аутентификацию (SMTP AUTH) - тогда сервер работает как relay для авторизованного клиента.
Open relay игнорирует оба условия. Он примет письмо от кого угодно и отправит куда угодно. Спамер подключается к такому серверу, указывает поддельный адрес отправителя и рассылает миллионы сообщений. Все bounces и жалобы пойдут на IP-адрес открытого сервера, а не на спамера.
Последствия для владельца сервера
- Попадание в чёрные списки. Spamhaus, Barracuda, SpamCop и другие DNSBL добавят IP сервера в чёрный список в течение часов. После этого вся легитимная почта с этого IP будет отклоняться принимающими серверами.
- Перегрузка сервера. Спамеры генерируют огромный поток сообщений. Почтовая очередь разрастается, CPU и диск работают на пределе, легитимная почта не доставляется.
- Юридическая ответственность. В ряде юрисдикций владелец сервера, через который рассылается спам, может нести ответственность, даже если он не знал об этом.
- Блокировка хостингом. Хостинг-провайдер может заблокировать сервер или весь аккаунт при обнаружении спам-рассылки.
Как проверить, является ли сервер open relay
Проверка выполняется через SMTP-подключение. Нужно соединиться с сервером на порт 25, представиться командой EHLO и попробовать отправить письмо на внешний адрес без авторизации:
EHLO test.example.com
MAIL FROM:<test@test.example.com>
RCPT TO:<someone@gmail.com>
Если сервер ответит 250 OK на RCPT TO для внешнего адреса без предварительной авторизации - это open relay. Правильно настроенный сервер ответит 550 Relay access denied или 554 Relay denied.
Существуют онлайн-инструменты для автоматической проверки: MXToolbox, mail-tester.com, telnet-тесты. Рекомендуется проверять свой сервер сразу после настройки и периодически после обновлений.
Как закрыть open relay
Конфигурация зависит от MTA. В Postfix relay контролируется параметром smtpd_relay_restrictions. Правильная настройка:
smtpd_relay_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
reject_unauth_destination
Это разрешает relay только для локальных сетей и авторизованных пользователей. Все остальные попытки пересылки на внешние адреса отклоняются.
Open relay и валидация email
При SMTP-проверке адреса валидатор подключается к серверу получателя и проверяет, принимает ли он письмо для конкретного ящика. Если сервер является open relay, он ответит «250 OK» на любой адрес - и это даст ложноположительный результат. Адрес может не существовать, но open relay примет его.
Качественный валидатор учитывает эту особенность и помечает домены с open relay как ненадёжные для SMTP-верификации.
uChecker анализирует поведение почтового сервера при проверке адресов. Если MTA отвечает подозрительно (принимает всё без разбора), это учитывается в итоговой оценке. Вы получаете точный статус, а не формальный «250 OK» от ненадёжного сервера.
