通过SMTP和用户欺骗垃圾邮件

我注意到有可能telnet到我拥有的邮件服务器,并将伪造的消息发送到其他客户端。 这只适用于邮件服务器所关注的域名; 我不能为其他域做。

例如; 可以说我自己的example.com 。 如果我telnet example.com 25我可以成功地发送消息给另一个用户而无需身份validation:

 HELO local MAIL FROM: [email protected] RCPT TO: [email protected] DATA SUBJECT: Whatever this is spam Spam spam spam . 

我认为这是一个大问题。 我如何确保这一点?

如果您正在远程login的邮件服务器是您在RCPT TO:地址(上例中的example.com)中指定的域的权威服务器,则可能没有什么可担心的。 这仅仅意味着您的邮件服务器正在接受您为其设置的域中的地址的邮件。 正如@joeqwerty指出的那样,SMTP是如何工作的。 尝试使用不受此邮件服务器pipe理的域中的电子邮件地址。

但是,如果这是一个不同的域,这意味着你的服务器正在中继,这可能是一件坏事。 我说“可能”,因为还有其他一些事情要检查。

SMTP服务器决定是否以各种方式转发电子邮件。 通常他们会接受所有发往该服务器的邮件(如上所述)。 之后,他们可能会根据如何设置,执行以下操作之一:1.从指定的IP地址/范围中继所有电子邮件。 这对于互联网服务提供商来说是很常见的,所以他们只能从自己的客户那里转发电子邮 他们有时(在日本)也通过客户的地址过滤这个validation客户只使用ISP域内的地址。

  1. SMTP之前的POP。 基本上,它注意到需要密码的POPlogin(不像SMTP)。 如果login成功,则表示该IP地址的用户可能也被授权发送邮件,并在一段时间内中继所有SMTP邮件。 SMTP之前的POP

  2. ESMTP的SMTP-AUTH机制。 这是一个扩展,它允许您在发送邮件时input授权凭证。

还有其他的,也有许多不同的反垃圾邮件filter,可以在发送过程的不同阶段(在SMTP对话,排队之前,发送之前等),也可以泥水。 我认为这涵盖了主要的。

在你的情况下,如果

  1. 您的服务器对于您要发送给的域名是不具有权威性的
  2. 您没有在SMTP之前使用POP /还没有使用POPvalidation您的IP地址(例如通过邮件检查您的邮件客户端),以及
  3. 您尚未将您的IP地址设置为可信的IP地址,以允许在服务器上进行中继

那么你可能有一个问题,并应该考虑如何限制邮件服务器的中继。 这些设置是特定于服务器的,所以你必须检查你正在使用的那个文档。

是的,因为这是SMTP的工作原理。 发送电子邮件给SMTP服务器权威的电子邮件域的用户并不欺骗服务器。 这就是SMTP服务器如何发送电子邮件到其他SMTP服务器。

从function上说,通过telnet(未经身份validation)发送电子邮件给服务器授权的用户和任何其他SMTP服务器向同一用户发送消息的用户之间没有区别。

这些年来,我有好几个人“把这个问题引起了我的注意”,并指出他们对SMTP的工作原理缺乏了解。 他们感到困惑的是:

通过远程login(未经身份validation)发送邮件给服务器授权的用户。 这是SMTP的工作原理。

通过telnet(未经身份validation)发送邮件给服务器不具有权威性的用户。 这是使用SMTP服务器作为中继,通常是不希望的。