防火墙ALG技术之RTSP协议穿墙术

admin 2022年11月29日10:54:02评论245 views字数 3929阅读13分5秒阅读模式
防火墙ALG技术之RTSP协议穿墙术
本期想要谈一谈RTSP实时流协议)在部署防火墙之后会遇到什么问题呢?又是如何成功化解的呢?希望通过本文,能够让大家了解防火墙的基础知识、了解ALG技术产生的背景及其技术原理。也欢迎大家在线上积极互动,讨论问题答疑解惑,共同进步。

往期精彩回顾:
防火墙ALG技术之DNS协议穿墙术
防火墙ALG技术之TFTP协议穿墙术
防火墙ALG技术之FTP协议穿墙术
防火墙ALG技术之安全策略


防火墙ALG技术之RTSP协议穿墙术

1、RTSP协议学习


防火墙ALG技术之RTSP协议穿墙术

1.1

RTSP协议简介

防火墙ALG技术之RTSP协议穿墙术

RTSP(Real Time Streaming Protocol,实时流协议)是TCP/IP 协议体系中的一个应用层协议,该协议定义了一对多应用程序如何有效地通过 IP 网络传送多媒体数据。RTSP对流媒体提供了诸如暂停、快进等控制,而它本身并不传输数据,RTSP的作用相当于流媒体服务器的远程控制;媒体数据的传输可通过RTP/RTCP协议来完成。服务器端可以自行选择使用TCP或UDP来传输串流内容,不是特别强调时间同步,所以比较能容忍网络延迟。



1.2

RTSP协议与HTTP协议

防火墙ALG技术之RTSP协议穿墙术
  • 区别:RTSP协议是有状态的,RTSP的命令需要知道现在正处于一个什么状态;也就是说RTSP的命令总是按照顺序来发送,某个命令总在另外一个命令之前要发送,RTSP不管处于什么状态都不会断掉连接。而HTTP协议则是无状态的,HTTP在发送一个命令以后,连接就会断开,且命令之间是没有依赖性。RTSP协议使用TCP的554端口,HTTP协议则是使用TCP的80端口。

  • 联系:两者都用纯文本来发送消息,并且RTSP协议的语法及消息参数和HTTP协议类似。


1.3

RTSP协议与RTP(RTCP)协议

防火墙ALG技术之RTSP协议穿墙术

RTP(Real Time Transport Protocol,实时传输协议),提供时间标志、序列号以及其他能够保证在实时数据传输时处理时间的方法。RTP是基于UDP协议的,只是包裹内容信息。


RTCP(Real Time Transport Control Protocol,实时传输控制协议),是RTP的控制部分,用来保证服务质量和成员管理。RTP和RTCP是一起使用的。


RTSP(Real Time Streaming Protocol,实时流协议),RTSP具体数据传输交给RTP,提供对流的远程控制。RTSP的客户端连接服务器是通过SDP(Session Description Protocol,会话描述协议)传递信息。



1.4

RTSP协议常用方法

防火墙ALG技术之RTSP协议穿墙术
  • OPTIONS:客户端向服务器发起OPTIONS请求,用于获取服务器提供的可用方法;服务器的响应信息则包括其提供的可用方法。

  • DESCRIBE:客户端向服务器发起DESCRIBE请求,用于获取会话描述信息;服务器的响应信息则包括对此会话的描述信息。

  • SETUP:客户端向服务器发起SETUP请求,用于建立RTSP会话并确定传输模式;服务器的响应信息则包括对该会话的确认信息。

  • PLAY:客户端向服务器发起PLAY请求,告知服务器通过SETUP中指定的机制开始发送数据;服务器的响应信息则包括对该请求的确认信息。

  • TEARDOWN:客户端向服务器发起TEARDOWN请求,告知服务器终止媒体流传输并释放相关资源;服务器的响应信息则包括对该请求的确认信息。


1.5

RTSP协议交互过程

防火墙ALG技术之RTSP协议穿墙术

如图1-1所示,Client表示RTSP客户端、Server表示RTSP服务器,展示了RTSP消息的交互过程。


