什么是状态检查?
状态检查也称为动态数据包过滤。它是一种防火墙技术,用于监控活动连接的状态并使用 允许网络数据包通过防火墙的信息。状态检查通常用于代替静态数据包过滤的无状态检查,并且非常适合传输控制协议 (TCP) 和类似协议,尽管它也可以支持用户数据报协议 (UDP) 等协议。
状态检测是一种网络防火墙技术,过滤状态和上下文支持的数据包。 Check Point Software Technologies (CPST) 在 1990 年代初期开发了该技术,以克服无状态检查的限制。从那时起,状态检查作为行业标准出现,目前是当今使用的领先的常见防火墙技术之一。
状态检查的工作
状态检查检测您一段时间内的通信数据包,并检查传入和传出数据包。防火墙跟踪请求特定类型的传入数据包的传出数据包,并授权传入数据包通过,只要它们构成准确的响应。有状态防火墙监控所有会话并验证所有数据包,尽管它使用的方法可能会因防火墙技术以及使用的通信协议而异。
例如,当协议是 TCP 时,防火墙会捕获数据包的状态和上下文信息,并将其与当前的会话数据进行比较。如果已经存在相同的条目,则允许数据包通过防火墙。如果未找到匹配项,则数据包必须经过某些策略检查。那时,如果数据包符合策略要求,防火墙会假定它用于替换连接并将会话数据存储在适当的表中。然后它允许数据包通过。如果数据包不符合策略条件,则拒绝该数据包。
状态检查的优势
- 状态检查知道连接的状态。
- 状态检查不必打开大范围的端口来允许通信。
- 与包过滤防火墙相比,Stateful Inspections 可防止更多类型的 DoS 攻击,并且具有更强大的日志记录。
- 状态检查可以检测到非法数据何时被用于渗透网络。
- 状态检查防火墙还可以记录和存储网络连接的重要方面。
- 有状态防火墙不需要多个端口好客以促进顺畅的通信。
状态检查的缺点
- 它们的配置可能很复杂。
- 它们无法阻止应用层攻击。
- 状态检查不携带连接的用户身份验证。
- 并非所有协议都包含状态信息。
- 在状态检查中,一些应用程序打开了许多连接,其中一些使用动态端口号作为辅助连接。
- 在状态检查中,维护状态表涉及额外的开销。