打击垃圾邮件 - 作为电子邮件管理员、域所有者或用户,我可以做什么?

Chr*_*s S 110 email spam spf dkim

这是一个关于打击垃圾邮件的规范问题
还相关:

关于打击垃圾邮件有很多技巧和很多知识。管理员、域所有者和最终用户可以使用哪些广泛使用的技术和技术来帮助将垃圾排除在收件箱之外?

我们正在寻找从不同角度涵盖不同技术的答案。接受的答案应包括各种技术(例如 SPF/SenderID、DomainKeys/DKIM、灰名单、DNS RBL、信誉服务、过滤软件 [SpamAssassin 等]);最佳实践(例如,绝不允许中继端口 25 上的邮件,应使用端口 587;等等)、术语(例如,开放中继、反向散射、MSA/MTA/MUA、垃圾邮件/火腿)以及其他可能的技术。

Mic*_*ton 102

要打败敌人,就必须了解敌人。

什么是垃圾邮件?

就我们而言,垃圾邮件是任何未经请求的批量电子消息。如今,垃圾邮件旨在引诱毫无戒心的用户访问(通常是阴暗的)网站,在那里他们会被要求购买产品,或将恶意软件发送到他们的计算机,或两者兼而有之。一些垃圾邮件会直接传送恶意软件。

您可能会惊讶地发现第一垃圾邮件是在 1864 年发送的。它是通过西联汇款发送的牙科服务广告。这个词本身是巨蟒飞行马戏团中一个场景引用

在这种情况下,垃圾邮件不是指用户订阅的邮件列表流量,即使他们后来改变了主意(或忘记了)但实际上还没有取消订阅。

为什么垃圾邮件是个问题?

垃圾邮件是一个问题,因为它适用于垃圾邮件发送者。垃圾邮件通常会产生足够多的销售额(或恶意软件交付,或两者兼有),足以支付垃圾邮件发送者的发送成本。垃圾邮件发送者不会考虑收件人、您和您的用户的成本。即使只有少数收到垃圾邮件的用户做出回应,也足够了。

因此,您需要为带宽、服务器和管理员处理传入垃圾邮件的时间付费。

我们阻止垃圾邮件的原因如下:我们不想看到它,降低我们处理电子邮件的成本,并使垃圾邮件发送者的垃圾邮件成本更高。

垃圾邮件如何运作?

垃圾邮件通常以不同于正常、合法电子邮件的方式传送。

垃圾邮件发送者几乎总是想掩盖电子邮件的来源,因此典型的垃圾邮件将包含虚假的标题信息。该From:地址通常是假的。一些垃圾邮件包含虚假Received:线路,试图掩盖踪迹。许多垃圾邮件是通过开放的 SMTP 中继、开放的代理服务器和僵尸网络传送的。所有这些方法都使得确定垃圾邮件的来源变得更加困难。

一旦进入用户的收件箱,垃圾邮件的目的就是诱使用户访问广告网站。在那里,用户将被引诱进行购买,或者站点将尝试在用户的计算机上安装恶意软件,或两者兼而有之。或者,垃圾邮件会要求用户打开包含恶意软件的附件。

如何阻止垃圾邮件?

作为邮件服务器的系统管理员,您将配置您的邮件服务器和域,以使垃圾邮件发送者更难将垃圾邮件发送给您的用户。

我将讨论专门针对垃圾邮件的问题,可能会跳过与垃圾邮件没有直接关系的事情(例如加密)。

不要运行开放式中继

大邮件服务器的罪过是运行一个开放中继,一个 SMTP 服务器,它将接受任何目的地的邮件并将其转发。垃圾邮件发送者喜欢开放中继,因为它们实际上可以保证交付。当垃圾邮件发送者做其他事情时,他们承担传递消息(并重试!)的负担。他们使垃圾邮件便宜

开放式中继也会导致反向散射问题。这些是被中继接受但随后发现无法传递的消息。然后,开放中继会将退回邮件发送到From:包含垃圾邮件副本的地址。

  • 将您的邮件服务器配置为仅接受您自己域的端口 25 上的传入邮件。对于大多数邮件服务器,这是默认行为,但您至少需要告诉邮件服务器您的域是什么。
  • 通过从您的网络外部向您的 SMTP 服务器发送一封邮件来测试您的系统,其中From:To:地址都不在您的域内。该消息应被拒绝。(或者,使用MX Toolbox等在线服务来执行测试,但请注意,如果您的邮件服务器未通过测试,某些在线服务会将您的 IP 地址提交到黑名单。)

