你如何testing一个新的电子邮件过滤系统?

在您将生产networking设置之前,您使用什么方法来testing或评估潜在的新电子邮件过滤系统?

我特别感兴趣的是适用于具有单个邮件服务器的中小型组织的方法,而没有资源来构build其电子邮件系统的副本。

testing一个电子邮件过滤产品似乎是困难的,听起来表面上。 正如我想到的,我概述了自己的想法,并将其分解成了具体的问题领域。

交货

testing的第一部分与模拟电子邮件过滤系统相关联。 有可能,一个过滤系统可以采取以下任何一种(可能更多的事情,我忘记)考虑到:

  • SMTP协议的具体细节(发件人做了HELO,EHLO,以及名字或IP等)
  • 发送域的DNS的属性(是否parsing,SPFlogging,域密钥logging)
  • 发送者MX的可达性(用于反向pathvalidation)
  • 发送消息的服务器的源IP地址
  • 消息的内容
  • 对第三方数据库或“签名”给出的上述任何(DNSBL,专有“信誉”数据库等)的“意见”

如果这些因素中的任何一个与“真实”交付中发生的情况不一致,那么嘲笑向过滤工具传递消息就变得不太现实。 例如,将捕获的传入电子邮件以不模拟发送服务器的源IP地址的方式发送到过滤装置,从而阻碍过滤产品对该因素采取行动的能力(由DNSBL等运行)。 同样,发送延迟的消息到一个filter(例如,你有一个“jar装”的消息语料库来testing)会给行为一个错误的印象,因为发件人的DNS和任何第三方数据库或签名的属性可能已经改变消息最初发送的时间(发件人修改了SPFlogging以防止误报,第三方服务将发件人列入“黑名单”等)。

我认为不可能完全模拟现实,因为它涉及到交付。 如果你打算模拟发送服务器的IP地址,接近相当困难(而且我不知道有任何“现成的”解决scheme,并且已经从DNSBL中获得了相当好的结果,不要担心模拟发送服务器的IP地址。)最终,你只需要尽可能地接近你的负担。

存储

如果您打算分析结果,则必须将过滤的电子邮件存储在某处。 没有某种存储方式,实际查看结果是没有好的办法的。 当然,过滤软件会生成统计信息,但是如果我能看到过滤的信息,肯定会提高我的舒适度。

某些过滤产品具有内置的存储function(例如MailMarshal)。 其他产品希望有一个电子邮件系统提供和没有任何存储function。 为了testing这些产品,为了不中断生产电子邮件系统,您必须创build一些辅助电子邮件基础架构来存储testing过滤结果。

如果许可费用是一个问题,您可以使用免费和开源工具来防止产生许可费用。 这可能会给testing人员带来一个学习曲线。

更复杂的“群件”types的电子邮件系统可能由于其依赖于其他服务而在模拟中提出挑战。 Exchange Server将要求您模拟Active Directory基础结构以承载邮箱。 其他“群件”types的电子邮件系统(Notes,Groupwise等)在创build并行基础结构方面也会有自己的相关难度。

分析

除了嘲讽交付和存储结果之外,您还需要对过滤的准确性进行人为分析(标记为垃圾邮件,删除,归档到“垃圾邮件”文件夹等)。 它可能没有w / o说,但是人类需要validation过滤的结果,因为这个练习的整个目的是testing计算机对结果进行过滤的能力。 (我知道,那没什么意思,但是我可以听到有人说“但是等等,我们会写一个脚本来testing准确性…”)

过滤分析在我看来首先是有问题的,作为一个规模问题。 对于任何一大群最终用户来说,过滤分析将超出个人或小组testing人员的能力(或者更有可能的是,他们只是“抽查”并希望最好)。 此外,testing人员可能对真正的接收用户(他们真的希望从他们的汽车租赁公司收到那些愚蠢的促销电子邮件或“当天的词汇”)有不同的想法。 识别明显失败的消息可能是非常简单的(“收件箱”中的poronographic电子邮件,“垃圾邮件”文件夹中已知客户的消息等),但肯定有潜在的微妙之处。

我不认为现实有100%的替代 – 你只需要接近,并希望你的testing设置足够接近现实,给你一个精确的filter性能评估。

我们公司非常适合您的标准。 在testing新的垃圾邮件filter之前的大约一个月,我收集了我们的系统收到的所有垃圾邮件,要求用户将其转发到一个特殊的帐户,而不是删除它。 我们的第三方filter服务检测到的垃圾邮件也被转发到垃圾邮件账户。 该垃圾邮件然后通过新的filter重新发送到一个临时的虚拟帐户,看看它是如何执行的。 由于这是一个大批量发送,这也testing了filter的负载处理能力。

作为testing的结果进行了一些调整,同样的垃圾邮件也被送入学习系统。 用户仍然发送任何垃圾邮件,但随着时间的推移,数量已经减less到用户抱怨,如果他们每周只有一两个垃圾邮件。

您可以通过发送带有GTUBE(非请求邮件通用testing)的邮件进行testing。

只需创build一个包含这个的邮件:

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

例如,这与spamassassin工作正常。 您可能会发现其他GTUBE的具体反垃圾邮件

首先testing中继,以确保您不会向互联网打开新的垃圾邮件。 您可以通过使用在线工具(如http://spamlinks.net/prevent-secure-relay-test.htm)或非免费的http://www.dnsstuff.com/的一些工具来完成。