网络原来如此之防火墙应用网关技术-当前快报
当前我行科技发展迅猛,各种新技术、新架构不断出现,防火墙的安全隔离作为数据中心内部安全管控的必要手段,一方面要保障数据中心安全稳定运行,另一方面也要以快捷、稳定的方式支持应用系统发展,进而赋能我行业务高速发展。
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、总结
当前我行科技发展迅猛,各种新技术、新架构不断出现,防火墙的安全隔离作为数据中心内部安全管控的必要手段,一方面要保障数据中心安全稳定运行,另一方面也要以快捷、稳定的方式支持应用系统发展,进而赋能我行业务高速发展。
标签:
抢先读
- 信用卡安全码泄露怎么补救呢?信用卡换卡要注意什么?_世界播报
- 10分钟内连丢3球 中国男足亚运队1:3不敌韩国U24队 环球观热点
- 怪生无雨都张伞的下一句是什么?_怪生无雨都张伞的怪生什么意思
- 液冷概念股震荡走高,飞龙股份拉升封板
- 天合光能2亿元于盐城投资新设科技公司|世界播报
- 工控速递:西门子宣布新加坡建厂,中控斩获中东船务大单,三菱供应全SiC功率半导体,禾川上市光电传感器-观速讯
- 勇敢是什么词性?勇气和勇敢的词性区别
- 西北工业大学出版社与施普林格·自然集团战略合作签约仪式在北京举行_当前滚动
- 焦点简讯:看图学习·乡村之美丨让农民就地过上现代文明生活
- 淘宝618上线“星生代”会场10天 吸引超过280万人线上逛街 当前资讯
- 十堰职业技术学院联系方式 十堰职业技术学院|每日精选
- 阿里总裁:马云现在主要生活在中国 集团未来主攻海外
- 最新快讯!真这么烧钱 《花花公子》创始人之子 卖私人照片投资宝可梦
- 快手电商上线“短视频挂店铺”功能,全面推进内容场与货架场联通 全球新要闻
- 蓝色协议如何联机
- 售29.80万元起 蔚来ET5 旅行版正式上市
- 协议投资总额达225.4亿元!常州这些项目签约、开工! 焦点短讯
- 城乡居民养老保险怎么交(城乡居民养老保险怎么交划算)_全球今日讯
- 什么是无罪推定原则定义?无罪推定原则的具体内容有哪些? 独家
- 阴阳师上美影联动皮肤上线 一期暴涨二期值不值得买? 天天最新
- 叶县张永定:吃苦耐劳“老黄牛” 坚守环境整治一线 全球时讯
- 昆明市第十五幼儿园开展“主题活动与区域活动融合的游戏设计与组织”教研活动-每日头条
- 环球观察:欧盟评估一种6'-唾液乳糖钠盐作为新型食品的安全性
- 安家费最低50万!中原食品实验室将重点引进这四类人才_看点
- 2023呼和浩特赛罕区第八幼儿园现场材料审核通知
- 天天热头条丨2023工业互联网大会专家谈 张倩:守好工业互联网安全“主阵地”
- 中科信息:目前没有从事脑机接口技术与设备研发 |环球热闻
- 美联储6月加息落地,南方基金解读来了|世界看热讯
- 全球动态:郑州中国移动2023暑期实习招聘信息
- 2023洛阳自产瓜果直销点设置最新消息 洛阳瓜果批发市场|最新资讯
- 全球观察:cad怎么导出pdf格式黑白(cad怎么导出pdf格式)
- 世界微头条丨为汽车消费充“电” 为乡村振兴添“绿”!2023年新能源汽车下乡活动启动
- 英特尔处也能「Ultra」:命名大改,标识焕新
- 法务部出手!盗版王国之泪社区被老任投诉关闭
- 下周端午!这份高铁短途“逛吃”攻略请查收
- 环球播报:炸沙丁鱼干粉好还是湿粉好?
- 环球实时:第三届“北京市公益创投大赛”启动,申报主体须无不良记录|环球微头条
- qq便签在哪里找(qq便签不见了)_报资讯
- *ST新海(002089)6月16日14点18分触及涨停板
- 民间借贷多久结案起诉
- 速读:我国经济运行保持恢复态势 重点在六方面发力
- 全球快资讯:钻石一克拉多少钱人民币?钻石一克拉是几克?
- 全球热点!储能与电力设备周报(第2期):广东市场加速,装机旺季将至
- oppoa57t高清语音怎么开通(oppoa57t) 重点聚焦
- 电脑系统分盘怎么分?电脑系统分盘怎么合并 要闻速递
- 热议:网贷债务逾期被起诉怎么办?网贷为啥只催收不起诉
- 望穿秋水是什么动物_望穿秋水描述什么动物
- 环球滚动:厦门方特端午节晚上有营业吗?
- 全球播报:三角形符号图案大全(三角形符号)
- 外围油脂上涨提振,中国棕榈油飙涨
- 世界热文:交易员看衰全球经济和需求端 原油易跌难涨
- 蒙城三义镇:织密秸秆禁烧安全网
- 《碧海黑帆》Beta封测主机版被取消 现仅限于PC端
- 【环球时快讯】湾里管理局中考考点设置及周边交通提示2023
- 今亮点!未成年人游戏陪玩该不该管?该如何管?
- 国乒26岁悍将击败达科,单打8人冲击8强!混双抗韩,男女双迎内战
- 从u盘拷贝的3dmax怎么安装(3dmax怎么安装)
- 全球观点:海蟑螂能吃吗?蟑螂会靠近熟睡的人吗?
- 江阴学费补贴怎么领?
- 亚运会的运动员村什么样?先睹为快
- 福特与通用称美国汽车需求迎来提升 环球实时
- * 创业板指涨幅扩大至1% 世界速看料
- 观察:美国“俄亥俄”级核潜艇驶入韩国港口
- 速讯:我国首艘海陆一体化生产运营的智能“海上油气加工厂”在南通交付
- 2023年浙江金华中考作文题目点评解析(四)
- 天天观点:有调整!事关丽水人的医保
- 微资讯!彭州南部新城吧
- 云浮市气象台发布暴雨黄色预警【III级/较重】【2023-06-16】
- 11岁的小女孩生日礼物
- 38只个股5日量比超过5倍
- 焦点快播:DEHN参与主编的耐高压绝缘引下线(HVI)产品标准 GB/Z 33588.8—2022 发布实施
- 6月16日A股分析:三大指数集体收涨,CPO、数据要素概念强势
- 全球微头条丨全民健身,振兴突破!辽宁省第十四届运动会今晚盛大启幕
- 世界热头条丨板块轮动是什么意思?股票板块轮动快的原因是什么?
- 淘宝秒杀在哪(淘宝秒杀怎么能秒到)|全球今亮点
- 每日快讯!金华时光整形医院医生技术实力、口碑点评一览!
- 时讯:青藏线失联近一个月的货车司机遇难,遗体在附近河道被发现
- 每日资讯:KK一夏 端午粽香特惠
- (高质量发展调研行)连云港港:开港90年 开通全球86条集装箱航线
- 双色球23069期红蓝定胆推荐
- 能链智电于翔:储能技术推动新能源充电服务升级转型
- 天津开设AP的学校有哪些?-天天热闻
- 智能园区智能制造,台达“智慧永续产业园区”COMPUTEX 2023盛大登场
- 环球动态:液冷概念股震荡走高,飞龙股份拉升封板
- 货币供应量是什么意思?货币供应量增加会导致什么? 世界视点
- 美国疾控中心:枪支暴力推波助澜 青少年谋杀率飙升 天天观焦点
- 环球精选!民泰银行柯桥支行:“蔬”通“配送”路,“鲜”至客户心
- 农药经营许可证办理流程指南_农药许可证办理流程-世界最新
- “广西智造”上交会大秀创新魅力|观察
- 【天天时快讯】涉及燃气安全 预防溺水 反诈防骗……2023江苏体育安全生产月“安全宣传咨询日”活动举行
- 硅业分会:本周国内工业硅期现价格均延续下行态势 但有望短期内止跌企稳
- 全球聚焦:省市联合 共同练兵
- 与张本美和生日隔了一天,球迷给陈梦送祝福,王楚钦更换了新鞋
- 大盘延续反弹,通信ETF大涨逾5%,云计算、人工智能相关ETF涨超4%
- 天天播报:蔡瑁怎么死的(蔡瑁死因)
- 全球快看:肃宁县人民检察院开展防范非法集资和传销宣传活动
- 2023父亲节期间天津海河游船有什么活动?
- 北京拟制定养老服务单用途预付卡管理实施细则 天天热闻
- 天天热点!什么食物里有欧米伽三?
- 山有舍民宿酒店管理公司董事长王湘南:选择“小而美”,用艺术的手法改造乡村废弃老宅