拒绝任何看起来太可疑的东西

各种错误配置和错误可能提示传入的消息可能是垃圾邮件或其他非法消息。

  • 标记为垃圾邮件或拒绝 IP 地址没有反向 DNS(PTR 记录)的邮件。与 IPv6 连接相比,IPv4 连接缺少 PTR 记录的处理更为严厉,因为许多 IPv6 地址还没有反向 DNS,并且可能需要几年时间,直到 DNS 服务器软件能够更好地处理这些潜在的非常大的区域。
  • 拒绝发件人或收件人地址中的域名不存在的邮件。
  • 拒绝对发件人或收件人域未使用完全限定域名的邮件,除非它们源自您的域并打算在您的域内传递(例如监控服务)。
  • 拒绝另一端不发送HELO/ 的连接EHLO
  • 拒绝HELO/所在的连接EHLO
    • 不是完全限定的域名,也不是 IP 地址
    • 明显错误(例如您自己的 IP 地址空间)
  • 拒绝未经授权而使用流水线的连接。

验证您的用户

到达您的服务器的邮件应该被视为入站邮件和出站邮件。入站邮件是任何到达您的 SMTP 服务器并最终发往您的域的邮件;出站邮件是到达您的 SMTP 服务器的任何邮件,这些邮件将在发送之前被转移到其他地方(例如,它会发送到另一个域)。入站邮件可以由您的垃圾邮件过滤器处理,可能来自任何地方,但必须始终以您的用户为目的地。此邮件无法通过身份验证,因为不可能向可能向您发送邮件的每个站点都提供凭据。

出站邮件,即将被中继的邮件,必须经过身份验证。无论它来自 Internet 还是来自您的网络内部都是如此(尽管您应该限制允许使用您的邮件服务器的 IP 地址范围,如果操作上可能的话);这是因为垃圾邮件机器人可能正在您的网络中运行。因此,请配置您的 SMTP 服务器,除非该邮件经过身份验证,否则发往其他网络的邮件将被丢弃(中继访问将被拒绝)。更好的是,对入站和出站邮件使用单独的邮件服务器,完全不允许对入站邮件进行中继,并且不允许对出站邮件进行未经身份验证的访问。

如果您的软件允许这样做,您还应该根据经过身份验证的用户过滤消息;如果邮件的发件人地址与进行身份验证的用户不匹配,则应拒绝该邮件。不要默默更新发件人地址;用户应该知道配置错误。

您还应该记录用于发送邮件的用户名,或向其添加识别标题。这样,如果确实发生了滥用行为,您就有证据并知道是使用哪个帐户进行的。这使您可以隔离受感染的帐户和问题用户,这对于共享主机提供商尤其有价值。

过滤流量

您想确定离开您网络的邮件实际上是由您的(经过身份验证的)用户发送的,而不是由机器人或外部人员发送的。您如何执行此操作的具体细节取决于您正在管理的系统类型。

通常,如果您是公司网络,则对除出站邮件服务器之外的所有内容都阻止端口 25、465 和 587(SMTP、SMTP/SSL 和提交)上的出口流量是一个好主意。这是为了使您网络上运行恶意软件的机器人无法从您的网络发送垃圾邮件以打开 Internet 上的中继或直接发送到地址的最终 MTA。

热点是一种特殊情况,因为来自它们的合法邮件来自许多不同的域,但是(由于 SPF 等)“强制”邮件服务器是不合适的,用户应该使用他们自己域的 SMTP 服务器来提交邮件。这种情况要困难得多,但对来自这些主机的 Internet 流量使用特定的公共 IP 或 IP 范围(以保护您站点的声誉)、限制 SMTP 流量和深度数据包检查是需要考虑的解决方案。

从历史上看,垃圾邮件机器人主要在端口 25 上发布垃圾邮件,但没有什么可以阻止它们出于相同目的使用端口 587,因此更改用于入站邮件的端口的价值值得怀疑。但是,RFC 2476建议使用端口 587 进行邮件提交,并允许将邮件提交(到第一个 MTA)和邮件传输(在 MTA 之间)分开,这在网络拓扑中并不明显;如果你需要这样的分离,你应该这样做。

