wake-up-neo.com

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

这是关于打击垃圾邮件的 (标准问题 )。
也相关:

关于打击垃圾邮件,有太多的技术和要了解的知识。管理员,域所有者和最终用户可以使用哪些广泛使用的技术来防止垃圾邮件进入我们的收件箱?

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

109
Chris S

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

技术随着时间的推移而发展,因此此答案将逐步介绍我过去尝试过的一些事情,并详细说明当前的状况。

关于保护的几点思考...

  • 您想保护传入邮件服务器的端口25免受 开放中继 的影响,任何人都可以通过您的基础结构发送邮件。这与您可能使用的特定邮件服务器技术无关。远程用户应使用备用提交端口and某种形式的必需身份验证来中继邮件。端口587或端口465是25的常见替代方案。
  • 加密也是一个加号。许多邮件流量以明文形式发送。现在,大多数邮件系统都可以支持某种形式的加密。某些事件期望它。
  • 这些是预防your邮件站点被归类为垃圾邮件源的更积极的方法...

关于垃圾邮件...

  • 灰名单 在短时间内是一种有趣的方法。强制进行临时拒绝/延迟,以希望垃圾邮件发送者可以断开连接并避免暴露消息或重新排队消息所需的时间和资源。这造成了邮件传递中不可预知的延迟,与大型服务器场中的邮件无法很好地配合,垃圾邮件发送者最终开发出了解决方法。最严重的影响是打破了用户对快速邮件传递的期望。
  • 多个MX中继仍需要保护。一些垃圾邮件发送者会尝试发送到 备份或优先级较低的MX ,以希望其过滤功能不那么强大。
  • 实时黑洞列表 (RBL/DNSBL)-这些引用集中维护的数据库以验证是否列出了发送服务器。注意事项严重依赖RBL。有些不如其他人享有声誉。 Spamhaus 的产品对我一直很有益。诸如 [〜#〜] sorbs [〜#〜] 之类的其他方法列出IP的方法较差,并且经常阻止合法电子邮件。在某些情况下,它被比作敲诈勒索,因为除名通常涉及$$$。
  • 发件人策略框架 (SPF)-基本上是一种确保给定主机被授权发送特定域的邮件的方法,如DNS TXT)记录所定义。为您的外发邮件创建SPF记录是一个好习惯,但从发送给您的服务器上require则是一个坏习惯。
  • 域密钥 -尚未广泛使用..。
  • 跳动抑制-防止无效邮件返回到其来源。一些垃圾邮件发送者将通过分析 backscatter 来创建可用地址映射,从而尝试查看哪些地址有效/有效。
  • 反向DNS/PTR检查-检查发送服务器是否具有有效的反向PTR记录。这不需要匹配原始域,因为可以将域与主机进行多对一映射。但是,最好确定IP空间的所有权并确定原始服务器是否是动态IP块的一部分(例如家庭宽带-阅读:受侵扰的垃圾邮件)。
  • 内容过滤 不可靠)-尝试抵消“(Viagra,v\| agra,伟哥,vilgra。)”的排列对于管理员来说很耗时,并且无法在较大的环境中扩展。
  • ---(贝叶斯过滤 -更高级的垃圾邮件解决方案允许对邮件进行全局或按用户培训。阅读有关启发式方法的链接文章,但要点是,可以将邮件手动分类为好(Ham)或坏(Spam),结果邮件将填充一个贝叶斯数据库,该数据库可用来确定将来邮件的分类。通常,这与垃圾邮件评分或权重相关联,并且可以是用于确定是否应传递邮件的少数几种技术之一。
  • 速率控制/节流-简单方法。限制给定服务器在特定时间内可以尝试传递多少消息。将所有邮件推迟到该阈值以上。通常在邮件服务器端进行配置。
  • 托管和云过滤。 Postini 浮现在脑海中,因为那是cloud的解决方案,而cloud则是一个流行词。现在由Google拥有,托管解决方案的优势在于,处理它们遇到的邮件量具有内在的规模经济性。数据分析和简单的地理覆盖范围可以帮助托管的垃圾邮件过滤解决方案适应趋势。但是,执行很简单。 1)。将您的MX记录指向托管解决方案,2)。提供过滤后的服务器传递地址。 3)。 利润

我目前的做法:

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

由于多种原因,我建议 梭子鱼垃圾邮件过滤器设备 。我已经部署了几十个部门,并且网络驱动的界面,业界的关注度以及“一劳永逸”的设备特性使其成为了赢家。后端技术结合了上面列出的许多技术。

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

梭子鱼垃圾邮件和病毒防火墙300状态控制台 enter image description here


