Tom*_*ime 8 email spam blackhole email-bounces
我的机器上有很多未使用的(旧的、死的)帐户。他们中的许多人每天收到数以千计的电子邮件,都是垃圾邮件。
如果该帐户被某人使用,我会让电子邮件退回,以便任何试图联系他们的人都知道出了什么问题。但是,我不确定如何处理数百个用于其他目的的帐户,例如我曾经用于要求我提供电子邮件地址的网站的一次性帐户,或者我曾经在网页上列出的地址.
选项 1:将
所有邮件转发到这些帐户/dev/null。发件人没有收到退回邮件。
选项 2:
让电子邮件退回。
将电子邮件发送到的好处/dev/null是垃圾邮件发送者不能使用我来生成退回邮件(反向分散垃圾邮件)。即:伪造“来自”行成为他们不喜欢的人,然后使用我向该人发送大量退回邮件。
弹跳它们的好处是对我来说维护更少。我可以从我的别名文件中删除该项目,电子邮件就会退回。此外,我不断发现新的垃圾邮件陷阱并将它们添加到我的“垃圾邮件黑洞”列表中,这是浪费时间。
每种方法的优缺点是什么?
kas*_*erd 15
只要您一开始就拒绝接收邮件来退回邮件,那么垃圾邮件发送者就不能利用您来通过大量退回来惹恼无辜的人。
您可以在RCPT TO命令上返回错误,这通常在地址不存在的情况下发生,或者您可以在RCPT TO命令上返回成功但在DATA.
在这两种情况下,最终结果都是一样的。您的邮件服务器对邮件不承担任何责任,发送邮件服务器现在负责退回邮件。在垃圾邮件的情况下,这意味着垃圾邮件发送者将不得不产生反弹。(如果这就是他们想要做的,他们甚至可以一开始甚至不尝试将邮件发送给您。)
我认为这种方法没有问题。
但是,我确实看到了接受邮件的问题。即,如果您的邮件服务器在整个交易过程中(包括在 结束时)都成功响应,那么您的邮件服务器DATA就有责任发送邮件。这是一个问题,因为你没有适当的出路。
在某些情况下,首先电子邮件地址的分发是如此有限,以至于您知道不可能有任何合法邮件发送到该地址。在这些情况下,拒绝该RCPT TO命令或接受邮件并默默丢弃它几乎没有什么区别。但是我想不出在 SMTP 事务期间静默丢弃邮件比拒绝邮件更好的情况。
我将使这个答案相当通用,因为术语和配置详细信息将根据您的特定邮件服务器/垃圾邮件过滤器软件而有所不同。
对于无效收件人,实际上有 3 种方法:
在确定收件人无效后,将 Undeliverable 消息发送回发件人。
在邮件仍在“传输中”时关闭 SMTP 连接。发件人的 SMTP 服务器将负责生成 Undeliverable 消息。
接受消息并默默删除它。发件人将不知道是否收到了消息。
几乎没有理由再使用方法#1。在 Backscatter 攻击的情况下,您的服务器看起来像垃圾邮件发送者(即使它是无辜的受害者),并且您将被列入黑名单。它还会给您的服务器和上传带宽带来更多负载,因为它必须发送退回消息。
方法#2 几乎普遍比方法#1 好。它减少了您的服务器被列入黑名单或被 DoSed 的可能性。它不会消除针对无辜第三方地址的反向散射的可能性,但至少您的服务器不是发送退回邮件的服务器。
方法#3 消除了反向散射的可能性。它还有助于防范目录收集攻击。但是,这也意味着如果外部发件人错误地输入了您的地址,他们将永远不会知道。如果有人离开您的公司,而客户试图联系前员工,这也可能是一个问题。
由于担心 DHA,我继承了使用方法 #3 的电子邮件系统。它造成的麻烦超过了它的价值。我们现在使用方法#2。(请注意,还有其他缓解 DHA 的方法。)
如果您的电子邮件服务器配置正确,您应该在 SMTP 事务期间拒绝发送给未知用户的电子邮件。
在 SMTP 事务期间拒绝电子邮件
您的服务器应配置为在 SMTP 事务阶段拒绝发送给未知用户的电子邮件。这样做会向发送服务器返回 550 SMTP 错误代码。由于这发生在 SMTP 事务期间,您的服务器永远不会发送未送达报告(又名退回)。
正确配置,这可以防止反向散射,因为拒绝直接发送到发送服务器,其他电子邮件标头将被忽略。
好处
这种方法的好处是您很快就会在 SMTP 交易过程中拒绝电子邮件。这可能意味着:
考虑到如果您对电子邮件进行空路由,则发送服务器认为消息已成功传递。他们没有理由停止向这些已失效的地址发送电子邮件。结果,随着这些旧地址的堆积,您需要越来越多的服务器资源来处理电子邮件。
要实现这一点,您只需从电子邮件系统中删除用户。如果您需要备份当前电子邮件,那很好,您只需要您的服务器发送550 user unknown响应即可。
| 归档时间: |
|
| 查看次数: |
3890 次 |
| 最近记录: |