如果您是 ISP、VPS 主机、托管服务提供商或类似机构,或者正在提供供访问者使用的热点,对于使用自己的域发送邮件的用户来说,阻止出口 SMTP 流量可能会出现问题。在除公共热点之外的所有情况下,您应该要求需要出站 SMTP 访问的用户(因为他们正在运行邮件服务器)专门请求它。让他们知道滥用投诉最终会导致访问被终止,以保护您的声誉。

动态 IP 以及用于虚拟桌面基础架构的 IP 不应具有出站 SMTP 访问权限,除非这些节点预期使用的特定邮件服务器。这些类型的 IP也应该出现在黑名单中,您不应该试图为它们建立声誉。这是因为他们极不可能运行合法的 MTA。

考虑使用 SpamAssassin

SpamAssassin 是一个邮件过滤器,可用于根据邮件标头和内容识别垃圾邮件。它使用基于规则的评分系统来确定邮件是垃圾邮件的可能性。分数越高,邮件就越有可能是垃圾邮件。

SpamAssassin 也有一个贝叶斯引擎,可以分析反馈给它的垃圾邮件和火腿(合法电子邮件)样本。

SpamAssassin 的最佳做法不是拒绝邮件,而是将其放入垃圾邮件或垃圾邮件文件夹。可以设置 MUA(邮件用户代理),例如 Outlook 和 Thunderbird,以识别 SpamAssassin 添加到电子邮件消息的标题并适当地归档它们。误报可能而且确实会发生,虽然这种情况很少见,但当它发生在 CEO 身上时,你会听到。如果将邮件简单地传送到垃圾文件夹而不是直接拒绝,那么对话会进行得更好。

SpamAssassin 几乎是独一无二的,尽管存在一些替代方案

考虑使用基于 DNS 的黑洞列表和信誉服务

DNSBL(以前称为 RBL,或实时黑洞列表)提供与垃圾邮件或其他恶意活动相关联的 IP 地址列表。这些由独立的第三方根据自己的标准运​​行,因此请仔细研究 DNSBL 使用的列出和除名标准是否与您的组织接收电子邮件的需要兼容。例如,一些 DNSBL 有严厉的除名政策,这使得被意外列入名单的人很难被删除。其他人在IP地址一段时间没有发送垃圾邮件后会自动下架,这样更安全。大多数 DNSBL 都可以免费使用。

声誉服务是类似的,但声称通过分析与任何给定 IP 地址相关的更多数据来提供更好的结果。大多数声誉服务需要订阅付款或硬件购买,或两者兼而有之。

有许多可用的 DNSBL 和信誉服务,但我使用和推荐的一些比较知名和有用的服务是:

保守名单:

激进的名单:

如前所述,还有许多其他可用的并且可能适合您的需求。我最喜欢的技巧之一是查找发送垃圾邮件的 IP 地址该地址针对多个 DNSBL 发送了垃圾邮件,以查看其中哪些会拒绝它。

  • 对于每个 DNSBL 和信誉服务,检查其列出和删除 IP 地址的策略,并确定这些策略是否与您组织的需求兼容。
  • 当您确定适合使用该服务时,将 DNSBL 添加到您的 SMTP 服务器。
  • 考虑为每个 DNSBL 分配一个分数并将其配置到 SpamAssassin而不是您的 SMTP 服务器。这减少了误报的影响;这样的消息将被传送(可能发送到垃圾邮件/垃圾邮件)而不是退回。权衡是您将发送大量垃圾邮件。
  • 或者,当 IP 地址位于较为保守的列表之一时,直接拒绝,并在 SpamAssassin 中配置更具攻击性的列表。

使用 SPF

SPF(发件人策略框架;RFC 4408RFC 6652)是一种通过声明哪些 Internet 主机有权为给定域名发送邮件来防止电子邮件地址欺骗的方法。

  • 配置您的 DNS 以向您的授权外发邮件服务器声明 SPF 记录并-all拒绝所有其他服务器。
  • 配置您的邮件服务器以检查传入邮件的 SPF 记录(如果存在),并拒绝未通过 SPF 验证的邮件。如果域没有 SPF 记录,请跳过此检查。

调查 DKIM

DKIM(域密钥识别邮件;RFC 6376)是一种在邮件消息中嵌入数字签名的方法,可以使用在 DNS 中发布的公钥进行验证。它在美国受到专利保护,这减缓了它的采用。如果邮件在传输过程中被修改,DKIM 签名也可能被破坏(例如,SMTP 服务器偶尔可能会重新打包 MIME 邮件)。

  • 考虑使用 DKIM 签名对您的外发邮件进行签名,但请注意,即使在合法邮件上,签名也可能无法始终正确验证。

