如何测试新的电子邮件过滤系统?

如何测试新的电子邮件过滤系统?

在生产网络上设置潜在的新电子邮件过滤系统之前,您使用什么方法来测试或评估它?

我对适合具有单个邮件服务器且没有资源构建其电子邮件系统副本的小型/中型组织的方法特别感兴趣。

答案1

测试电子邮件过滤产品似乎比表面上听起来要困难得多。在思考这个问题时,我概述了我的想法,并将其分解为特定的问题领域。

送货

测试的第一部分与模拟将电子邮件传送到过滤系统有关。过滤系统可能会考虑以下任何一项(可能还有更多我忘记的内容):

  • SMTP 协议的具体细节(发件人是否执行了 HELO、EHLO,以及名称或 IP 等)
  • 发送域的 DNS 属性(是否解析、SPF 记录、域密钥记录)
  • 发送方 MX 的可达性(用于反向路径验证)
  • 传递消息的服务器的源 IP 地址
  • 消息内容
  • 第三方数据库或“签名”对上述任何内容给出的“意见”(DNSBL、专有“声誉”数据库等)

如果这些因素中的任何一个与“实际”传递过程中发生的情况不同,那么模拟将邮件传递到过滤工具的过程就无法反映实际情况。例如,以不模拟发送服务器源 IP 地址的方式将捕获的传入电子邮件发送到过滤设备会妨碍过滤产品针对该因素采取行动的能力(通过 DNSBL 运行它等)。同样,将延迟的邮件发送到过滤设备(假设您有一个“预制”的邮件语料库用于测试)会给人一种错误的行为印象,因为发件人的 DNS 和任何第三方数据库或签名的属性可能自邮件最初发送以来发生了变化(发件人更改了他们的 SPF 记录以防止误报,第三方服务将发件人“列入黑名单”等)。

我认为,在交付方面,完全模拟现实是不可能的。如果你打算模拟发送服务器的 IP 地址,那么接近模拟现实将会相当困难(我不知道有任何“现成的”解决方案可以做到这一点……而且从 DNSBL 中获得了相当好的结果,我担心不是模拟发送服务器的 IP 地址。)最终,您只需尽可能接近它即可。

贮存

如果您打算分析结果,就必须将过滤后的电子邮件存储在某个地方。如果没有某种存储,就没有好的方法可以真正查看结果。当然,过滤软件会生成统计数据,但如果我能看到过滤后的消息,那肯定会提高我的舒适度。

一些过滤产品具有内置存储功能(例如 MailMarshal)。其他产品需要电子邮件系统才能发送邮件,并且没有任何存储功能。为了测试这些产品,并且为了不破坏您的生产电子邮件系统,您必须创建某种辅助电子邮件基础设施来存储测试过滤结果。

如果担心许可费用,您可以使用免费和开源工具来避免产生许可费用。这可能会给测试人员带来学习曲线。

更复杂的“群件”型电子邮件系统可能在模拟方面带来挑战,因为它们依赖于其他服务。Exchange Server 将要求您模拟 Active Directory 基础结构来托管邮箱。其他“群件”型电子邮件系统(Notes、Groupwise 等)在创建并行基础结构时会有各自的难度。

分析

除了模拟交付和存储结果之外,您还需要对过滤的准确性进行人工分析(标记为垃圾邮件、删除、归档到“垃圾邮件”文件夹等)。这可能不言而喻,但人类需要验证过滤结果,因为这项练习的整个目的是测试计算机过滤结果的能力。(我知道,这是不言而喻的……但我听到有人说“但是等等!我们将编写一个脚本来测试准确性……”)

在我看来,过滤分析首先存在问题,因为它的规模很大。对于任何大型终端用户群体,过滤分析都将超出个人或小组测试人员的能力(或者,更可能的情况是,他们只是“抽查”并希望获得最好的结果)。此外,测试人员对什么应该被视为“垃圾邮件”的想法可能与真正的接收用户(他们实际上不想收到租车公司发来的那些愚蠢的促销邮件,或者“每日流行语”)。识别明显失败的邮件可能相当容易(“收件箱”中的色情邮件、“垃圾邮件”文件夹中来自已知客户的邮件等),但肯定存在微妙的可能。

我认为没有什么可以 100% 替代现实 - 你只需要接近并希望你的测试设置能够足够接近地反映现实,从而为你提供对过滤器性能的准确评估。

答案2

我们的公司非常符合您的标准。在测试新的垃圾邮件过滤器之前大约一个月的时间里,我收集了我们系统收到的所有垃圾邮件,方法是要求用户将其转发到一个特殊帐户,而不是直接删除。我们的第三方过滤服务检测到的垃圾邮件也被转发到垃圾邮件帐户。然后,这些垃圾邮件通过新过滤器重新发送到一个临时虚拟帐户,以查看其性能。由于所有垃圾邮件都是在一个大批次中发送的,这也测试了过滤器的负载处理能力。

测试结果显示,我们做了一些调整,并将相同的垃圾邮件输入到学习系统中。用户仍然会向我发送任何通过的垃圾邮件,但随着时间的推移,垃圾邮件的数量已经减少到用户每周只收到一两封垃圾邮件就会抱怨的程度。

答案3

您可以通过发送带有 GTUBE(未经请求的批量电子邮件的通用测试)的邮件进行测试。

只需创建一封包含以下内容的邮件:

XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X

例如,这对于 spamassassin 来说效果很好。您可能会发现其他用于特定反垃圾邮件的 GTUBE

答案4

首先测试中继,确保您不会在互联网上打开新的垃圾邮件箱。您可以使用此处提供的在线工具进行测试:http://spamlinks.net/prevent-secure-relay-test.htm或者一些非自由的工具http://www.dnsstuff.com/

相关内容