较新的方法:

在过去的一个月中,我一直在尝试 梭子鱼基于云的电子邮件安全服务 。这与其他托管解决方案相似,但非常适合于小型站点,在这些站点中昂贵的设备成本很高。只需象征性的年费,这项服务就可提供硬件设备功能的约85%。该服务还可以与现场设备一起运行,以减少传入带宽并提供另一层安全性。它也是一个不错的缓冲区,可以在服务器发生故障时假脱机处理邮件。尽管仍然不如物理单位详细,分析仍然有用。

梭子鱼云电子邮件安全控制台 enter image description here

总而言之,我已经尝试了许多解决方案,但是鉴于某些环境的规模以及用户群的不断增长的需求,我想要最简洁的解决方案。当然,采取多管齐下的方法并“自行开发”是可行的,但是我对梭子鱼设备的一些基本安全性和良好使用情况的监视做得很好。用户对此结果感到非常满意。

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

31
ewwhite

在某种程度上,我赞同别人所说的。部分地,我没有。

Spamassassin

这对我来说效果很好,但是您需要花一些时间来训练贝叶斯过滤器同时包含垃圾邮件和垃圾邮件

灰名单

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

  • 尝试传递46000条消息
  • 1750年列入灰名单
  • 250名通过灰名单+受过训练的spamassassin

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

编辑:由于此答案似乎对某些人有用,所以我认为我应该使统计数据保持最新。因此,我对2.5年后的2015年1月的邮件日志重新进行了分析。

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

这些数字不是直接可比的,因为我不再注意到我是如何得出2012年数字的,因此我无法确定方法是否相同。但是我有信心,那时我不必对大量内容运行昂贵的计算垃圾邮件过滤,由于灰名单,我仍然不需要这样做。

SPF

这并不是一种真正的反垃圾邮件技术,但是如果您被聘请,它可以减少必须处理的反向散射量。您应该同时使用它,即:您应该检查发件人的SPF记录中是否有传入电子邮件,并相应地接受/拒绝。您还应该发布自己的SPF记录,完整列出所有被批准随您发送邮件的机器,并-all锁定所有其他机器。不以-all结尾的SPF记录完全没有用。

黑洞清单

RBL是有问题的,因为一个人可以毫无缺点地进入它们,并且很难下车。尽管如此,它们在反垃圾邮件方面还是有合法用途的,但是我强烈建议不要将RBL用作接受邮件的明线测试。 spamassassin处理RBL的方式-通过使用很多,每个都有助于总分,而正是这个分值决定了接受/拒绝的决定-更好。

投寄箱

我的意思不是商业服务,而是我的邮件服务器有一个地址,该地址可删除我所有的灰名单和垃圾邮件过滤程序,但它不会传递给任何人的INBOX,而是转到/var,它会自动每晚过滤掉超过14天的所有电子邮件。

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

26
MadHatter

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

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

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

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

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

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

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

  • 我发现Spamhaus是可靠的黑名单。
  • “垃圾邮件”过滤器中的“自动白名单”有助于消除偶尔为垃圾邮件的频繁发件人或偶尔为垃圾邮件的发件人的评分。
  • 我发现dnsl.org的白名单也很有用。

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

邮件管理员应配置所需的滥用和邮件管理员地址。确认您对这些地址的反馈并采取相应的措施。这使其他人可以帮助您确保服务器已正确配置并且不发起垃圾邮件。

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

最终用户可以采取多种措施来减少垃圾邮件:

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

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

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

  • Ham(几乎总是来自正确配置的服务器,正确的格式以及通常的个人电子邮件。)
  • 垃圾邮件(大部分来自Spambots,但一定比例来自免费邮件服务器或其他配置不正确服务器的发件人。)
  • Cn可能是火腿或垃圾邮件(包括大量来自邮件列表和自动化系统的邮件。通常由于DNS和/或服务器配置错误,火腿通常会出现在此处。)
14
BillThor

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

我在现有客户中拥有以下服务的经验。我敢肯定还有其他人。根据我的经验,每个人都做得很好。这三者的费用都合理。

  • Postini来自Google
  • MXLogic来自McAfee
  • SecureTide来自AppRiver

与本地解决方案相比,该服务具有多个巨大优势。

  1. 它们会阻止大部分(> 99%)垃圾邮件,然后再打击您的Internet连接和电子邮件服务器。考虑到垃圾邮件的数量,很多数据不在您的带宽上,也不在服务器上。我已经多次实施了其中一项服务,每项服务都使电子邮件服务器的性能有了显着提高。

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

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

6
tomjedrz

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

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

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

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

5
Fat Finger