考虑使用灰名单

灰名单是一种技术,其中 SMTP 服务器对传入的邮件发出临时拒绝,而不是永久拒绝。在几分钟或几小时后重试传递时,SMTP 服务器将接受该邮件。

灰名单可以阻止一些不够强大的垃圾邮件软件,无法区分临时拒绝和永久拒绝,但对发送到开放中继或更强大的垃圾邮件软件的垃圾邮件没有帮助。它还引入了用户可能无法容忍的交付延迟。

  • 考虑仅在极端情况下使用灰名单,因为它对合法电子邮件流量具有高度破坏性。

考虑使用 nolisting

Nolisting是一种配置 MX 记录的方法,以便最高优先级(最低优先级编号)记录没有正在运行的 SMTP 服务器。这依赖于这样一个事实,即许多垃圾邮件软件只会尝试第一个 MX 记录,而合法的 SMTP 服务器会按照偏好的升序尝试所有 MX 记录。一些垃圾邮件软件还尝试直接发送到违反RFC 5321的最低优先级(最高优先级编号)MX 记录,因此也可以将其设置为没有 SMTP 服务器的 IP 地址。据报道这是安全的,尽管与任何事情一样,您应该首先仔细测试。

  • 考虑将最高优先级的 MX 记录设置为指向不在端口 25 上应答的主机。
  • 考虑将最低优先级的 MX 记录设置为指向不在端口 25 上应答的主机。

考虑垃圾邮件过滤设备

在您现有的 SMTP 服务器前放置一个垃圾邮件过滤设备,例如Cisco IronPortBarracuda Spam & Virus Firewall(或其他类似的设备),以减少收到的垃圾邮件。这些设备预先配置了 DNSBL、信誉服务、贝叶斯过滤器和我介绍的其他功能,并由其制造商定期更新。

  • 研究垃圾邮件过滤设备硬件和订阅成本。

考虑托管电子邮件服务

如果这对您(或您过度工作的 IT 员工)来说太过分了,您可以随时让第三方服务提供商为您处理电子邮件。Google 的PostiniSymantec MessageLabs Email Security(或其他)等服务将为您过滤邮件。其中一些服务还可以处理监管和法律要求。

  • 研究托管电子邮件服务订阅成本。

系统管理员应该向最终用户提供什么有关打击垃圾邮件的指导?

最终用户应对垃圾邮件应该做的绝对第一件事是:

  • 不要回复垃圾邮件。

    如果看起来很有趣,请不要点击网站链接,也不要打开附件。无论报价看起来多么诱人。伟哥是不是便宜,你是不是真的担心会不会有人拍裸照,并没有$ 15百万美元,在尼日利亚或其他地方,除了从谁的人采取的钱做了回应到垃圾邮件。

  • 如果您看到垃圾邮件,请根据您的邮件客户端将其标记为垃圾邮件或垃圾邮件。

  • 如果您实际上已注册接收消息并且只想停止接收消息,请不要将消息标记为垃圾邮件/垃圾邮件。相反,使用提供的取消订阅方法取消订阅邮件列表。

  • 定期检查您的垃圾邮件/垃圾邮件文件夹,看看是否有任何合法邮件通过。将这些标记为非垃圾邮件/非垃圾邮件并将发件人添加到您的联系人中,以防止他们的邮件将来被标记为垃圾邮件。

  • @Stephane 如果您无法设置/更改 PTR 记录,则您无法控制 IP 地址。基于此拒绝邮件并没有错。 (10认同)
  • @MichaelHampton:UCEPROTECT 是一个阴暗的组织。 (6认同)
  • 拒绝是常见的,但我认为它既无用又不必要。事实上,我已经快速检查了我自己的垃圾邮件统计数据,结果发现来自没有反向 IP 的垃圾邮件数量低于 5%,这似乎与我从整体上看到的数字几乎相同SMTP 连接。因此我的结论是:这是一个毫无意义的限制。 (2认同)
  • 你有什么证据支持你说它无效的说法?我的日志显示它在预筛选电子邮件方面非常有效。我认识的其他一些人也有类似的经历。 (2认同)

eww*_*ite 31

