首页 理论教育 网络安全技术与实例:应用层网关

网络安全技术与实例:应用层网关

时间:2023-10-27 理论教育 版权反馈
【摘要】:即,NAT设备将收到的DNS响应报文数据载荷中的IP地址50.10.10.10替换为192.168.0.10后,将DNS响应报文发往私网。通过配置NAT和应用层协议检测,满足如下需求:图2.51 配置应用层协议检测图2.52 应用层协议检测支持FTP配置组网图●外部网络的Host可以访问内部的FTP服务器。

网络安全技术与实例:应用层网关

1.ALG概述

应用层协议中,有很多协议都包含多通道的信息,比如多媒体协议(H.323,SIP等)、FTP,DNS,SQLNET等。这种多通道的应用需要首先在控制通道中对后续数据通道的地址和端口进行协商,然后根据协商结果创建多个数据通道连接。在NAT的实际应用中,NAT仅对网络层报文的报文头部进行IP地址的识别和转换,对于应用层协议协商过程中报文载荷携带的地址信息则无法进行识别和转移,因此在由NAT处理的组网方案中,NAT利用应用层网关(ALG)技术可以对多通道协议进行应用层的报文信息的解析和地址转换,保证应用层上通信的正确性。

在传统的包过滤防火墙中,也会遇到类似的问题。由于包过滤的防火墙是基于IP包中的源地址、目的地址、源端口和目的端口判断是否允许包通过,虽然可以允许或者拒绝特定的应用层服务,但无法理解服务的上下文会话,而且对于多通道的应用层协议,其数据通道是动态协商的,无法预先知道数据通道的地址和端口,无法制定完善的安全策略。利用ALG技术便可以解决包过滤防火墙遇到的问题,实现对多通道应用协议的动态检测。

学习ALG技术实现原理之前,必须先掌握两个重要概念:

(1)会话 记录了传输层报文之间的交互信息,包括源IP地址、源端口、目的IP地址、目的端口,协议类型和源/目的IP地址所属的VPN实例。交付信息相同的报文属于一条流,通常情况下,一个会话对应正反两条流,一条流对应一个方向的一个会话。

(2)动态通道 当应用层协议报文中携带地址信息时,这些地址信息会被用于建立动态通道,后续符合该地址信息的连接将使用已经建立的动态通道来传输数据。

2.ALG应用

(1)FTP的ALG应用 如图2.48所示,私网侧的主机要访问公网的FTP服务器。防火墙上配置了私有网址192.168.0.10到公网地址50.10.10.10的映射,实现地址的NAT转换,以支持私网主机对公网的访问。如果没有ALG对报文载荷的处理,私网主机发送的Port报文到达服务器端口后,服务器无法识别该报文载荷中的私有地址,也就无法建立正确的数据连接。应用了ALG的FTP连接建立过程:

①第一步:私网主机和公网FTP服务器之间通过TCP三次握手成功建立控制连接。

②第二步:控制连接建立后,私网主机向FTP服务器发送Port报文。报文中携带私网主机指定的数据连接的目的地址和端口,用于通知服务器使用该地址和端口和自己进行数据连接。

图2.48 FTP的ALG应用

③第三步:Port报文在经过支持ALG特性的NAT设备时,报文载荷中的私有网址和端口会被转换成对应的公网地址和端口。即,设备将收到的Port报文载荷中的私网地址192.168.0.10转换成公网地址50.10.10.10,端口1024转换成5000。

④第四步:公网的FTP服务器收到Port报文后,解析其内容,并向私网主机发起数据连接,该数据连接的目的地址为50.10.10.10,端口为5000。由于该目的地址是一个公网地址,因此后续的数据连接就能够成功建立,从而实现私网主机对公网服务器的访问。

(2)DNS的ALG应用 如图2.49所示,私网侧主机要访问内部Web服务器(域名为www.abc.com,对外公网地址为50.10.10.10),它所询问的DNS服务器在公网。连接建立过程:

图2.49 DNS的ALG应用

①第一步:私网主机向公网的DNS服务器发起NDS查询。

②第二步:DNS服务器收到查询报文后进行查询处理,并将查询到的结果(域名www.abc.com对应IP地址50.10.10.10)放在DNS响应报文(DNS Answer)中发送给私网主机对应的公网地址。

③第三步:DNS响应报文在到达具有ALG特性的NAT设备时,报文载荷中的公网地址会被映射成为内部WWW服务器的私有地址。即,NAT设备将收到的DNS响应报文数据载荷中的IP地址50.10.10.10替换为192.168.0.10后,将DNS响应报文发往私网。

私有主机收到的DNS响应报文中就携带了www.abc.com的私网IP地址,实现了私网客户端通过公网DNS服务器以域名方式访问私网服务器的功能。

(3)ICMP差错报文的ALG应用 如图2.50所示,公网侧的主机要访问私网中的FTP服务器,该内部服务器对外的公网地址为50.10.10.10。若内部FTP服务器的21端口未打开,那么它会向主机发送一个ICMP差错报文。

图2.50 ICMP差错报文的ALG应用

由于差错报文的数据载荷中的IP地址信息是被NAT处理过的,因此其数据载荷中的地址信息为私网IP地址。在这种情况下,如果未经过ALG处理的ICMP差错报文从私网发送到公网,那么公网主机就无法识别该差错报文属于哪个应用程序,同时也会将FTP服务器的私网地址泄露到公网中。

