Назад | Перейти на главную страницу

Ошибка qmail, позволяет открывать ретрансляцию на локальные адреса

Last login: Wed Jun 22 14:02:11 on ttys001
BASH$ telnet domain.com 25
Trying xxx.xx.xxx.xxx...
Connected to domain.com.
Escape character is '^]'.
220 hostname.com ESMTP
helo
250 hostname.com
mail from: <danayoub53@gmail.com>
250 ok
rcpt to: <anyone@gmail.com>
553 sorry, that domain isn't in my list of allowed rcpthosts (#5.7.1)
rcpt to: <registration@domain.com>
250 ok  ***********<---------------------- OK??!?

Как видите, qmail блокирует попытку отправить почту на внешний адрес, однако не имеет проблем, позволяя неаутентифицированному пользователю отправлять почту на локальные адреса, находящиеся на сервере. Это может вызвать проблемы, если кто-то захочет рассылать вирусы или засорять учетные записи электронной почты на сервере.

Кто-нибудь может порекомендовать исправление для этого? Правильно ли я указал, что это ошибка?

Бест, Дэниел

SMTP никогда не требовал от людей аутентификации перед отправкой электронной почты на учетные записи на локальном компьютере. Это вообще не ошибка. Как еще SMTP-сервер мог бы получать электронную почту для доставки в домены, для которых вы размещаете электронную почту?

Как говорит X-Istence, вопрос в основе своей ложный. Нет такого как ретранслятор в локальный почтовый ящик. Это концептуальная ошибка. Либо почтовый ящик является удаленным, и в этом случае почта должна храниться и пересылаться - т.е. ретранслироваться - ему, либо почтовый ящик является локальным, и в этом случае ретрансляция не происходит вообще, потому что система является конечным местом назначения для почта.

rcpthosts, который определяет, какие домены сервер ретрансляции SMTP (qmail-smtpd) будет принимать почтовые ящики получателя в конверте, является (обычно) объединением всех локально размещенных доменов и всех доменов, для которых разрешена ретрансляция почты. То, что он разрешил сообщение из внешнего мира быть адресованным в локальный почтовый ящик, не является ошибкой. Он работает как задумано. Если вы не хотите, чтобы внешний мир мог отправлять вам почту, не запускайте сервер ретрансляции SMTP. Запуск сервера ретрансляции SMTP подразумевает, что вы делать хотите, чтобы внешний мир мог отправлять вам почту.

Понятие авторизации, очевидно, применимо к местный пользователей, для которых у вас есть база данных пользователей и, следовательно, применяется к отправке SMTP, а не к ретрансляции SMTP. Если вас смутил Старомодный протокол ввода почты подумать, что SMTP Relay занимается авторизацией (когда, конечно, у вас нет возможности иметь базу данных пользователей, в которой перечислены произвольные люди в Южной Африке, Индии или Франции, которые могут захотеть отправить вам почту), тогда вам нужно повторно ознакомьтесь с разницей между отправкой SMTP и ретрансляцией SMTP. Это 21 век; мы знаем о разделении услуг в настоящее время; нам больше не следует использовать парадигму OFMIP.