多年来,我管理了 100 多个独立的邮件环境,并使用了大量流程来减少或帮助消除垃圾邮件。

技术随着时间的推移而发展,所以这个答案将介绍我过去尝试过的一些事情,并详细介绍当前的状况。

关于保护的一些想法...

  • 您希望保护接收邮件服务器的端口 25 免于成为开放中继,任何人都可以通过您的基础设施发送邮件。这与您可能使用的特定邮件服务器技术无关。远程用户应使用备用提交端口某种形式的必需身份验证来中继邮件。端口 587 或端口 465 是 25 的常用替代端口。
  • 加密也是一个加分项。许多邮件流量以明文形式发送。现在大多数邮件系统都可以支持某种形式的加密;一些事件期待它。
  • 这些是防止您的邮件站点被归类为垃圾邮件源的更主动方法...

关于传入的垃圾邮件...

  • 灰名单在短时间内是一种有趣的方法。强制临时拒绝/延迟,希望垃圾邮件发送者断开连接并避免暴露或重新排队邮件所需的时间和资源。这会导致邮件交付出现不可预测的延迟,无法很好地处理来自大型服务器群的邮件,垃圾邮件发送者最终开发了解决方法。最糟糕的影响是打破了用户对快速邮件传递的期望。
  • 多个 MX 继电器仍需要保护。一些垃圾邮件发送者会尝试发送到备份或较低优先级的 MX,希望它的过滤功能不那么强大。
  • 实时黑(洞)名单(RBL/DNSBL) - 这些参考集中维护的数据库来验证是否列出了发送服务器。对 RBL 的严重依赖伴随着警告。有些人的声誉不如其他人。Spamhaus的产品一直对我有好处。其他的,如SORBS,在列出 IP 方面的方法很差,并且经常阻止合法的电子邮件。在某些情况下,它被比作敲诈勒索,因为退市通常涉及$$$。
  • 发件人策略框架(SPF) - 基本上是一种确保给定主机被授权为特定域发送邮件的方法,如 DNS TXT 记录所定义。为您的外发邮件创建 SPF 记录是一种很好的做法,但是从发送给您的服务器中要求它是不好的做法。
  • 域密钥- 尚未广泛使用......
  • 退回抑制 - 防止无效邮件返回其来源。一些垃圾邮件发送者会尝试通过分析反向散射来创建可用地址地图来查看哪些地址是有效/有效的。
  • 反向 DNS/PTR 检查 - 检查发送服务器是否具有有效的反向 PTR 记录。这不需要匹配原始域,因为域到主机的多对一映射是可能的。但是最好确定 IP 空间的所有权并确定始发服务器是否是动态 IP 块的一部分(例如家庭宽带 - 阅读:受感染的垃圾邮件机器人)。
  • 内容过滤 -(不可靠) - 试图对抗“(Viagra, v\|agra, viagra, vilgra.)”的排列对管理员来说是耗时的,并且不能在更大的环境中扩展。
  • 贝叶斯过滤- 更高级的垃圾邮件解决方案允许对邮件进行全球或每用户培训。阅读有关启发式的链接文章,但重点是可以手动将邮件分类为好 (Ham) 或坏 (Spam),生成的邮件会填充贝叶斯数据库,可以参考该数据库来确定未来邮件的分类。通常,这与垃圾邮件分数或权重相关联,并且可以是用于确定是否应传递邮件的少数技术之一。
  • 速率控制/节流 - 简单的方法。限制给定服务器在特定时间段内可以尝试传递的消息数量。推迟超过该阈值的所有消息。这通常在邮件服务器端配置。
  • 托管和云过滤。想到了Postini,因为在成为流行语之前,这是一种解决方案。现在归谷歌所有,托管解决方案的优势在于处理他们遇到的邮件量具有固有的规模经济。数据分析和简单的地理范围可以帮助托管垃圾邮件过滤解决方案适应趋势。不过,执行很简单。1)。将您的 MX 记录指向托管解决方案,2)。提供过滤后的服务器交付地址。3)。利润

我目前的做法:

我是基于设备的垃圾邮件解决方案的坚定拥护者。我想在网络外围拒绝并在邮件服务器级别保存 CPU 周期。使用设备还提供了与实际邮件服务器(邮件传递代理)解决方案的一些独立性。

