网络原来如此之防火墙应用网关技术_速讯
当前我行科技发展迅猛,各种新技术、新架构不断出现,防火墙的安全隔离作为数据中心内部安全管控的必要手段,一方面要保障数据中心安全稳定运行,另一方面也要以快捷、稳定的方式支持应用系统发展,进而赋能我行业务高速发展。
(资料图)
1、ALG产生背景
在应用层协议中,部分协议有多个通道用于信息交互,例如FTP、SIP、SQLNET等,类似通信网中的“七号信令”。这种多通道的协议首先需要建立控制通道,然后在控制通道中协商数据通道的地址和端口,根据协商结果临时创建一个或多个数据通道,使用的端口通常不能预先确定,同时数据通道连接建立的方向也不能预先确定,防火墙的安全策略(Policy)和网络地址转换规则(NAT)无法准确描述这些数据通道。因此这种多通道协议在经过防火墙时往往会出现控制通道可以建立连接,数据通道不能完整建立连接,或没有反向策略,会导致数据通道通信失败。对于多通道的应用层协议,由于防火墙无法检测上层协商的数据通道端口,而且也不能提前于应用预先知道数据通道的端口,更无法配置适当的安全策略。
另外在NAT的应用场景中,防火墙的NAT功能仅对IP网络层报文的报文头进行IP地址的识别和转换,对于应用层协商过程中报文载荷携带的地址信息无法进行识别和转换,因此在NAT的应用场景中,多通道的协议的数据通道也不能建立。
2、什么是ALG
ALG(Application Level Gateway)全称应用网关,ALG技术可以识别典型多通道应用协议IP报文数据载荷中携带的地址和端口信息,结合严格安全策略控制特性可支持动态通道的检测功能,以及对应用层的状态检测功能:多通道协议的报文交互过程中协商动态通道的地址和端口,在安全访问策略的控制下,可以通过开启pinhole来完成数据通道的连接。
3、ALG实现原理介绍
防火墙通过Policy使网络安全和可控,而防火墙的Policy和NAT规则只能对传输层的控制做静态的描述,却不能对应用层做控制描述。传输层只是应用层信息传输的网络通道(TCP/IP连接),许多应用使用知名端口做控制连接,而数据传输使用动态、临时协商建立起来的动态连接,不是预先确定的,防火墙无法准确描述这些动态连接,能否穿越防火墙就不确定。
(1)ALG通过以下手段解决应用层动态连接穿越防火墙问题
1)提供动态连接访问外网所需的外网地址和端口以及地址端口转换关系;
2) pinhole对动态建立的session进行处理,确保连接建立成功。
(2)ALG模块定义了一个与应用层动态连接相对应的pinhole对象来为动态连接在防火墙中建session,用来实现防火墙穿越。pinhole描述了动态连接的session信息、外网地址和端口资源,但pinhole不是session。
(3)防火墙工作处理流程
防火墙需要应用网关去分析应用层的内容,如果应用层要协商和发起数据连接,那么应用层将要建立的连接用expect flow描述,将expect flow用作参数调用相应的ALG APIs生成和安装pinhole。pinhole生成后,有数据连接所需的外网地址和端口,必要时应用代理修改应用的内容,转换协商的地址和端口。
数据连接发起报文到达防火墙的时候,会先匹配pinhole,然后从pinhole建session。如果pinhole没有匹配上,则匹配Policy建session。
4、FTP协议及FTP ALG应用网关详解
4.1FTP协议交互过程
(1)主动模式(Port)
在主动模式下,FTP客户端从任何非特殊端口(例如源端口N=1024)连接到FTP服务器-port 21的命令端口。然后客户端在N+1(N+1=1025)端口监控,通过N+1(N+1=1025)端口向FTP服务器发送命令(PORT=1025)。服务器使用源端口20连接到FTP客户端在本地指定的数据端口(1025)。交互过程如下:
控制连接:客户端>1024端口—>服务器21端口
数据连接:客户端>1025端口<—服务器20端口
图1
(2)被动模式(PASV)
在被动模式下,控制通道和数据通道都由客户端发起。当打开一个FTP连接时,FTP客户端打开两个任意的非特权本地端口(N=1024和N+1=1025)。第一个端口连接到服务器的端口21,但与主动模式下的文件传输协议不同,客户端不会提交port命令并允许服务器来连接其数据端口,而是提交PASV命令。因此,服务器将开放一个任意的非特定端口(P=1034),并向客户端发送端口PASV命令。然后客户端启动从本地端口N +1到服务器端口P的连接,以传输数据。交互过程如下:
控制连接:客户端>1024端口—>服务器21端口
数据连接:客户端>1025端口—>服务器1034端口
图2
4.2 防火墙ALG FTP详解
(1)FTP主动模式
FTP 客户端主动模式下穿越防火墙的过程可以分为4步,详细过程如下:
图3
Ø控制通道session新建
防火墙收到从客户端到服务器的首包会新建session。因为此时系统中没有pinhole,所以会跳过pinhole查找过程。然后查找Policy,在防火墙配置了Policy允许客户端访问FTP服务,所以能匹配到Policy,新建控制session。
Ø控制连接报文解析
FTP主动模式下载文件时,会先发送PORT命令,其格式为:PORT h1,h2,h3,h4,p1,p2\r\n。防火墙解析到PORT命令时,新建pinhole。如果当前session有SNAT,修改PORT命令中的内容为SNAT后的IP和端口。将报文内容PORT 192,168,1,2,67,131\r\n修改为PORT 192,168,2,1,4,2\r\n,新建图中pinhole。
Ø数据session新建
FTP主动模式的数据连接由服务器主动发起。防火墙收到数据连接首包时,同样进入新建session流程。此时系统中有pinhole,会先查找pinhole。匹配到pinhole,新建数据session。根据FTP协议的特点,每次数据传输都会重新发送PORT命令,每次数据传输使用的端口号也不同,所以FTP协议的pinhole在查找到之后就会删除。
Ø数据连接报文处理
FTP数据连接报文ALG不需要处理。数据传输过程中,数据session的计时器会不断刷新。直到数据传输结束,四次挥手断开连接,数据session拆除。
(2)FTP被动模式
FTP 客户端被动模式下穿越防火墙的过程可以分为4步,详细过程如下:
图4
Ø控制session新建
防火墙收到从客户端到服务器的首包,新建session。因为此时系统中没有pinhole,所以会跳过pinhole查找过程,继而查找Policy。在防火墙配置了Policy允许客户端访问FTP服务,所以能匹配到Policy,新建控制session。
Ø控制连接报文解析
FTP客户端使用被动模式下载文件时,首先发送PASV命令,服务器收到PASV命令报文后,选用临时端口作为数据连接端口,并向客户端返回227响应码,报文格式为:227 Entering Passive Mode. h1,h2,h3,h4,p1,p2\r\n。防火墙解析到227响应报文后,如果当前session有DNAT,修改报文中的IP和端口,并新建pinhole。
Ø数据session新建
FTP被动模式的数据连接由客户端发起。防火墙收到数据连接首包时,同样进入新建session流程。此时系统中有pinhole,会先查找pinhole。匹配到pinhole,新建数据session。
Ø数据连接报文处理
FTP数据连接报文,ALG无需处理。数据传输过程中,数据session的计时器会不断刷新。直到数据传输结束,四次挥手断开连接,数据session拆除。
5、SIP协议及SIP ALG应用网关详解
5.1SIP协议原理
SIP是一种应用层控制协议,用于建立、修改和终止双方或多方多媒体会话,应用在VoIP、多媒体分发、多媒体会议领域。SIP协议栈如图所示。SIP协议通信包括控制信令(signaling)和媒体数据两个信道:控制信令信道用于客户端和服务器之间的请求和响应消息,传输层基于TCP或者UDP,服务器使用端口5060;媒体数据信道用于传输音视频数据,传输层基于UDP,使用动态端口。
表1
SIP协议在网络中的实体包括两种:SIP用户代理(User Agent)和SIP服务器。SIP用户代理是终端用户设备,如 SIP 电话机、SIP客户端软件等,用于发送SIP请求或者接收到请求后进行响应。SIP服务器主要进行请求转发、接收注册请求和提供定位服务。SIP VoIP典型部署如图所示:企业内网部署有SIP服务器和SIP终端Phone B,Phone B和远程SIP终端Phone A之间可以通过SIP协议进行网络电话。
图5
SIP消息分为请求消息和响应消息两种类型。下面是一个呼叫请求消息的实例:
图6
可以看到,SIP消息包括三部分:起始行、消息头和可选的消息体。起始行包括消息类型、请求URI和SIP版本号。常见的消息类型包括INVITE、ACK、OPTIONS、BYE、 CANCEL、REGISTER,其作用见下表所示:
表2
请求URI表示请求的用户或者服务的地址信息。SIP版本号,即所使用的SIP协议的版本号。
SIP消息头部包含多个字段,其含义如下表所示:
表3
一个响应消息的实例如下所示:
图7
响应消息与请求消息的不同之处是初始行是状态码。状态码由3位整数组成,第一位用于表示响应类型,后两位用于对响应进一步解释。各响应码类型的含义如下表所示:
表4
5.2防火墙ALGSIP详解
上述对SIP协议的工作过程进行了简单的介绍,下面以典型部署为例介绍SIP协议如何穿越防火墙。假设SIP服务器所在网段为192.168.2.0/24,PhoneA所在的网段为192.168.100.0/24。SIP服务器的IP地址为192.168.2.4,在防火墙配置了DNAT,对外的地址是192.168.100.4。Phone B的IP地址为192.168.2.3,对外的IP地址为192.168.100.3。Phone A的IP地址为192.168.100.2。
条件:防火墙配置策略允许SIP服务流量通过
下面分别介绍SIP注册以及外网SIP终端Phone A呼叫内网终端Phone B的流程和防火墙SIP ALG的实现。
(1)SIP注册流程
SIP协议提供地址发现的能力。当一个用户代理想要建立会话时,将会话请求发送到代理服务器。服务器查询注册信息,得到另一方的地址信息,并将请求转发到对应的地址。
注册请求消息用于用户代理将当前地址信息发送到服务器,Phone A注册报文格式如下所示,其中Contact字段携带了Phone A当前的地址。
图8
注册报文的处理流程如下图所示。防火墙在收到这个注册报文时,也会生成一个绑定关系,即记录Phone A的地址信息192.168.100.2:5060生成一个pinhole,用于其他实体向Phone A发送的会话请求消息能通过防火墙。根据NAT配置修改头部的各个字段,例如在本例中,SIP server在防火墙配置有DNAT,将初始行的请求URI地址由192.168.100.4修改为192.168.2.4。
图9
(2)SIP呼叫流程
Phone A呼叫Phone B的报文交互流程如下图所示:
图10
用户在Phone A拨号222呼叫Phone B。此时Phone A发送INVITE请求消息到SIP server。防火墙收到INVITTE报文,解析其中的c和m字段,本例中c= IN IP4 192.168.100.2,m=audio 5000 RTP。新建pinhole,目的地址为192.168.100.2:5000。每一个RTP通道有一个对应的RTCP通道,通信端口是RTP端口号加1,所以会再为RTCP通道建一个pinhole,目的地址为192.168.100.2:5001。然后根据当前session的NAT配置修改头部字段中的IP地址,本例中SIP server在防火墙配置有DNAT,将初始行的请求URI地址由192.168.100.4修改为192.168.2.4。
SIP server接收到INVITE请求消息,会先返回一个100 tring响应消息,表示消息正在处理。之后根据电话号码222查询注册信息数据库,找到Phone B当前地址,将INVITE请求消息转发到Phone B。
Phone B接收到INVITE请求消息,开始响铃,并返回180 ring响应消息到SIP服务器。SIP服务器转发180 ring响应消息到Phone A,提示用户正在响铃。当Phone B电话被接起,发送200 ok响应消息。200 ok响应消息同样由SIP服务器转发到Phone A。防火墙解析到200 oK响应消息时,同样解析其中的消息体,本例中200IOK响应消息的c= IN IP4 192.168.2.3,m= audio 6000 RTP/AVP,因为PhoneB对外地址是192.168.100.3,修改c字段为c= IN IP4 192.168.100.3,并为RTP信道新建pinhole:0.0.0.0:0 -> 192.168.100.3:6000。同理,将RTP端口号加1作为RTCP通道端口号,并新建pinhole:0.0.0.0:0 -> 192.168.100.3:6001。将头部字段Record-Route从192.168.2.4修改为192.168.100.4。
Phone A接收到200 OK响应消息后,向Phone B发送ACK确认消息。因为SIP服务器向INVITE请求中插入了Record-Route字段,表示之后的请求消息也经过SIP服务器,所以Phone A发送的ACK消息经SIP服务器转发到Phone B。ACK请求消息如下所示:
图11
之后Phone A和Phone B之间媒体通信,防火墙会创建RTP和RTCP session。
通话结束,Phone A挂断电话,发送BYE请求消息,同样由SIP服务器转发到Phone B。Phone B收到BYE请求消息,发送200 OK响应。至此通话结束。
(3)增删NAT及Policy的影响
NAT配置改动,会触发SIP 信令session重新匹配NAT规则。如果不能匹配新的NAT规则,session会被拆除。对数据session无影响。
Policy配置改动,会触发SIP 信令session重新匹配Policy。如果不能匹配新的Policy,session会被拆除。对数据session无影响。
6、ALG支持的其他应用
除了FTP和SIP以外,一些VoIP 应用在进行NAT 穿越时,由于IP 地址和端口号的改变可能导致VoIP 无法正常工作,ALG 技术在此时将保证NAT 地址转换后,VoIP 应用能够正常通信。因此,应用层网关提供以下功能:
♦在严格的安全策略规则下,利用应用层网关 ALG 技术,保证多通道应用程序正常的通信,如FTP、TFTP、PPTP、RTSP、RSH、MSRPC、SUNRPC 和SQLNET。
♦保证 VoIP 应用,如SIP 和H.323 等,在NAT 模式下的正常工作,并能够根据安全策略要求,进行监控和过滤。
7、总结
当前我行科技发展迅猛,各种新技术、新架构不断出现,防火墙的安全隔离作为数据中心内部安全管控的必要手段,一方面要保障数据中心安全稳定运行,另一方面也要以快捷、稳定的方式支持应用系统发展,进而赋能我行业务高速发展。
标签:

