阻止 UDP 和 TCP 是否足以防止不需要的网络活动?

信息安全 防火墙 间谍软件 后门 tcp
2021-08-18 09:17:35

我想 100% 确定我的机器只在我想要的时间和地点连接。如果我使用防火墙阻止所有 UDP 和 TCP 数据包但我明确允许通过的数据包,我能否 100% 确定我的机器在未经我批准的情况下不会连接到任何地方?

例如,如果我根本不知道 UDP 并且只在防火墙上指定了 TCP 规则,我仍然容易受到利用 UDP 数据包的恶意软件和讨厌的间谍软件的攻击。所以从技术上讲,除了 UDP 和 TCP 之外,还有其他方法/协议可以用来与使用有线/无线网络连接的计算机进行通信吗?另外,UDP 和 TCP 数据包可以绕过防火墙吗?

当我在装有 OS Mavericks 的 Mac 上安装 Little Snitch 时出现了问题,并指出我的机器试图连接到各种 Apple 和第三方服务器,尽管我告诉它我不想收集和发送任何信息。一些连接显然很好(例如 ntp 时间同步),但其他连接至少可以说是有问题的。我知道硬/软件制造商可能会嵌入后门和告密者,因此我试图弄清楚在我的机器上拥有可靠/强大的“边界控制”在理论上(和实践)是多么可行。

4个回答

您说“我想 100% 确定我的机器只在我想要的时间和地点连接”,但是您有涵盖发送内容的策略吗?

阻止端口始终是一个好主意,但要浏览网页,您希望能够在端口 80 上连接,此时恶意软件有一种通信方式。您意识到了这一点,因此您也阻止了所有 IP 地址目的地,但您允许的目的地除外;太好了,应该这样做。你喜欢 stackexchange 并想在那里发帖,所以你向 SE 服务器开放,你可能想要谷歌和其他一些服务器。此时您已经很容易受到攻击,因为恶意软件可以通过登录到特定帐户并将基于 64 位加密的数据存储在帐户配置文件中以供以后提取,从而将数据从您的计算机发送到 stackexchange、google 或其他地方的帐户。内容过滤可能会起作用,但可能很难配置。当然,你会留意你的防火墙在你没有传输的时候发出警报' 没想到,但智能恶意软件可能会等到它看到您从 stackexchange 发送或接收数据,例如,同时发送数据似乎是您流量的一部分。然后您会注意到额外的连接和流量,还是只是假设您的浏览器打开了多个连接,无论如何它都会这样做?

我故意描绘了一幅惨淡的画面,虽然不太可能,但完全有可能,所以你的问题的答案必须是“否”。唯一确定的防火安全的事情是永远不要将其连接到互联网。

以下内容仅在攻击者无法控制您的网络部分(例如 DNS 服务器或路由器)时有效;如果是这样,无论如何你注定要失败:)

如果我使用防火墙阻止所有 UDP 和 TCP 数据包但我明确允许通过的数据包,我能否 100% 确定我的机器在未经我批准的情况下不会连接到任何地方?

虽然您可以确定您的机器没有连接到您不允许的服务器/端口,但您不能确定不存在攻击者的反向通道。如果您的机器允许 DNS,即使您只允许您自己的 DNS 服务器,也可能是一个隐蔽的 DNS 通道。

有关隐蔽通道的介绍,请参阅SANS 阅览室的“检测 DNS 隧道”“隐蔽通道” 。

例如,如果我根本不知道 UDP 并且只在防火墙上指定了 TCP 规则,我仍然容易受到利用 UDP 数据包的恶意软件和讨厌的间谍软件的攻击。所以从技术上讲,除了 UDP 和 TCP 之外,还有其他方法/协议可以用来与使用有线/无线网络连接的计算机进行通信吗?

请参阅SCTP,但这必须在您的机器上可用(不知道默认值)。

另外,UDP 和 TCP 数据包可以绕过防火墙吗?

通常不会,但如果您启用了 IPv4 和 IPv6 并将防火墙配置为仅使用 IPv4,那么数据包可能会通过 IPv6 流出。

否则,我不知道绕过数据包过滤器的方法。

cat /etc/protocols(在 Linux 上)将向您展示所有可能的协议;尽管很可能(?)您的内核不会支持所有这些。

然而,好消息是 iptables 默认情况下对所有协议起作用。所以这一行,通常出现在你的 iptables.rules 的末尾,

-A FIREWALL-INPUT -j REJECT --reject-with icmp-host-prohibited

不仅拒绝所有未明确允许的 tcp/udp 端口​​上的数据包,而且拒绝所有未明确允许的协议上的数据包。

这一切都假设没有错误配置或内核错误。它也不考虑不受内核控制的设备。例如,USB 记忆棒可能看起来像操作系统的文件系统,但在表面下使用蓝牙或 wifi。(作为公共功能,或者在您不知情的情况下。)(其他人已经提到过隧道。)

这些答案中有很多错误信息。

如果您的防火墙阻止了 IPv4 的 TCP/IPv4 的 UDP,那么它所关注的只是指定了 TCP 或 UDP 的 IPv4 数据包。大多数防火墙需要进一步设置来阻止 IPv6 的 TCP 和 UDP。

所以我们知道了 TCP 和 UDP,那么剩下的 IP 协议呢?好吧,这里有一个您的防火墙可能允许通过的其他协议列表,这些协议都使用 IP 并且对您的路由器发送有效

当然 TCP 和 UDP 是最常见的,但即使你阻止了所有其他已知的 IP 协议,又有什么能阻止我使用其他协议呢?IPv4 协议 253,Matthew 协议怎么样。只要有一个有效的 IP 目的地,它仍然会转到正确的 IP 地址。

进入锡箔帽的世界,假设您在防火墙上阻止了 IPv4 和 IPv6(您担心 Matthew 协议和所有其他 IP 协议)。最后,有什么能阻止我制作一个从您的网卡发送任意数据并在您的网络上有其他东西来解释它的应用程序?是什么阻止我制作一个写入原始 0 和 1 的网卡驱动程序,然后我在您的线路上的其他地方进行解码?或者写以太网帧。实际上,要通过您的路由器,它当然必须使用某种形式的 IPv4 或 IPv6,因为路由器往往会丢弃其他所有内容(除了回复某些 ARP 以太网帧)。

我最近发现 Broadcomm 在我的本地适配器上使用了他们自己奇怪的 ARP 帧(大概是为了网络组合功能),但很奇怪。