出于多种原因,我推荐梭子鱼垃圾邮件过滤器设备。我已经部署了几十个单元,网络驱动的界面、行业思维共享和一劳永逸的设备特性使它成为赢家。后端技术结合了上面列出的许多技术。

  • 我在我的邮件服务器的 IP 地址上阻止了端口 25,而是将域的 MX 记录设置为 Barracuda 设备的面向公众的地址 - 例如 spam.domain.com。端口 25 将开放用于邮件传递。
  • 核心是SpamAssassin派生的带有消息日志(和贝叶斯数据库)的简单接口,可用于在初始训练期间将好邮件与坏邮件进行分类。
  • 默认情况下,梭子鱼利用多个 RBL,包括Spamhaus.org 的那些,以及他们自己的BRBL 声誉数据库注 - BRBL可免费用作其他邮件系统的标准 RBL
  • Barracuda 声誉数据库是根据实时数据、蜜罐、大规模分析和任何数量的专有技术编译而成的。它有一个注册的白名单和阻止名单。高容量和高可见度的邮件发件人通常会向梭子鱼注册以进行自动白名单。示例包括 Blackberry、Constant Contact等。
  • 可以启用 SPF 检查(不过我没有启用它们)。
  • 有一个界面可以查看邮件并根据需要从设备的邮件缓存中重新发送。这在用户期望可能未通过所有垃圾邮件检查的邮件的情况下很有帮助。
  • LDAP/Active Directory 用户验证有助于加快对无效邮件收件人的检测。这可以节省带宽并防止反向散射
  • IP/发件人地址/域/原产国都可以配置。如果我想拒绝来自意大利域名后缀的所有邮件,这是可能的。如果我想阻止来自特定域的邮件,它很容易配置。如果我想阻止用户的跟踪者向用户发送电子邮件,这是可行的(真实故事)。
  • Barracuda 提供了许多预制报告以及设备状态和垃圾邮件指标的良好可视化显示。
  • 我喜欢在现场有一个设备来保持内部处理,并且可能有一个过滤后的电子邮件日志连接(在需要保留邮件的环境中)。
  • Plus设备可以驻留在虚拟化基础架构中

Barracuda 垃圾邮件和病毒防火墙 300 状态控制台 在此处输入图片说明


较新的方法:

在过去的一个月里,我一直在试验Barracuda 的基于云的电子邮件安全服务。这类似于其他托管解决方案,但非常适合较小的站点,其中昂贵的设备成本过高。对于象征性的年费,这项服务提供硬件设备功能的大约 85%。该服务还可以与现场设备协同运行,以减少传入带宽并提供另一层安全性。它也是一个很好的缓冲区,可以在服务器中断时缓冲邮件。分析仍然有用,尽管不如物理单元详细。

梭子鱼云邮件安全控制台 在此处输入图片说明

总而言之,我尝试了很多解决方案,但考虑到某些环境的规模以及用户群不断增长的需求,我想要最优雅的解决方案。采取多管齐下的方法并“自己动手”当然是可能的,但我在 Barracuda 设备的一些基本安全性和良好使用监控方面做得很好。用户对结果非常满意。

注意:Cisco Ironport也很棒……只是更贵。


Mad*_*ter 26

部分地,我赞同其他人所说的;部分,我不。

垃圾杀手

这对我来说非常有效,但您需要花一些时间用 ham 和 spam训练贝叶斯过滤器。

灰名单

ewwhite 可能觉得它的日子来了又去,但我不能同意。我的一位客户询问我的各种过滤器的效果如何,以下是我的个人邮件服务器 2012 年 7 月的大致统计数据:

  • 46000 条消息尝试传递
  • 1750 通过灰名单
  • 250 人通过了灰名单 + 训练有素的 spamassassin

所以大约 44000 人从未通过灰名单;如果我没有灰名单,并且接受了所有这些,他们都需要垃圾邮件过滤,所有这些都使用 CPU 和内存,甚至带宽。

编辑:由于这个答案似乎对某些人有用,我想我会更新统计数据。因此,我对 2.5 年后的 2015 年 1 月的邮件日志重新进行了分析。

  • 115,500 条消息尝试传递
  • 13,300 个通过了灰名单(以及一些基本的健全性检查,例如有效的发件人域)
  • 8,500 人通过了灰名单 + 训练有素的 spamassassin

