拦截和分析网络中的所有电子邮件流量

时间:2015-12-03 14:51:52

标签: security email network-programming antivirus

我们正在为大型组织中的电子邮件保护构建网络安全解决方案。

我们的最终目标是:

拦截进入该组织的所有电子邮件,扫描电子邮件的附件,以防一切正常,让电子邮件继续到达目的地,否则阻止电子邮件。

我们专注于扫描电子邮件,目前我们不确定哪种拦截所有电子邮件的最佳解决方案。

我们非常乐意接收有关此问题的信息(关键词?开源项目?)。

我们认为我们的解决方案与IDS / IPS类似,但仍然不明白如何进行电子邮件拦截。

像Wireshark这样的现有解决方案能够拦截电子邮件,但正如我所说,我们需要拦截组织的所有传入电子邮件,Wireshark是否可以针对此类任务进行扩展?

非常感谢, 迈克尔。

3 个答案:

答案 0 :(得分:3)

Wireshark现在只监听网络中的内容,它不会帮助您阻止所述流量。 Wireshark不适合全天候捕获。这是调试工具,它用于帮助管理员查看无法正常工作的原因。

有更好的解决方案可以重定向流量副本来分析内容,但仍然无法阻止当前的流量。假设您发现了病毒,而且,您拥有流量副本这一事实意味着病毒已经进入客户端计算机。这是一种IDS方式。

你必须做主要的中间做预防和IPS。您的软件应该显示为客户端的有效服务器,并了解他们想去的地方,去那里并作为该服务器的有效客户端出现。

因此,当您的路由器看到连接到端口143(IMAP)到Internet时,它会将数据包重定向到您的过滤盒。该框将回复“* OK ready”,即假装它是IMAP服务器,同时连接到客户端要连接的真实服务器(您必须以某种方式从路由器知道原始目标IP)。然后你传递一些IMAP命令并反复回复,可能会扫描出现在那里的电子邮件正文和附件。你可以阻止,用“抱歉,这里是病毒,我们禁用交付”等替换一些附件。准备好了,IMAP是一个非常复杂的协议,它很受欢迎,你必须实现透明的IMAP代理。

你能够很好地拦截和干扰未经加密的流量,但今天每个人都使用TLS,所以你很幸运能够拦截一些有意义的东西并发现它是一封电子邮件。为了避免这种情况,你必须能够进行SSL / TLS MitM代理,这很难做到。 SSL MitM代理是一件非常讨厌的事情,它意味着您必须运行内部证书颁发机构,使其受到所有内部客户端的信任,使您的拦截框自动生成由此特殊CA签名的证书,只是为了显示客户端作为有效的服务器。

如果您未能在某个客户端安装CA证书(例如,首席执行官将有一台笔记本电脑或平板电脑的客户),他们的电子邮件软件会抱怨不受信任的服务,并且如果它抱怨一些众所周知的事情(对于例如,gmail)你会有一个非常可疑的情况。

但这仍然不是完全无懈可击的,因为有人可以通过您的网络构建VPN隧道并通过它进行通信,绕过您的过滤器。

市场上有这样做的现成解决方案,因此成本相应。他们通常能够插入几个防病毒扫描程序。尽管如此,即使使用昂贵的解决方案,您也必须解决安装CA证书的问题。如果您可以控制所有客户端计算机,可能会更容易(例如,您将决定从未在外围遇到客户笔记本电脑,创建客户网络并且根本不对其进行过滤),但随后可能更容易集成扫描到客户端电子邮件软件。

它可以发送所有检查到某些扫描服务器,或在本地扫描,但这将确保TLS问题不会触及您 - 客户端软件是加密隧道的一侧,因此它始终具有明文的有效负载。

如果您在公司环境中,企业可能会拥有企业电子邮件服务。您可以将扫描仪集成到此服务中。不同的电子邮件服务设置以不同的方式执行操作,但所有设置都能够使用“smtp-proxy”进行操作,该代理将为每个通过它的消息调用扫描程序。这有一个明显的缺点,即只检查通过此服务器发送的电子邮件,即仅查看公司电子邮件,而不检查来自外部电子邮件服务(gmail等)的邮件。

答案 1 :(得分:2)

如果您希望能够阻止电子邮件,唯一可靠的方法是部署应用程序级代理(而不是TCP或IP代理)以向外界说SMTP。如果您在较低的抽象级别阻止电子邮件,外部的MTA(邮件传输代理)将再次尝试,并且它可能不会再次尝试使用相同的邮件服务器,具体取决于邮件的配置方式。 STMP包含"永久拒绝"响应代码,允许您想要的行为。

搜索"开源smtp代理"提出了许多下一步的地方。

答案 2 :(得分:1)

解决此问题的最有效方法之一是创建/设置您自己的邮件服务器/托管解决方案,并让组织将他们的mx记录指向您。通过这种方式,您可以完全控制电子邮件,并且可以在邮件进入时对其进行扫描,对其进行加密,使其只能由组织软件查看,转发到最终目的地等。

需要注意的事项是邮件来源,带有html或'图片的邮件,当然还有外部链接。有ModobahMailServer等有用的解决方案可以帮助构建您的用户界面。

如果您不想让组织的电子邮件通过您的服务器,那么您肯定会查看电子邮件API。您可以使用适用于Google应用的Admin SDK执行此操作,但我不确定其他电子邮件服务器。对于防病毒部分来说,这是一个很难解决的问题,因为组织也希望他们的电子邮件能够快速发送。如果您愿意接受其他解决方案,请随意contact me

相关问题