在使用Nmap扫描服务器开放端口(全连接扫描)时,一直会发现误报1720端口开放,telnet也有时会连接成功。而实际上服务器并未开启此端口。经过查阅资料,确定原因如下:
H.323协议在负载中放入了重要的控制信息,例如语音和视频终端使用哪一个数据端口来接收别的终端的语音和视频数据。通过分析哪一个端口需要打开,NAT设备/防火墙动态地打开那些被应用的端口,而所有别的端口依然安全地保持关闭状态。
如果一个NAT被应用来屏蔽内部IP地址,这时ALG就需要一个代理,一些防火墙生产厂商把代理结合到ALG上越过NAT。主要的路由器、防火墙厂商像Cisco、Checkpoint都对他们的NAT设备/防火墙产品提供H.323 ALG升级功能。
Because H323 traffic is changed every time on the FW to accommodate
NAT and payload changed (because this is a TCP connection) the FW has to
serve as a proxy between both sides of the connection.
Port scans and telnet do just that, send SYN packets everywhere and wait
for replay without sending any real data. When there is a rule match
the 1720 port will answer the packet with a SYN-ACK but if the data is
not legitimate the packet will be dropped along the way of the
established connection.
简单理解:Checkpoint等防火墙厂商内置了ALG功能,因此会自动响应H.323协议的对应的端口1720,以接收H.323。而扫描器(telnet同样存在问题)并不传输合法数据,因此会报告连接建立,但并不能真正传输数据。
参考来源:
https://forums.checkpoint.com/forums/thread.jspa?threadID=15421
http://www.zte.com.cn/cndata/magazine/zte_communications/2004/6/magazine/200410/t20041019_150389.htm