这些数字不能直接比较,因为我不再记下我是如何得出 2012 年数字的,所以我不能确定这些方法是否相同。但我有信心,当时我不必对大量内容运行计算成本高昂的垃圾邮件过滤,现在我仍然不需要,因为有灰名单。

防晒指数

这并不是真正的反垃圾邮件技术,但它可以减少您必须处理的反向散射量,如果您是工作狂的话。您应该同时使用它,即:您应该检查发件人的 SPF 记录是否有传入电子邮件,并相应地接受/拒绝。您还应该发布自己的 SPF 记录,完整列出所有获准以您身份发送邮件的计算机,并使用-all. 不以 in 结尾的 SPF 记录-all完全没有用。

黑洞列表

RBLs 是有问题的,因为人们可以通过没有自己的过错来获得它们,并且它们很难下车。尽管如此,它们在打击垃圾邮件方面有合法用途,但我强烈建议不应将任何 RBL 用作邮件接受的明线测试。spamassassin 处理 RBL 的方式——通过使用许多,每个都对总分有贡献,正是这个分数做出接受/拒绝决定——要好得多。

保管箱

我说的不是商业服务,我的意思是我的邮件服务器有一个地址,该地址通过所有的切口我的灰名单和垃圾邮件过滤,但不是提供给任何人的收件箱,它关系到一个全球可写的文件夹中/var,这是每晚自动修剪超过 14 天的任何电子邮件。

我鼓励所有用户在填写需要可验证电子邮件地址的电子邮件表单时利用它,在那里您将收到一封您需要保留但您再也不想收到的电子邮件,或者在购买时来自可能会出售和/或向其发送垃圾邮件地址的在线供应商(尤其是那些在欧洲隐私法范围之外的供应商)。用户可以提供保管箱地址,而不是提供她的真实地址,并且仅当她希望从通讯员(通常是一台机器)那里得到一些东西时才查看保管箱。当它到达时,她可以将它挑选出来并保存在她正确的邮件集合中。用户无需在任何其他时间查看保管箱。


Bil*_*hor 14

我正在使用多种技术将垃圾邮件减少到可接受的水平。

延迟接受来自错误配置的服务器的连接。我收到的大部分垃圾邮件来自在受恶意软件感染的系统上运行的垃圾邮件机器人。几乎所有这些都没有通过 rDNS 验证。在每次响应之前延迟 30 秒左右会导致大多数垃圾邮件机器人在发送消息之前放弃。仅将其应用于 rDNS 失败的服务器可避免惩罚正确配置的服务器。一些配置不正确的合法批量或自动发件人会受到惩罚,但确实以最小的延迟交付。

为您的所有域配置 SPF 可以保护您的域。大多数子域不应用于发送电子邮件。主要的例外是 MX 域,它必须能够自己发送邮件。许多合法发件人将批量和自动邮件委托给其策略不允许的服务器。推迟而不是基于 SPF 拒绝允许他们修复他们的 SPF 配置,或者您将他们列入白名单。

在 HELO/EHLO 命令中需要 FQDN(完全限定域名)。垃圾邮件通常使用不合格的主机名、地址文字、IP 地址或无效的 TLD(顶级域)。不幸的是,一些合法发件人使用无效 TLD,因此在这种情况下推迟可能更合适。这可能需要监控和白名单以启用邮件通过。

DKIM 有助于不可否认性,但在其他方面不是很有用。我的经验是垃圾邮件不太可能被签名。Ham 更有可能被签名,因此它在垃圾邮件评分中具有一定的价值。许多合法发件人不公布他们的公钥,或者以其他方式不正确地配置他们的系统。

灰名单对于显示一些配置错误迹象的服务器很有帮助。正确配置的服务器最终会通过,所以我倾向于将它们从灰名单中排除。将 freemailers 列入灰名单很有用,因为它们偶尔会被用于垃圾邮件。延迟使一些垃圾邮件过滤器输入有时间来捕获垃圾邮件发送者。它还倾向于偏转垃圾邮件机器人,因为它们通常不会重试。

黑名单和白名单也可以提供帮助。

  • 我发现 Spamhaus 是一个可靠的黑名单。
  • 垃圾邮件过滤器中的自动白名单有助于平滑偶尔为垃圾邮件的频繁发件人或偶尔为垃圾邮件的垃圾邮件发送者的评级。
  • 我发现 dnsl.org 的白名单也很有用。

