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:包含垃圾邮件副本的地址。
From:和To:地址都不在您的域内。该消息应被拒绝。(或者,使用MX Toolbox等在线服务来执行测试,但请注意,如果您的邮件服务器未通过测试,某些在线服务会将您的 IP 地址提交到黑名单。)各种错误配置和错误可能提示传入的消息可能是垃圾邮件或其他非法消息。
HELO/ 的连接EHLO。HELO/所在的连接EHLO:
到达您的服务器的邮件应该被视为入站邮件和出站邮件。入站邮件是任何到达您的 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 的最佳做法不是拒绝邮件,而是将其放入垃圾邮件或垃圾邮件文件夹。可以设置 MUA(邮件用户代理),例如 Outlook 和 Thunderbird,以识别 SpamAssassin 添加到电子邮件消息的标题并适当地归档它们。误报可能而且确实会发生,虽然这种情况很少见,但当它发生在 CEO 身上时,你会听到。如果将邮件简单地传送到垃圾文件夹而不是直接拒绝,那么对话会进行得更好。
SpamAssassin 几乎是独一无二的,尽管存在一些替代方案。
DNSBL(以前称为 RBL,或实时黑洞列表)提供与垃圾邮件或其他恶意活动相关联的 IP 地址列表。这些由独立的第三方根据自己的标准运行,因此请仔细研究 DNSBL 使用的列出和除名标准是否与您的组织接收电子邮件的需要兼容。例如,一些 DNSBL 有严厉的除名政策,这使得被意外列入名单的人很难被删除。其他人在IP地址一段时间没有发送垃圾邮件后会自动下架,这样更安全。大多数 DNSBL 都可以免费使用。
声誉服务是类似的,但声称通过分析与任何给定 IP 地址相关的更多数据来提供更好的结果。大多数声誉服务需要订阅付款或硬件购买,或两者兼而有之。
有许多可用的 DNSBL 和信誉服务,但我使用和推荐的一些比较知名和有用的服务是:
保守名单:
激进的名单:
如前所述,还有许多其他可用的并且可能适合您的需求。我最喜欢的技巧之一是查找发送垃圾邮件的 IP 地址,该地址针对多个 DNSBL 发送了垃圾邮件,以查看其中哪些会拒绝它。
SPF(发件人策略框架;RFC 4408和RFC 6652)是一种通过声明哪些 Internet 主机有权为给定域名发送邮件来防止电子邮件地址欺骗的方法。
-all拒绝所有其他服务器。DKIM(域密钥识别邮件;RFC 6376)是一种在邮件消息中嵌入数字签名的方法,可以使用在 DNS 中发布的公钥进行验证。它在美国受到专利保护,这减缓了它的采用。如果邮件在传输过程中被修改,DKIM 签名也可能被破坏(例如,SMTP 服务器偶尔可能会重新打包 MIME 邮件)。
灰名单是一种技术,其中 SMTP 服务器对传入的邮件发出临时拒绝,而不是永久拒绝。在几分钟或几小时后重试传递时,SMTP 服务器将接受该邮件。
灰名单可以阻止一些不够强大的垃圾邮件软件,无法区分临时拒绝和永久拒绝,但对发送到开放中继或更强大的垃圾邮件软件的垃圾邮件没有帮助。它还引入了用户可能无法容忍的交付延迟。
Nolisting是一种配置 MX 记录的方法,以便最高优先级(最低优先级编号)记录没有正在运行的 SMTP 服务器。这依赖于这样一个事实,即许多垃圾邮件软件只会尝试第一个 MX 记录,而合法的 SMTP 服务器会按照偏好的升序尝试所有 MX 记录。一些垃圾邮件软件还尝试直接发送到违反RFC 5321的最低优先级(最高优先级编号)MX 记录,因此也可以将其设置为没有 SMTP 服务器的 IP 地址。据报道这是安全的,尽管与任何事情一样,您应该首先仔细测试。
在您现有的 SMTP 服务器前放置一个垃圾邮件过滤设备,例如Cisco IronPort或Barracuda Spam & Virus Firewall(或其他类似的设备),以减少收到的垃圾邮件。这些设备预先配置了 DNSBL、信誉服务、贝叶斯过滤器和我介绍的其他功能,并由其制造商定期更新。
如果这对您(或您过度工作的 IT 员工)来说太过分了,您可以随时让第三方服务提供商为您处理电子邮件。Google 的Postini、Symantec MessageLabs Email Security(或其他)等服务将为您过滤邮件。其中一些服务还可以处理监管和法律要求。
最终用户应对垃圾邮件应该做的绝对第一件事是:
不要回复垃圾邮件。
如果看起来很有趣,请不要点击网站链接,也不要打开附件。无论报价看起来多么诱人。伟哥是不是便宜,你是不是真的担心会不会有人拍裸照,并没有$ 15百万美元,在尼日利亚或其他地方,除了从谁的人采取的钱做了回应到垃圾邮件。
如果您看到垃圾邮件,请根据您的邮件客户端将其标记为垃圾邮件或垃圾邮件。
如果您实际上已注册接收消息并且只想停止接收消息,请不要将消息标记为垃圾邮件/垃圾邮件。相反,使用提供的取消订阅方法取消订阅邮件列表。
定期检查您的垃圾邮件/垃圾邮件文件夹,看看是否有任何合法邮件通过。将这些标记为非垃圾邮件/非垃圾邮件并将发件人添加到您的联系人中,以防止他们的邮件将来被标记为垃圾邮件。
eww*_*ite 31
多年来,我管理了 100 多个独立的邮件环境,并使用了大量流程来减少或帮助消除垃圾邮件。
技术随着时间的推移而发展,所以这个答案将介绍我过去尝试过的一些事情,并详细介绍当前的状况。
关于保护的一些想法...
关于传入的垃圾邮件...
我目前的做法:
我是基于设备的垃圾邮件解决方案的坚定拥护者。我想在网络外围拒绝并在邮件服务器级别保存 CPU 周期。使用设备还提供了与实际邮件服务器(邮件传递代理)解决方案的一些独立性。
出于多种原因,我推荐梭子鱼垃圾邮件过滤器设备。我已经部署了几十个单元,网络驱动的界面、行业思维共享和一劳永逸的设备特性使它成为赢家。后端技术结合了上面列出的许多技术。
Barracuda 垃圾邮件和病毒防火墙 300 状态控制台

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

