作为收件箱交付前安全扫描的一部分,邮件服务器是否会跟踪电子邮件中的链接?

信息安全 验证 电子邮件 扫描 自动化
2021-09-07 10:42:02

我已经使用魔术链接和电子邮件实现了无密码登录。该链接只能使用一次。一位客户抱怨说,一旦他们单击该链接,该页面就会报告该链接已被使用。这确实是我实现的,但我确信他们实际上只点击了每个链接一次。我与用户直接接触。

我们无法重现此行为(它适用于我的计算机),因此我检查了日志。根据我从日志中收集的信息,我怀疑某些自动机制是在将电子邮件发送到收件箱之前单击登录链接。一旦它到达收件箱并且用户点击链接,他们实际上是第二个点击它的人。一些自动化工具先做,然后用户再做。

以下是按贡献降序排列引起我怀疑的原因:

  1. 从提交电子邮件地址到点击电子邮件中的链接之间平均有 2 秒的时间。尽管不是不可撤销的,但手动完成它需要一些不太可能的努力。
  2. 电子邮件地址是从与单击链接的完全不同的 IP 地址提交的。Geo-IP 告诉我请求都是在伦敦提出的,但链接是在美国点击的。同一用户,下一次尝试 5 分钟后来自伦敦的请求,但这次点击的是德国。
  3. 电子邮件地址是从与用于打开链接的浏览器不同的浏览器提交的(Chrome 与 IE11)。

作为收件箱投递前安全扫描的一部分,邮件服务器是否真的会跟踪电子邮件中的链接?如果是这样,在这种环境中使用时,使一次性链接工作的可推荐方法是什么?

PS1:这位客户在一家大型跨国公司工作。PS2:我知道无密码登录的优缺点。

4个回答

这不是一个新问题。

几年来我不必解决它,所以我不知道最先进的技术是否发生了变化,但是您可以尝试一些事情:

1)不要处理您的链接,除非它有一个特殊的查询参数。查询参数是由客户端重定向添加的(我曾经http://insider.zone/tools/client-side-url-redirect-generator/处理一些跨浏览器的混乱),但服务器端代码将使用无查询参数链接返回到浏览器。所以:

用户点击“ https://magiclink.foo.org/ajskdfjwlakefj

服务器看不到魔术重定向,所以

重定向到“ https://magiclink.foo.org/ajskdfjwlakefj?follow=true

和服务器端代码,看到“follow=true”,将处理然后使该令牌无效。

2)我认为您可以通过表单提交从 GET->POST 进行重定向,但我没有尝试过。

祝你好运!

很容易在一次性链接上放置验证码,以在使用链接之前确认访问者是人类。因此,邮件过滤器仍将访问该页面,但不会触发仅通过访问链接所期望的操作(可能是 cURL 请求而不是带有 DOM/JS 的浏览器)

取决于 MTA 的功能,MTA 是否具有网络钓鱼检测功能(主要是解析消息并提取 URL 并检查数据库)取决于它们如何进行检测以确定是否是网络钓鱼。根据我的经验,一般 MTA 不会跟随链接或下载邮件中的附件,但可能某些具有高级功能的系统可以在邮件传递到收件箱之前下载和分析附件。

显然,我不知道您客户的邮件提供商,但一些服务提供商专门为此目的提供了功能——在发送前对邮件进行安全检查。有些人,对这个线程的另一个评论,甚至检查附件。

Office 365 高级威胁防护 (ATP),这是一个描述它的博客。 Office 365 ATP