我对入站流量和防火墙有些不清楚。
我的第一个假设是防火墙(例如家庭路由器)应该阻止所有入站端口。如果您不阻止所有入站端口,那么互联网上的黑客肯定可以向您网络上的设备发送数据包吗?
但如果所有入站端口都被阻止,流量如何进入?
例如,我的理解是,浏览器建立与 Web 服务器的连接 - 与 Web 服务器上的端口 80 通信,以及浏览器/客户端上的一些随机分配的端口号 - 例如端口 30222。浏览器要求页面,Web 服务器将其发送回地址到客户端 IP 地址/端口 30222。
如果 Web 服务器可以向端口 30222 发送数据,那么为什么任何随机黑客都不能向端口 30222 发送数据呢?
防火墙如何看待这一点?是否应该将其配置为允许所有入站连接?
据我所知,有状态防火墙可以检查来自客户端的连接请求,因此可以选择性地允许客户端/端口 -> 服务器/端口的组合上的流量 - 这是有意义的。在这种情况下,我可以看到您可以阻止家庭路由器上的所有入站防火墙端口,因为家庭路由器能够确保它允许进入的流量仅在内部发起的连接的设备之间 - 在这种情况下不可能随机进行黑客将数据包发送到内部网络上的设备。
但是 - 我不认为所有防火墙都是有状态的,不是吗?无状态防火墙怎么样 - 它们是否需要允许所有入站流量?
因此,我不清楚家庭防火墙是否应该阻止所有入站端口。如果它确实阻止了所有入站端口,那么如果它不是状态数据包检测防火墙,数据如何进入?
答案1
术语“防火墙”的定义很宽松。我对您问题的回答是,并非所有防火墙都是有状态的。但是,我可能会使用术语“数据包过滤防火墙”来描述一种类型的无状态防火墙。对于无状态防火墙来说,仍然可以实现很多保护,但不如有状态防火墙那么多。
例如,无状态防火墙可以被告知让所有数据包发送到 Internet(例如,您的 Web 浏览器数据包发送到 Web 服务器)。但它会被配置为仅允许数据包入站(如果它们似乎是已建立连接的一部分)。为此,我们详细了解 TCP/IP 的工作原理。 TCP 数据包中有一些标志(SYN、SYN+ACK、ACK,如果您想查找它们),这些标志指示数据包是发起数据包还是响应数据包。无状态防火墙只允许响应数据包返回到您的客户端浏览器。互联网上的坏人是否可以简单地将看起来像响应(即设置了响应标志)的数据包发送回您的客户端?是的。但是,即使您的客户端通过了数据包过滤防火墙,它也不太可能接受该连接。这是一个非常基本的答案,我跳过了许多细节和场景,但希望它提供了您正在寻找的详细程度。
在上述上下文中,我们使用术语“有状态”和“无状态”来描述防火墙正在跟踪的内容。有状态意味着,一旦来自浏览器的第一个数据包到达防火墙,防火墙就会注意到 Web 连接正在激活,然后防火墙会等待来自 Web 服务器的响应数据包。它在连接期间持续跟踪信息。在“无状态”场景中,防火墙会在每个数据包通过时对其进行评估,但不会跟踪中间的任何内容。 TCP/IP 连接内部具有“状态”信息(例如标志),无论防火墙是否跟踪它。