即使在发出 SMTP 命令之前,也可以直接从 域名系统 (DNS) 中直接了解特定对等方的完整性的一些迹象。 特别是,可以查询各种 DNS 黑名单,以了解特定 IP 地址是否已知违反或满足某些标准,并且可以使用简单的前向/反向 (DNS/rDNS) 查找作为主机总体完整性的模糊指标。
此外,一旦 SMTP 对话期间呈现的各种数据项(例如 Hello 问候语中呈现的名称)可用,就可以对其进行 DNS 验证。 有关这些项目的讨论,请参阅下面关于 SMTP 检查的部分。
但需要提醒一句。 DNS 检查并非总是结论性的(例如,所需的 DNS 服务器可能没有响应),也并非总是表明是垃圾邮件。 此外,如果您的站点非常繁忙,它们可能会在每条消息的处理时间方面变得昂贵。 尽管如此,它们可以为日志记录目的和/或作为更全面的完整性检查的一部分提供有用的信息。
DNS 黑名单(DNSbl,以前称为“实时黑洞列表”,以原始黑名单“mail-abuse.org”命名)可能是执行事务时垃圾邮件阻止的最常用工具。 接收服务器在各种 DNSbl 区域(例如“dnsbl.sorbs.net”、“opm.blitzed.org”、“lists.dsbl.org”等)中对等方的 IP 地址执行一个或多个 rDNS 查找。 如果找到匹配的 DNS 记录,则典型的操作是拒绝邮件传递。 [1]
除了 DNS 地址(“A”记录)之外,如果您查找条目的“TXT”记录,您通常会收到关于列表的单行描述,适合包含在 SMTP 拒绝响应中。 要尝试这一点,您可以使用大多数 Linux 和 UNIX 系统上提供的“host”命令
host -t txt 2.0.0.127.dnsbl.sorbs.net |
目前有数百个这样的列表可用,每个列表都有不同的列出标准和不同的列出/取消列出策略。 有些列表甚至将多个列出标准组合到同一个 DNSbl 中,并根据哪个标准影响提供的地址,在响应 rDNS 查找时发出不同的数据。 例如,对以下内容进行 rDNS 查找sbl-xbl.spamhaus.org对于 SpamHaus 工作人员认为直接属于垃圾邮件发送者及其提供商的 IP 地址,返回 127.0.0.2;对于 僵尸主机,返回 127.0.0.4 响应;或者对于 开放代理 服务器,返回 127.0.0.6 响应。
不幸的是,这些列表中的许多列表包含大块 IP 地址,这些 IP 地址并非直接对所谓的违规行为负责,没有明确的列出/取消列出策略,和/或发布关于哪些地址被列出的误导性信息[2]。 对这些列表的盲目信任通常会导致大量所谓的 附带损害(不要与 附带垃圾邮件 混淆)。
因此,许多管理员更倾向于以更细致的方式使用这些列表,而不是仅仅基于来自 DNS 黑名单的单个肯定响应就直接拒绝邮件传递。 他们可能会查阅多个列表,并为每个肯定响应分配一个“分数”。 如果给定 IP 地址的总分达到给定的阈值,则拒绝来自该地址的传递。 这就是 DNS 黑名单被 SpamAssassin 等过滤软件(垃圾邮件扫描器)使用的方式。
也可以使用此类列表作为传入连接上的 SMTP 事务延迟(也称为“延迟应答”)的几个触发器之一。 如果主机在 DNSbl 中列出,您的服务器将延迟 20 秒响应对等方发出的每个 SMTP 命令。 几个其他标准可以用作此类延迟的触发器; 请参阅关于 SMTP 事务延迟的部分。
[1] | 出于不同目的存在类似的列表。 例如,“bondedsender.org” 是一个DNS 白名单 (DNSwl),其中包含 “受信任的” IP 地址,这些地址的所有者已发布财务保证金,如果垃圾邮件源自该地址,则将从中扣除。 其他列表包含特定国家/地区、特定 ISP 等使用的 IP 地址。 |
[2] | 例如,截至撰写本文时,世界最大的互联网服务提供商 (ISP) comcast.net 的传出邮件交换器(“智能主机”)已包含在 SPEWS Level 1 列表中。 从 Comcast 需要更有效地执行其自己的 AUP 的角度来看,这并非完全不应得,但此列表确实影响了 30% 的美国互联网用户,其中大部分是像我这样的 “无辜” 订阅者。 更糟糕的是,SPEWS FAQ 中发布的信息指出: Level 1 列表的大部分由垃圾邮件发送者或垃圾邮件支持运营者自己拥有的网段组成,几乎没有或没有检测到其他合法客户。 从技术上讲,如果 (a) 您将 Comcast 视为 “垃圾邮件支持运营”,并且 (b) 注意 “其他” 一词,则此信息是准确的。 撇开文字解析不谈,此信息显然具有误导性。 |