破坏力总是可以通过 HTTP 数据包泄漏信息。我应该在防火墙上配置出站规则吗?

信息安全 防火墙 防御 理论
2021-09-07 17:19:26

我知道绕过防火墙的方法,但我绝不是安全专家。最近,我想知道如何有效地配置任何公司防火墙的出站规则。

为了这个问题,我们假设在每台客户端计算机上都安装了最先进的防病毒软件,并且 Web 访问被代理并扫描了病毒活动。假设它们已完美配置,但未知病毒或专门设计的应用程序(不需要 root 权限)在用户空间的计算机上执行。

理论上,我会跟踪所有使用的软件并配置防火墙以允许目标端口 HTTP(S)/80+443、“消息提交”/587 和 IMAPS/993,以及任何目标端口,这是必要的用于 LOB 应用程序。

但这很可能是 10 到 20 个目的港,甚至更多。它们必须被记录和更新,这将导致大量工作并且容易出错,因为任何恶意软件都可以将任何信息封装在 HTTP 数据包中并将其发送到接收端的 80 端口。

那就是我会做的:如果我要编写病毒来泄露公司信息,或者将它们加入僵尸网络,我什至不会费心通过端口 6667/IRC 与接收/控制服务器连接,因为它通常是被封锁。我将简单地将所有信息封装在一个 HTTP 数据包中并连接到目标端口 80/HTTP。

我阅读了有关深度数据包检查的信息,但在我看来,我必须确切地知道破坏性数据包的外观。换句话说,我必须创建一个 DPI 过滤器,它能够区分通过 HTTP 从用户合法传输的文件和通过 HTTP 从恶意软件非法传输的文件。

有了这个想法,我不明白为什么我应该在任何防火墙上做更多的工作而不是允许从 LAN 到 WAN 的任何服务。

4个回答

你混淆了几件事。

首先,几乎每个标准协议(除了 FTP,你应该避免像瘟疫一样)只有少数标准端口。由于这些端口是标准的,它们不会经常更改,因此不需要更新。

现在,某些应用程序将需要打开特定端口,通常,这是通过异常过程处理的:应用程序所有者将向防火墙团队提交请求以打开访问权限。通常,此请求仅限于特定范围的内部系统,并通过特定的端口列表转到特定范围的外部系统。然后可以将此请求作为文档填写,如果获得批准,则可以相应地更新防火墙配置。

但是你的问题表明你正在错误地处理这个问题。您要问的问题就像问锁住家门是否值得,因为您知道有些人可以使用推土机。设计保护策略的正确过程是:

  1. 确定您要保护的资产
  2. 确定您希望他们保护的威胁
  3. 确定减轻这些威胁的适当措施
  4. 审核您的结果
  5. 回到步骤 1。

除了步骤 3,您似乎没有执行任何这些操作。

如果您的目标是阻止病毒或活跃的攻击者窃取存储在可以在同一客户端 PC 上执行任意代码的 PC 上的公司数据,那么您就完蛋了。

有大量站点可以将数据转储到您的用户也需要合法访问的站点。你根本无法阻止这些。除非你愿意基本上屏蔽大部分互联网,否则算了吧,你不能通过屏蔽来做到这一点。

最后,一旦他拥有数据就阻止攻击者的方法是徒劳的。这就像试图阻止一个刚刚偷走蒙娜丽莎的不知名小偷离开这个国家。出路太多了,反正你也不知道他/她长什么样。真正愚蠢的盗贼无论如何也不会走到这一步。

相反,您应该更多地关注首先限制对数据的访问,并删除不再相关的信息。您的数据保留政策是什么?攻击者无法窃取已删除的数据。

您在知识、产品和配置上投入多少取决于您的风险有多高。没有任何解决方案可以提供 100% 的安全性,但简单的数据包过滤防火墙可以提供的安全性与应用级网关可以提供的安全性之间存在很大差异:

  • 包过滤防火墙只能在包级别(IP、端口、协议)进行过滤。有些人声称会进行一些应用程序级别的过滤,但这仅限于匹配单个数据包的内容,因此通常可以轻松绕过。
  • DPI 解决方案更深入地研究流量,可以检测应用程序协议并进行一些分析以检测流量中的恶意软件等。但它们通常仅限于(大部分)被动分析,因此通常可以通过使用不常见的协议功能或稍微无效的协议来绕过然而,客户端应用程序(即浏览器或邮件客户端)可以理解。
  • 应用程序级别的网关不仅可以检查应用程序级别的流量,还可以对其进行清理,并且可以通过这种方式强制对网关和客户端中的流量进行一致的解释。这并不意味着他们都做得很好,即我见过的大多数网络应用程序级网关仍然可以简单地绕过。

您在各种产品中发现的通常是混合技术,即一些用于基本内容的快速数据包过滤,一些用于更高级内容的被动 DPI,有时还有用于 Web 和邮件的应用级网关。

至于已经存在的恶意软件:如果它只是想打电话回家(命令和控制通信),那么阻止一些端口(如 IRC)可能会有点有效。但是当前的恶意软件通常无论如何都使用 HTTP,因此使用已知 C&C 服务器的黑名单更有意义。一旦知道了这些黑名单,通常就可以在数据包过滤器级别(即目标 IP 地址)实施,但您的数据包过滤器必须支持这些东西。但是一些恶意软件使用 twitter 或博客站点来进行 C&C,这使得它很难被阻止。

最后,您可以让攻击者更难攻击,以便他移动到更容易的目标。不幸的是,如果你有非常有趣的数据,黑客不会这样做,因为这些数据可能值很多钱。因此,您需要使用违规检测系统……-对于您和攻击者而言,它只会变得更加复杂,并且双方所需的金钱/精力都会增加。这意味着最终你需要首先知道你需要保护什么,它值多少钱,以及你可以在产品、培训、知识、支持上花多少钱......以对抗任何攻击者。

斯蒂芬是对的,很难阻止一切可能的事情。相反,我也会从安全/风险分析开始,以确定哪些数据/系统应该在哪个级别受到保护。然后寻找实现所需保护级别的方法。如果某些保护是不可能的,或者在技术上极其复杂,则可能会有补偿控制。例如,如果不可能阻止所有“非法”HTTP 数据包,那么您可以培训工作人员处理高安全性数据,以避免通过电子邮件和可疑网页等感染病毒。

作为您问题的技术解决方案,它不仅可以是 DPI,还可以是应用程序防火墙,或为每个应用程序提供安全控制的软件,对于 GNU/Linux,它可能是:

此外,您可以查看Data Loss Prevention systems

最后,在我们的研究小组中,我们有一种 DPI 过滤器(http://www.lock-keeper.org/的概念,它只允许特定的预定义类型的数据包通过,而其他一切都被阻止。但是,恕我直言,这并不是针对日常 Internet 使用,而是针对需要定期通过 Internet 向服务器发送一些数据但又不想打开对该服务器的访问权限的情况。在这种情况下,您可以配置防火墙,例如,它只允许在预定义的时间段内每天通过 FTP 发送一次预定义格式和大小的文本文件,并阻止其他所有内容,即使它是有效的 FTP 连接。