进入了发展快车道 冷链行业市场规模正在快速膨胀
2022-03-21

行业正站在风口 数字化时代在为传统的自行车产业赋能
2022-03-21

以做强实体经济支撑为重点 成都单个项目年度计划投资同比提升
2022-03-21

拥有多个国际赛事的直播版权 广州游戏电竞企业业绩向好
2022-03-21

投诉量激增 直播带货存在这么多问题的主要原因是什么?
2022-03-21

工作专班深入到各企业 春寒料峭挡不住松原市施工热情
2022-03-21

引导企业向提供“产品+服务”转变 湖南加快智能农机服务化转型
2022-03-21

创新平台建设和科技成果转化 德州加大力度重奖创新
2022-03-21

潜在风险进一步放大 商品房现房销售已是大势所趋
2022-03-21

有序复工复产 1—2月份工业经济发展新动能持续增强
2022-03-21
行业正站在风口 数字化时代在为传统的自行车产业赋能
以做强实体经济支撑为重点 成都单个项目年度计划投资同比提升
拥有多个国际赛事的直播版权 广州游戏电竞企业业绩向好
投诉量激增 直播带货存在这么多问题的主要原因是什么?
工作专班深入到各企业 春寒料峭挡不住松原市施工热情
引导企业向提供“产品+服务”转变 湖南加快智能农机服务化转型
创新平台建设和科技成果转化 德州加大力度重奖创新
潜在风险进一步放大 商品房现房销售已是大势所趋
有序复工复产 1—2月份工业经济发展新动能持续增强
多层次高频调度 1至2月河北省工业运行先行指标稳中有增
以车路协同为基础 智能交通推动城市交通绿色高质量发展
人才短板成为制约产业链高质量发展的关键节点
通过技术手段整合调配供给资源 家政行业不断提质扩容
强化产业链深层次合作 加强重大装备国产化“一条龙”模式构建
如何进一步提升纳税人缴费人的减税降费获得感?
探索建设大数据及网络安全示范试点城市有哪些积极意义?
对制造业中小微企业实施缓缴税费政策有哪些积极意义?
进一步增强自我保护意识 消费者需注意辨别谨慎消费
将“走出去”变“请进来” 西安贸易产业转移承接作用不断得到增强
厦门应如何融入“数字中国”的重大战略发展大局?
江苏省如何不断满足老人日益增长的养老服务需求?
建设一体化的职业健康信息管理平台 天津职业人群保障加强
潜力持续释放 1—2月乡村消费品市场恢复略好于城镇
直接对接社会化服务 楼宇调解室将整体提升青岛劳动争议水平
成功化解纠纷11.47万件 银保监会服务质量日趋提高
春雷响百虫出 惊蛰文化在其他方面有了进一步发展
青绿山水画在古代山水画发展史上有着怎样的影响与地位?
开播即爆款 “文化类节目收视率低”这一固有印象被推翻
涵盖了109件真迹作品 凯斯·哈林展览将持续至6月13日


