本文介绍 Azure 防火墙的长时间运行的会话和 TCP 空闲超时行为。 了解这些概念对于维护网络安全、优化防火墙资源并确保关键应用程序的不间断连接至关重要。
长时间运行的 TCP 会话
长时间运行的会话是指长时间保持活动状态的 TCP 连接。 这些长时间运行的会话通常用于 SSH、RDP、VPN 隧道和数据库连接等应用程序。 若要防止意外断开连接,必须正确配置这些会话。 了解影响其稳定性的因素是确保不间断连接的关键。
某些情况可能会导致长时间运行的 TCP 会话连接丢失。 Azure 防火墙旨在处理大量并发连接,但在某些情况下,它可能无法维护长时间运行的会话。
Azure 防火墙中的以下方案可能导致长时间运行的 TCP 会话终止:
横向缩减:当 Azure 防火墙横向缩减时,它会在回收实例之前进入排出模式 90 秒。 在此时间段断开连接后,任何长时间运行的连接仍然处于活动状态。
防火墙维护:在维护更新期间,Azure 防火墙允许短期会话完成。 但在重启过程中,超出排出期而仍存在的长时间运行的会话将终止。
自动恢复:如果 Azure 防火墙实例无响应,它将经历自动恢复过程。 此恢复可能导致长时间运行的会话断开连接。
空闲超时:在超过 Azure 防火墙关闭 TCP 空闲超时的持续时间内保持非活动状态的连接。
空闲超时设置
TCP 空闲超时指定连接在 Azure 防火墙终止连接之前可以保持非活动状态的持续时间。 此设置通过关闭非活动连接和维护整体网络性能来帮助优化 Azure 防火墙。
TCP 空闲超时提供以下几个好处:
- 高效资源利用率:通过终止非活动连接,Azure 防火墙会节省内存和计算资源,确保最佳性能。
- DDoS 风险缓解:帮助防范利用空闲持久连接的分布式拒绝服务 (DDoS) 攻击。
- 提高网络性能:通过有效管理空闲连接来增强整体吞吐量并减少延迟。
超时行为
在 Azure 防火墙的上下文中,南北流量是指 Azure 防火墙与 Internet 之间的流量,而东西流量是指同一区域中、跨区域和通过 Azure VPN、Azure ExpressRoute 或虚拟网络对等互连通过 Azure 防火墙连接的本地网络之间的内部流量。
南北流量和东西流量的 TCP 空闲超时行为各不相同:
- 南北流量:默认 TCP 空闲超时 4 分钟。 可以通过通过 Azure 门户提交支持请求,将此超时扩展到最多 15 分钟。
- 东西方流量:TCP 空闲超时固定在 5 分钟,且无法修改。
TCP 重置数据包 (RST)
由于空闲超时而终止 TCP 连接时,Azure 防火墙会将 TCP 重置数据包 (RST) 发送到客户端和服务器。 此数据包通知双方连接已关闭。 南北流量和东西流量的 TCP 重置数据包行为各不相同。
- 南北流量:Azure 防火墙通过发送 TCP 重置数据包 (RST) 在发生空闲超时时通知客户端和服务器。
- 东西流量:如果发生空闲超时,Azure 防火墙不会发送重置数据包 (RST)。 此行为可能会导致应用程序中出现意外问题。 在应用程序中配置保持活动机制,以保持长时间运行的会话处于活动状态,并防止在横向扩展、维护或自动恢复事件期间中断。
某些应用程序(如传统的 SAP GUI 和基于 SAP 远程函数调用 (RFC) 的应用程序)对会话重置敏感,在会话意外终止时可能会遇到连接问题。 若要避免这些问题,可以在应用程序中实现重试逻辑以正常处理会话重置。 此机制应包括用于重新建立连接和无缝恢复作的逻辑。
注释
如果通过 Azure 防火墙运行 SAP 工作负荷,请测试配置并查看 SAP 设计文档 ,以确保 Azure 部署成功。
横向缩减事件期间的 TCP 重置行为
当 Azure 防火墙缩小规模时,它会在回收底层防火墙实例前先进入 90 秒的流量清空模式。
- 前 45 秒: 防火墙停止接受新连接,但允许现有连接继续,而无需发送 TCP 重置数据包。
-
接下来的 45 秒: 防火墙将 TCP RST 数据包发送到所有活动会话流,以确保在回收之前清除终止。 这些重置会通知客户端和服务器连接正在关闭清理,因此两侧都不会无限期挂起等待基础实例解除授权后不会到达的数据包。
- 若要确保客户端终结点和服务器终结点都及时检测到这些重置,请 以 30 秒间隔配置双向 TCP 保持活动消息。 即使没有交换应用程序数据,保持活动探测也会生成定期流量,从而帮助双方实时检测连接关闭,并避免半打开的会话- 当一方认为连接在对方关闭连接后仍然处于活动状态的情况。 此配置允许应用程序在横向扩展期间回收防火墙实例时正常恢复连接。
- 如果 30 秒保持活动间隔不可行,可以考虑配置 预缩放 以保持最低容量在更高水平,减少可能会中断长时间运行的连接的缩减容量事件的可能性。
此横向扩展 TCP 重置行为适用于南北流量和东西流量。 它确保客户端和服务器在解除防火墙实例授权之前得到正确通知。 在缩减资源事件期间,排空期和重置行为不可配置。
注释
横向缩减期间的 TCP 重置行为不同于空闲超时行为。 对于空闲超时,RST 数据包仅针对南北流量发送,而在横向扩展期间,将针对南北流量和东西向流量发送 RST 数据包。
后续步骤
若要详细了解 Azure 防火墙性能,请参阅 Azure 防火墙性能。