拦截和分析网络中的所有电子邮件流量
Posted
技术标签:
【中文标题】拦截和分析网络中的所有电子邮件流量【英文标题】:Intercepting and analyzing all email traffic in a network 【发布时间】:2015-12-03 14:51:51 【问题描述】:我们正在为大型组织的电子邮件保护构建网络安全解决方案。
我们的最终目标是:
拦截所有进入组织的电子邮件,扫描电子邮件的附件,以防万一一切正常,让电子邮件继续到达目的地,否则阻止电子邮件。
我们专注于扫描电子邮件,我们目前不确定拦截所有电子邮件的最佳解决方案。
我们非常乐意收到有关此问题的信息(关键词?开源项目?)。
我们认为我们的解决方案有点类似于 IDS/IPS,但仍然不明白如何进行电子邮件拦截。
Wireshark 等现有解决方案能够拦截电子邮件,但就像我说的,我们需要拦截组织的所有传入电子邮件,Wireshark 是否可扩展以完成此类任务?
非常感谢, 迈克尔。
【问题讨论】:
【参考方案1】:Wireshark 只听现在网络中发生的事情,它不会帮助您阻止所说的流量。 Wireshark 不适合进行 24/7 全天候捕获。这是调试工具,用于帮助管理员查看为什么某些东西不工作。
有更好的解决方案可以重定向流量副本以分析事物,但您仍然无法阻止当前流量。假设您发现了一个病毒,并且,您拥有流量副本这一事实意味着病毒已经进入客户端计算机。这是一种IDS方式。
您必须成为主要的中间人才能进行预防并成为 IPS。您的软件应该对客户端显示为有效的服务器,并了解他们想去哪里,去那里并显示为该服务器的有效客户端。
因此,当您的路由器发现连接到 Internet 的端口 143 (IMAP) 时,它会将数据包重定向到您的过滤框。该框将回复“* OK ready”,即假装它是一个 IMAP 服务器,同时连接到客户端打算连接的真实服务器(您必须以某种方式从路由器知道原始目标 IP)。然后你来回传递一些 IMAP 命令和回复,可能会扫描出现在那里的电子邮件正文和附件。您可以阻止,将某些附件替换为“抱歉,这里有病毒,我们禁用了交付”等等。做好准备,IMAP 是一个相当复杂的协议,而且很流行,你必须实现透明的 IMAP 代理。
您完全能够拦截和干扰通过未加密的流量,但今天每个人都使用 TLS,所以您很幸运能够拦截有意义的东西并看到它是一封电子邮件。为了避免这种情况,您必须能够进行 SSL/TLS MitM 代理,这很难做到。 SSL MitM 代理是一件非常讨厌的事情,这意味着您必须运行内部证书颁发机构,使其受到所有内部客户端的信任,让您的拦截框自动生成由这个特殊 CA 签名的证书,只是为了出现将客户端作为有效的服务器。
如果您未能在某些客户端上安装 CA 证书(例如,CEO 将有一位客人使用笔记本电脑或平板电脑),他们的电子邮件软件将抱怨不受信任的服务,并且如果它抱怨一些众所周知的事情(例如例如,gmail)你会有一个非常可疑的情况。
这仍然不是完全安全的,因为有人可以从您的网络构建 *** 隧道并通过它进行通信,绕过您的过滤器。
市场上有现成的解决方案可以做到这一点,它们的成本也相应提高。他们通常能够插入多个防病毒扫描程序。尽管如此,即使使用那种昂贵的解决方案,您也必须解决安装 CA 证书的问题。如果您可以控制所有客户端计算机,这可能会更容易(例如,您将决定永远不会在您的外围遇到来宾笔记本电脑,将创建一个来宾网络并且根本不过滤它),但是集成起来可能会更容易扫描仪进入客户端电子邮件软件。
它可以将所有内容发送到某个扫描服务器,或在本地扫描,但这将确保 TLS 问题不会影响您 - 客户端软件是加密隧道的一侧,因此它始终具有明文形式的有效负载。
如果您在公司环境中,那么企业很可能拥有公司电子邮件服务。您可以将扫描仪集成到此服务中。不同的电子邮件服务设置做的事情不同,但都能够使用“smtp-proxy”操作,该代理将为通过它的每条消息调用扫描器。这有一个明显的缺点,即仅检查通过此服务器的电子邮件,即仅检查公司电子邮件,而不检查来自外部电子邮件服务(gmail 等)的邮件
【讨论】:
非常感谢您的回复,是否有任何开源解决方案可以作为一个很好的起点?这样的解决方案将如何在大型组织中扩展? (10,000 多名员工) 我完全不知道IMAP代理的开源解决方案,只知道HTTPS的SSL MitM解决方案。我知道一些基于开源的专有解决方案,能够做你想做的事。这些是 McAfee(前 StoneSoft)防火墙/IPS 和 CheckPoint 设备。我怀疑他们曾经发布过任何源代码。我在设置 CheckPoint 4600 集群方面有一些经验。 4000 名员工,这不是我生活中很好的一部分。与部署它的组织的合作在一年前就结束了,所以我不记得太多了。他们仍然声称他们可以根据需要过滤电子邮件。 非常感谢您的回答,他们非常有帮助。我有最后 3 个问题,如果你能回答的话,这对我很有帮助。 1. McAfee 基于哪些开源项目? 2. 能否请您说出 SSL MITM for HTTPS 的开源解决方案?这是我们在电子邮件之后的下一步工作之一。 3. 您知道 McAfee\CheckPoint 的解决方案是否是 100% 的软件解决方案吗?还是因为他们有定制硬件而扩展? HTTPS MitM 代理被称为“mitmproxy”。看看这里:mitmproxy.org。 // 检查点可以作为纯软件或硬件设备购买。它们在这两种情况下都可以扩展。 我只知道它们都是在 Linux 上构建的(我见过 StoneGate IPS 与 IDS-only 许可证,所以不太了解它们的 IPS 功能,而不是文档中的内容)。正如他们所说,检查点设备使用了相当修改的红帽。 (例如,他们肯定修改了核心以太网代码。)我不知道他们的用户空间拦截/分析/ssl-mitm 代码的来源。【参考方案2】:如果您希望能够阻止电子邮件,唯一可靠的方法是部署应用程序级代理(与 TCP 或 IP 代理相反)以通过 SMTP 与外界通信。如果您在较低的抽象级别阻止电子邮件,则外部的 MTA(邮件传输代理)将简单地重试,并且它可能不会再次尝试到同一邮件服务器,具体取决于邮件的配置方式。 STMP 包含一个“永久拒绝”响应代码,允许您想要的行为。
搜索“开源 smtp 代理”会出现很多下一步。
【讨论】:
【参考方案3】:解决此问题的最有效方法之一是创建/设置您自己的邮件服务器/托管解决方案,并让组织将他们的 mx 记录指向您。这样,您就可以完全控制电子邮件,并且可以在收到邮件时对其进行扫描、加密,使其只能由组织软件查看、转发到最终目的地等。
需要注意的是邮件来源、带有 html 或“图片”的邮件,当然还有外部链接。有一些有用的解决方案,例如 Modoba 和 hMailServer,它们可以帮助您构建 UI。
如果您不想让组织电子邮件通过您的服务器,那么您肯定会考虑电子邮件 API。您可以使用 Google 应用程序的 Admin SDK 执行此操作,但我不确定其他电子邮件服务器。对于防病毒部分,这本身就是一个难题,因为组织也希望他们的电子邮件快速。如果您愿意接受其他解决方案,请随时contact me。
【讨论】:
以上是关于拦截和分析网络中的所有电子邮件流量的主要内容,如果未能解决你的问题,请参考以下文章
Python网络编程7-对Telnet流量进行解码分析与拦截