Я заметил, что можно telnet
на принадлежащий мне почтовый сервер и отправляю поддельные сообщения другим клиентам. Это работает только для домена, относящегося к почтовому серверу; Я не могу этого сделать для других доменов.
Например; скажем, что я владею example.com
. Если я telnet example.com 25
Я могу успешно отправить сообщение другому пользователю без аутентификации:
HELO local
MAIL FROM: someuser@example.com
RCPT TO: someuser@example.com
DATA
SUBJECT: Whatever this is spam
Spam spam spam
.
Считаю это большой проблемой; как мне это обезопасить?
Если почтовый сервер, к которому вы подключаетесь по Telnet, является официальным сервером для домена, указанного в RCPT TO:
адрес (example.com в примере выше), скорее всего, это не повод для беспокойства. Это просто означает, что ваш почтовый сервер принимает почту для адресов в домене, для которого вы его настроили. Как указывает @joeqwerty, именно так работает SMTP. Попробуйте использовать адрес электронной почты в домене, который НЕ управляется этим почтовым сервером.
Однако, если это другой домен, это означает, что ваш сервер выполняет ретрансляцию, что, вероятно, плохо. Я говорю «вероятно», потому что есть еще несколько вещей, которые нужно проверить.
Серверы SMTP решают, следует ли пересылать электронную почту различными способами. Обычно они принимают всю почту, предназначенную для этого сервера (как упомянуто выше). После этого они могут сделать одно из следующих действий в зависимости от того, как они настроены: 1. Ретранслировать всю электронную почту с указанного IP-адреса / диапазона. Это обычное дело для интернет-провайдеров: они пересылают электронную почту только от своих клиентов. Иногда (в любом случае в Японии) они также фильтруют это по адресу отправителя клиента, чтобы убедиться, что клиент использует только адрес в домене интернет-провайдера.
POP перед SMTP. По сути, он следит за входом в систему по протоколу POP, для которого требуется пароль (в отличие от SMTP). Если есть успешный вход в систему, он определяет, что пользователь на этом IP-адресе, вероятно, также уполномочен отправлять почту, и ретранслирует все SMTP-сообщения в течение установленного периода времени. POP перед SMTP
SMTP-AUTH механизм ESMTP. Это расширение, которое позволяет вводить учетные данные для авторизации при отправке почты.
Есть и другие, а также множество различных фильтров защиты от спама, которые могут работать на разных этапах процесса отправки (в диалоге SMTP, перед постановкой в очередь, перед отправкой и т. Д.), Которые также могут замутить воду. Я думаю, что это охватывает основные из них.
В вашем случае, если
Тогда у вас, вероятно, возникла проблема, и вам следует изучить, как ограничить ретрансляцию для вашего почтового сервера. Однако эти настройки зависят от сервера, поэтому вам нужно будет проверить документацию, какой из них вы используете.
Да, потому что так работает SMTP. Отправка электронного письма пользователю, для домена электронной почты которого является авторитетным SMTP-сервером, не является подделкой сервера. Вот как серверы SMTP отправляют электронные письма на другие серверы SMTP.
Функционально нет никакой разницы между отправкой электронного письма через telnet (без аутентификации) пользователю, домен электронной почты которого является полномочным для сервера, и любым другим SMTP-сервером, отправляющим сообщение тому же пользователю.
На протяжении многих лет у меня было несколько человек, которые «доводили до меня эту проблему», и это указывает на их непонимание того, как на самом деле работает SMTP. Их путают:
Отправка сообщения через telnet (не прошедшего проверку подлинности) пользователю, домен электронной почты которого является полномочным для сервера. Так работает SMTP.
И
Отправка сообщения через telnet (не прошедшего проверку подлинности) пользователю, домен электронной почты которого не является авторитетным для сервера. Это использование SMTP-сервера в качестве ретранслятора и обычно нежелательно.