用于可能被防火墙检查/阻止的专有协议的最佳端口

网络工程 tcp 防火墙
2022-02-13 05:21:18

我们使用来自 Genesys 的软件,该软件使用其自己的专有协议(所有 TCP),我们经常遇到客户防火墙的问题。我们使用的端口是 2000、2200 和 3010 - 我不确定我们是从哪里想到这些的,但这就是我们为每次部署所做的。

问题是即使在防火墙上打开了端口,我们也会遇到很多问题。一些防火墙仍然让我们为流量感到悲伤,这通常归结为我们使用了众所周知的端口并且防火墙想要要花哨并确保该端口上的流量与预期的协议/流量相匹配。这方面的一个示例是端口 2000,它是 Cisco SCCP。

我的问题:是否有任何端口最适合用于此类专有协议?例如,没有默认防火墙检查行为的端口。

这是非常痛苦的,尤其是当操作防火墙的人并不真正理解它时 - 有时他们需要很长时间才能意识到它正在执行这种类型的检查/阻止,因为他们已经添加了允许它的规则..

[更新 2020-04-01] 我已经更新了这篇文章,希望让它更清楚一点。我知道需要在防火墙上打开端口 - 我的问题和我遇到的问题是,即使在端口被允许之后,防火墙仍然在检查/阻止/影响流量。

3个回答

我已经更新了问题..我知道需要通过规则允许端口,但我的问题/问题是与允许端口后发生的情况有关..请参阅上面的更新

您始终可以向 IANA 注册一些仅用于您的协议的端口号。或者,查看 IANA服务名称和传输协议端口号注册表,了解其他已注册协议尚未声明的端口号。这就是协议注册表的意义所在,这样您就不会尝试使用其他人为自己使用而注册的端口。例如,端口 4434 到 4440 未分配。只需了解其他人可能会出现并注册您正在使用的端口号。

许多防火墙运营商选择阻止所有端口,但允许协议使用的端口除外,尤其是。80 和 443。因此,这些可能是唯一通过的。没有“商定”的端口范围是允许的——这将违背阻止不受欢迎/外来协议的目的。

然而,当今的许多防火墙都会深入检查 HTTP 和 HTTPS(“下一代”防火墙,UTM),并且也可能会阻止这些端口上的非 HTTP/S 协议。

您最好的选择是使用标准/通用端口并希望它们通过。使用非标准端口或重用 HTTP/S 端口可能会增加怀疑和阻塞的可能性。

另一种选择是提供隧道设备。例如,您可以通过 HTTP/S 进行隧道传输,而无需防火墙实际注意到正在发生的事情。但是,请注意,产品或资源建议在此处明确偏离主题。

以后避免此类问题。确保您的应用程序托管在标准端口 TCP-80 和 TCP-443 服务端口上。在安全方面,如果使用下一代防火墙,最好只使用 TCP-443 端口并允许应用程序 ip SSL。

否则,您需要清楚地了解防火墙工程师根据非标准端口的要求在防火墙中为传入或传出流量打开端口。但这不被认为是好的做法..