因此,当该ICMP差错报文到达NAT设备时,ALG会根据原始FTP会话的地址转换信息记录,将其数据载荷的私网地址192.168.1.10还原成公网地址50.10.10.10,再将该ICMP差错报文发送到公网。这样,公网主机就可以正确识别出错的应用程序,同时也避免了私网地址的泄漏。

3.配置应用层协议检测

在导航栏中选择“防火墙”→“应用层协议检测”,进入如图2.51所示的页面。

4.应用层协议检测支持FTP典型配置举例

(1)组网需求 如图2.52所示,某公司通过启用了NAT和应用层协议检测功能的设备连接到Internet。公司内部对外提供FTP服务。公司内部网络地址为192.168.1.1/24。其中,内部FTP服务器的IP地址为192.168.1.2。通过配置NAT和应用层协议检测,满足如下需求:

图2.51 配置应用层协议检测

图2.52 应用层协议检测支持FTP配置组网图

●外部网络的Host可以访问内部的FTP服务器。

●公司具有5.5.5.1、5.5.5.9~5.5.5.11等4个合法的公网IP地址。FTP服务器使用5.5.5.10作为对外的IP地址。

(2)配置步骤

①配置FTP的应用层协议检测功能,缺省情况下,UTM已经开启了ALG功能:

●在导航栏中选择“防火墙”→“应用层协议检测”。

●在已选应用协议框中选中“ftp”,单击“〉〉”按钮

●单击【确定】按钮完成操作。

②配置ACL:

#新建基本ACL:

●在导航栏中选择“防火墙”→“ACL”,单击【新建】按钮。

●输入访问控制列表ID为“2001”。

●单击【确定】按钮完成操作。

#配置基本的ACL规则:

●单击ACL2000对应的图标,进入ACL基本规则的显示页面,单击【新建】按钮。

●选择操作为“允许”。

●单击【确定】按钮完成操作。

③配置动态地址转换和内部服务器:

#配置NAT地址池:

●在导航栏中选择“防火墙”→“NAT”→“动态地址转换”,在“地址池”中单击【新建】按钮。

●输入地址池索引为“1”。

●输入开始IP地址为“5.5.5.9”。

●输入结束IP地址为“5.5.5.11”。

●单击【确定】按钮完成操作。(www.xing528.com)

#配置地址转换关联:

●在“地址转换关联”中单击【新建】按钮。

●选择接口为“GE0/1”。

●输入ACL为“2001”。

●选择地址转换方式为“PAT”。

●输入地址池索引为“1”。

●单击【确定】按钮完成操作。

#配置内部FTP服务器:

●在导航栏中选择“防火墙”→“NAT”→“内部服务器”,在“内部服务器转换”中单击【新建】按钮。

●选择接口为“GE0/1”。

●选择协议类型为“6(TCP)”。

●输入外部IP地址为“5.5.5.10”。

●输入外部端口为“21”。

●输入内部IP地址为“192.168.1.2”。

●输入内部端口为“21”。

●单击【确定】按钮完成操作。

5.应用层协议检测支持SIP/H.323典型配置举例

(1)组网需求 如图2.53所示,某公司通过启用了NAT和应用层协议检测功能的设备连接到Internet。公司内部网址为192.168.1.0/24。通过配置NAT和应用层协议检测,满足如下要求:

●公司内部的SIP UA 1和外部网络的SIP UA 2均可以通过别名与对方成功建立通信。

●公司具有5.5.5.1、5.5.5.9~5.5.5.11等4个合法的公网IP地址。公司内部SIP UA 1在向外部的SIP服务器注册时选择5.5.5.9~5.5.5.11中的一个地址作为其公网地址。

图2.53 应用层协议检测支持SIP配置组网图

(2)配置步骤

①配置应用层协议检测:

#配置SIP的应用层协议检测功能:

●在导航中选择“防火墙”→“应用层协议检测”。

●在已选应用协议框中选中“sip”,单击“〉〉”按钮。

●单击【确定】按钮完成操作。

②配置ACL:

#新建基本ACL:

●在导航栏中选择“防火墙”→“ACL”,单击【新建】按钮。

●输入访问控制列表ID为“2001”。

●单击【确定】按钮完成操作。

#配置基本ACL规则:

●单击ACL 2000对应的图标,进入ACL基本规则的显示页面,单击【新建】按钮。

●选择操作为“允许”。

●选中“源IP地址”前的复选框,输入源IP地址为“192.168.1.0”,输入源地址通配符为“0.0.0.255”。

●单击【确定】按钮完成操作。

●单击【新建】按钮。

●选择操作为“禁止”。

●单击【确定】按钮完成操作。

③配置动态地址转换:

#配置NAT地址池:

●在导航栏中选择“防火墙”→“NAT”→“动态地址转换”,在“地址池”中单击【新建】按钮。

●输入地址池索引为“1”。

●输入开始IP地址为“5.5.5.9”。

●输入结束IP地址为“5.5.5.11”。

●单击【确定】按钮完成操作。

#配置地址转换关联:

●在“地址转换关联”中单击【新建】按钮。

●选择接口为“GE0/1”。

●输入ACL为“2001”。

●选择地址转换方式为“PAT”。

●输入地址池索引为“1”。

●单击【确定】按钮完成操作。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