总而言之,我尝试了很多解决方案,但考虑到某些环境的规模以及用户群不断增长的需求,我想要最优雅的解决方案。采取多管齐下的方法并“自己动手”当然是可能的,但我在 Barracuda 设备的一些基本安全性和良好使用监控方面做得很好。用户对结果非常满意。
注意:Cisco Ironport也很棒……只是更贵。
Mad*_*ter 26
部分地,我赞同其他人所说的;部分,我不。
这对我来说非常有效,但您需要花一些时间用 ham 和 spam训练贝叶斯过滤器。
ewwhite 可能觉得它的日子来了又去,但我不能同意。我的一位客户询问我的各种过滤器的效果如何,以下是我的个人邮件服务器 2012 年 7 月的大致统计数据:
所以大约 44000 人从未通过灰名单;如果我没有灰名单,并且接受了所有这些,他们都需要垃圾邮件过滤,所有这些都使用 CPU 和内存,甚至带宽。
编辑:由于这个答案似乎对某些人有用,我想我会更新统计数据。因此,我对 2.5 年后的 2015 年 1 月的邮件日志重新进行了分析。
这些数字不能直接比较,因为我不再记下我是如何得出 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 列入灰名单很有用,因为它们偶尔会被用于垃圾邮件。延迟使一些垃圾邮件过滤器输入有时间来捕获垃圾邮件发送者。它还倾向于偏转垃圾邮件机器人,因为它们通常不会重试。
黑名单和白名单也可以提供帮助。
垃圾邮件过滤软件在查找垃圾邮件方面相当不错,尽管有些会通过。在不增加过多的假阳性的情况下将假阴性提高到合理的水平可能会很棘手。我发现 Spamassassin 可以捕获大部分到达它的垃圾邮件。我添加了一些符合我需要的自定义规则。
邮政局长应配置所需的滥用地址和邮政局长地址。确认您收到这些地址的反馈并采取行动。这允许其他人帮助您确保您的服务器正确配置并且不是原始垃圾邮件。
如果您是开发人员,请使用现有的电子邮件服务,而不是设置自己的服务器。根据我的经验,为自动邮件发件人设置的服务器可能配置不正确。查看 RFC 并从您域中的合法地址发送格式正确的电子邮件。
最终用户可以做很多事情来帮助减少垃圾邮件:
域所有者/ISP 可以通过将端口 25 (SMTP) 上的 Internet 访问限制到官方电子邮件服务器来提供帮助。这将限制垃圾邮件机器人发送到 Internet 的能力。当动态地址返回未通过 rDNS 验证的名称时,它也有帮助。更好的是验证邮件服务器的 PTR 记录是否通过 rDNS 验证。(在为您的客户配置 PTR 记录时验证是否有印刷错误。)
我已经开始将电子邮件分为三类:
我见过的最有效的单一解决方案是使用一种外部邮件过滤服务。
我有为当前客户提供以下服务的经验。我确定还有其他人。根据我的经验,这些中的每一个都做得非常出色。这三个人的成本都是合理的。
与本地解决方案相比,这些服务有几个巨大的优势。
在垃圾邮件到达您的互联网连接和电子邮件服务器之前,他们会阻止大部分 (>99%) 垃圾邮件。鉴于垃圾邮件的数量,这是大量不在您的带宽和服务器上的数据。我已经实施了其中一项服务十多次,每一项都显着提高了电子邮件服务器的性能。
他们还进行反病毒过滤,通常是双向的。这减轻了在您的服务器上安装“邮件反病毒”解决方案的需要,并且还完全保持了病毒
他们在阻止垃圾邮件方面也做得很好。在使用 MXLogic 的公司工作的 2 年中,我从未出现过误报,并且可以一方面计算通过的合法垃圾邮件。
小智 5
没有两个邮件环境是相同的。因此,构建一个有效的解决方案需要围绕许多不同的可用技术进行大量反复试验,因为电子邮件、流量、软件、网络、发件人、收件人等的内容在不同环境中都会有很大差异。
但是,我发现以下阻止列表 (RBL) 非常适合常规过滤:
如前所述,SpamAssassin 在正确配置时是一个很好的解决方案,只需确保在 CPAN 中安装尽可能多的插件 Perl 模块以及 Razor、Pyzor 和 DCC。Postfix 与 SpamAssassin 配合得很好,例如,它比 EXIM 更容易管理和配置。
最后,在某些事件(例如针对滥用行为触发 RBL 命中)之后,使用 fail2ban 和 iptables 或类似方法在 IP 级别阻止客户端在短时间内(例如一天到一周)也非常有效。为什么要浪费资源与已知受病毒感染的主机交谈?
| 归档时间: |
|
| 查看次数: |
62924 次 |
| 最近记录: |