- 带有一点自信的自嘲 “隔路”是另一种味道的“凡尔赛”
- 与文渊阁前后呼应 “何以中国”特展隆重致敬文化大成
- 严重者可造成暂时性失明 享受冰雪运动要注意眼睛的健康防护
- 种类繁多让人眼花缭乱 选购牛奶时需要重点关注什么?
- 网课让孩子感到不安焦虑怎么办?八问八答回应广大家长关切
- 循环系统很容易受到刺激 “倒春寒”期间老人该如何做?
- 青少年患者睡眠问题日趋增加 9条建议为孩子助眠
- 我国肥胖人群正逐年递增 不良饮食习惯是重要诱因
- 如何减少噪声对听力的损伤?这份耳部和听力保健小贴士请收好
- 强化住房限购措施 西安限购限售范围进一步扩大
- 多种方式增加供给 进一步降低新市民和青年人的居住成本
- 预计9月下旬海口可实现安居房申请网上办理
- 政策调控力度持续升级 8月百城二手房市场均价止涨转跌
- 8月中国新房找房热度依然保持平稳 环比微涨0.2%
- 进一步加强商品房销售价格备案管理 今年全国楼市调控刷新历史纪录
- 西安第二批集中供地中28宗为现场拍卖方式出让
- 细分化需求得到释放 房屋居住的属性越发凸显
- 佛山顺德龙江近日挂牌商住地起拍价约19.88亿元
- 青岛市4宗地竞品质抽签结果出炉 地溢价均约15%
- 坚持政策支持、多方参与 浙江版保障性租赁住房明确新增比例目标
- 简化审批流程 武汉将实现房源申请配租全程网上办
- 哈尔滨新增本土确诊病例3例 活动轨迹公布
- 哈尔滨市公布3例新增本土新冠肺炎确诊病例活动轨迹
- 山东深耕文化资源 推动旅游业高质量发展
- 今年新增952件(套)!南京大屠杀再添新证
- 四川非遗传承人张雄志:巧手捏面塑 指尖传非遗
- 10月以来我国寒潮为何如此频繁?中国气象局回应
- 56位残疾人士登上黄山 互利互勉共建生活希望
- 安徽潜山两车相撞 已致8人死亡3人受伤
- 上海洋山海关首次在出口货运渠道查获夹带卷烟
- 山西忻州古城:一城风华延续千年历史文脉
- 呼伦贝尔新巴尔虎右旗公布1例无症状感染者行动轨迹
- 新增“53+1” 内蒙古累计本土确诊病例增至185例
- 昆明公安打击破坏生物多样性犯罪 抓获130名涉案嫌疑人
- 山西朔州“11·11”较大透水事故调查报告发布 对38人问责处理
- “海关国门小卫士”竞争上岗 淘汰率接近一半
- 深圳摧毁特大品牌化妆品走私网
- 28人被问责!山西石港煤业“3·25”事故调查报告公布
- 湖南韶山以河长制带动全民治水 让每一处水面“长治久清”
- 上海市奉贤区人大常委会原党组书记袁晓林被“双开”
- 民进会员谈反映社情民意信息工作:心怀大我 敢讲实情
- 80岁“留守”奶奶短视频诉孤独 千万网友心疼:我们陪您唠嗑
- 40年来为子弟兵送出1.3万余双布鞋和鞋垫的“布鞋奶奶”走了
- 当男幼师是什么体验?他们说:有委屈尴尬 但大部分是幸福
- 庐阳警方通报幼童坠亡事件:嫌疑人已被刑拘
- 内蒙古新增本土确诊病例53例、本土无症状感染者1例
- 哈尔滨市启动部分地区第一轮全员核酸检测
- 四川通江发生两车相撞事故 致3人死亡
- 11月谣言在“身边”,别信这些无稽之谈
- 追剧为何上瘾?你追的不是剧,而是及时满足的快感