垃圾邮件过滤软件在查找垃圾邮件方面相当不错,尽管有些会通过。在不增加过多的假阳性的情况下将假阴性提高到合理的水平可能会很棘手。我发现 Spamassassin 可以捕获大部分到达它的垃圾邮件。我添加了一些符合我需要的自定义规则。

邮政局长应配置所需的滥用地址和邮政局长地址。确认您收到这些地址的反馈并采取行动。这允许其他人帮助您确保您的服务器正确配置并且不是原始垃圾邮件。

如果您是开发人员,请使用现有的电子邮件服务,而不是设置自己的服务器。根据我的经验,为自动邮件发件人设置的服务器可能配置不正确。查看 RFC 并从您域中的合法地址发送格式正确的电子邮件。

最终用户可以做很多事情来帮助减少垃圾邮件:

  • 不要打开它。将其标记为垃圾邮件或将其删除。
  • 确保您的系统安全且无恶意软件。
  • 监控您的网络使用情况,尤其是在您不使用系统时。如果它在您不使用时产生大量网络流量,则它可能正在发送垃圾邮件。
  • 不使用计算机时请关闭计算机。(如果关闭,它将无法生成垃圾邮件。)

域所有者/ISP 可以通过将端口 25 (SMTP) 上的 Internet 访问限制到官方电子邮件服务器来提供帮助。这将限制垃圾邮件机器人发送到 Internet 的能力。当动态地址返回未通过 rDNS 验证的名称时,它也有帮助。更好的是验证邮件服务器的 PTR 记录是否通过 rDNS 验证。(在为您的客户配置 PTR 记录时验证是否有印刷错误。)

我已经开始将电子邮件分为三类:

  • Ham(几乎总是来自正确配置的服务器、正确格式和通常的个人电子邮件。)
  • 垃圾邮件(主要来自垃圾邮件机器人,但有一定比例来自免费邮件发送者或其他服务器配置不当的发件人。)
  • 巴恩; 可能是垃圾邮件或垃圾邮件(包括来自邮件列表和自动化系统的大量邮件。由于 DNS 和/或服务器配置错误,垃圾邮件通常会出现在这里。)


tom*_*drz 6

我见过的最有效的单一解决方案是使用一种外部邮件过滤服务。

我有为当前客户提供以下服务的经验。我确定还有其他人。根据我的经验,这些中的每一个都做得非常出色。这三个人的成本都是合理的。

  • 来自 Google 的Postini
  • 迈克菲的 MXLogic
  • 来自 AppRiver 的 SecureTide

与本地解决方案相比,这些服务有几个巨大的优势。

  1. 在垃圾邮件到达您的互联网连接和电子邮件服务器之前,他们会阻止大部分 (>99%) 垃圾邮件。鉴于垃圾邮件的数量,这是大量不在您的带宽和服务器上的数据。我已经实施了其中一项服务十多次,每一项都显着提高了电子邮件服务器的性能。

  2. 他们还进行反病毒过滤,通常是双向的。这减轻了在您的服务器上安装“邮件反病毒”解决方案的需要,并且还完全保持了病毒

他们在阻止垃圾邮件方面也做得很好。在使用 MXLogic 的公司工作的 2 年中,我从未出现过误报,并且可以一方面计算通过的合法垃圾邮件。

  • +1 认可托管解决方案的好处以及正常运行时间/规模和减少流量的好处。我发现的唯一问题是在某些情况下缺乏定制和响应(从必须发送到受这些服务保护的域的人的角度来看)。此外,一些公司出于安全/合规性原因无法使用外部过滤。 (2认同)

小智 5

没有两个邮件环境是相同的。因此,构建一个有效的解决方案需要围绕许多不同的可用技术进行大量反复试验,因为电子邮件、流量、软件、网络、发件人、收件人等的内容在不同环境中都会有很大差异。

但是,我发现以下阻止列表 (RBL) 非常适合常规过滤:

如前所述,SpamAssassin 在正确配置时是一个很好的解决方案,只需确保在 CPAN 中安装尽可能多的插件 Perl 模块以及 Razor、Pyzor 和 DCC。Postfix 与 SpamAssassin 配合得很好,例如,它比 EXIM 更容易管理和配置。

最后,在某些事件(例如针对滥用行为触发 RBL 命中)之后,使用 fail2ban 和 iptables 或类似方法在 IP 级别阻止客户端在短时间内(例如一天到一周)也非常有效。为什么要浪费资源与已知受病毒感染的主机交谈?