防火墙ALG技术之RTSP协议穿墙术
图1-1 RTSP消息交互过程


1.6

RTSP协议报文分析

防火墙ALG技术之RTSP协议穿墙术

第1步,客户端与服务器TCP三次握手建立连接。


防火墙ALG技术之RTSP协议穿墙术
图1-2 TCP三次握手建立连接

第2步,客户端连接到服务器并发送一个RTSP描述命令(OPTIONS),询问服务器有哪些可用方法;然后服务器回应列举其支持的方法,包括DESCRIBE、SETUP、TEARDOWN、PLAY、PAUSE、OPTIONS等)。


防火墙ALG技术之RTSP协议穿墙术
图1-3-(a) 客户发送OPTIONS请求

防火墙ALG技术之RTSP协议穿墙术
图1-3-(b) 服务器响应列举方法

第3步,客户端继续发送一个RTSP描述命令(DESCRIBE),询问服务器提供的媒体描述信息;服务器通过一个SDP描述来反馈流数量、媒体类型等信息。


防火墙ALG技术之RTSP协议穿墙术
图1-4-(a) 客户端发送DESCRIBE请求

防火墙ALG技术之RTSP协议穿墙术
图1-4-(b) 服务器响应SDP信息

第4步,客户端分析该SDP描述,为会话中的每一个流(trackID)发送一个RTSP建立命令(SETUP),通知服务器客户端用于接收媒体数据的传输方式。


防火墙ALG技术之RTSP协议穿墙术
图1-5-(a) 客户端发送SETUP请求

防火墙ALG技术之RTSP协议穿墙术
图1-5-(b) 服务器响应连接信息

第5步,流媒体连接建立完成,客户端发送一个播放命令(PLAY),服务器就开始在UDP上传输音频视频流(RTP)到客户端。


防火墙ALG技术之RTSP协议穿墙术
图1-6-(a) 客户端发送PLAY请求

防火墙ALG技术之RTSP协议穿墙术
图1-6-(b) 服务器响应传输数据

防火墙ALG技术之RTSP协议穿墙术
图1-6-(c) 服务器使用协商的端口传输数据

第6步,在播放过程中客户端还可以向服务器发送命令来控制快进、快退和暂停(PAUSE)等。最后客户端发送一个终止命令(TEARDOWN)结束流媒体会话。


防火墙ALG技术之RTSP协议穿墙术
图1-7-(a) 客户端发送TEARDOWN请求

防火墙ALG技术之RTSP协议穿墙术
图1-7-(b) TCP四次挥手断开连接

防火墙ALG技术之RTSP协议穿墙术

2.RTSP协议穿越防火墙


防火墙ALG技术之RTSP协议穿墙术

如图2-1所示,展示了RTSP协议穿越防火墙时常见的组网拓扑示意图,私网RTSP客户端经过防火墙的SNAT(源网络地址转换)后获取公网RTSP服务器上的视频资源。


防火墙ALG技术之RTSP协议穿墙术
图2-1 RTSP穿越防火墙


2.1

场景一:正向安全策略+源NAT

防火墙ALG技术之RTSP协议穿墙术

该场景下,防火墙配置安全策略正向(Trust->Untrust)放通TCP-554端口、源NAT、不开启RTSP ALG,其数据转发过程如下:


(1)客户端向服务器发起TCP三次握手连接,建立RTSP 554端口控制连接;


(2)服务器向客户端发送UDP音频视频数据流,其目的IP地址与目的端口号为防火墙源NAT转换后的公网IP地址和端口号;


(3)防火墙未开启RTSP ALG,无法感知TCP控制连接协商的UDP数据端口,安全策略阻断该UDP数据流,UDP数据传输失败;


(4)服务器没有收到客户端返回的确认包,将控制连接TEARDOWN后重新开始协商控制连接,连接建立后使用TCP传输音频视频流。



2.2

场景二:正向安全策略+源NAT+RTSP ALG

防火墙ALG技术之RTSP协议穿墙术

该场景下,防火墙配置安全策略正向(Trust->Untrust)放通TCP-554端口、源NAT、开启RTSP ALG,其数据转发过程如下:


(1)客户端向服务器发起TCP三次握手连接,建立RTSP 554端口控制连接;


(2)防火墙开启RTSP ALG,将记录NAT会话,自动添加放通TCP控制连接协商的UDP数据端口的策略 ;


(3)服务器向客户端发送UDP音频视频数据流,其目的IP地址与目的端口号为防火墙源NAT转换后的公网IP地址和端口号;


(4)防火墙根据控制连接的NAT会话将上述UDP数据流的目的IP地址及端口还原为私网IP地址及端口,安全策略放通,UDP数据传输成功。



2.3

场景三:双向安全策略+源NAT

防火墙ALG技术之RTSP协议穿墙术

该场景下,防火墙配置安全策略双向(Trust<->Untrust)全通、源NAT、不开启RTSP ALG,其数据转发过程如下:


(1)客户端向服务器发起TCP三次握手连接,建立RTSP 554端口控制连接;


(2)服务器向客户端发送UDP音频视频数据流,其目的IP地址与目的端口号为防火墙源NAT转换后的公网IP地址和端口号;


(3)防火墙未开启RTSP ALG,不会根据控制连接的NAT会话将上述UDP数据流的目的IP地址及端口还原为私网IP地址及端口,从而数据无法到达客户端,UDP数据传输失败;


(4)服务器没有收到客户端返回的确认包,将控制连接TEARDOWN后重新开始协商控制连接,连接建立后使用TCP传输音频视频流。



2.4

场景四:双向安全策略+源NAT+RTSP ALG

防火墙ALG技术之RTSP协议穿墙术

该场景下,防火墙配置安全策略双向(Trust<->Untrust)全通、源NAT、开启RTSP ALG,其数据转发过程如下:


(1)客户端向服务器发起TCP三次握手连接,建立RTSP 554端口控制连接;


(2)防火墙开启RTSP ALG,将记录NAT会话,自动添加放通TCP控制连接协商的UDP数据端口的策略 ;


(3)服务器向客户端发送UDP音频视频数据流,其目的IP地址与目的端口号为防火墙源NAT转换后的公网IP地址和端口号;


(4)防火墙根据控制连接的NAT会话将上述UDP数据流的目的IP地址及端口还原为私网IP地址及端口,安全策略放通,UDP数据传输成功。


以上和大家分享了RTSP穿越防火墙源NAT的场景,另有对目的NAT场景感兴趣的小伙伴也可继续深入交流。


防火墙ALG技术之RTSP协议穿墙术
威努特简介
防火墙ALG技术之RTSP协议穿墙术

北京威努特技术有限公司(简称:威努特)是国内工控安全行业领军者,是中国国有资本风险投资基金旗下企业。凭借卓越的技术创新能力成为全球六家荣获国际自动化协会ISASecure 认证企业之一和首批国家级专精特新“小巨人”企业。

威努特依托率先独创的工业网络“白环境”核心技术理念,以自主研发的全系列工控安全产品为基础,为电力、轨道交通、石油石化、市政、烟草、智能制造、军工等国家重要行业用户提供全生命周期纵深防御解决方案和专业化的安全服务,迄今已为国内及“一带一路”沿线国家的4000多家行业客户实现了业务安全合规运行。

作为中国工控安全国家队,威努特积极推动产业集群建设构建生态圈发展,牵头和参与工控安全领域国家、行业标准制定和重大活动网络安全保障工作,始终以保护我国关键信息基础设施网络空间安全为己任,致力成为建设网络强国的中坚力量!

防火墙ALG技术之RTSP协议穿墙术

防火墙ALG技术之RTSP协议穿墙术防火墙ALG技术之RTSP协议穿墙术防火墙ALG技术之RTSP协议穿墙术防火墙ALG技术之RTSP协议穿墙术

渠道合作咨询   陈女士 15611262709

稿件合作   微信:shushu12121

原文始发于微信公众号(威努特工控安全):防火墙ALG技术之RTSP协议穿墙术

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年11月29日10:54:02
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   防火墙ALG技术之RTSP协议穿墙术http://cn-sec.com/archives/1432140.html

发表评论

匿名网友 填写信息