FXP(File Exchange Protocol,文件交换协议)是用于在FTP服务器间交换文件的协议,属于FTP命令的子集。它的工作步骤如下:
FTP控制客户端同时连接到FXP源和目的FTP服务器(无论FTP服务器工作在PORT模式还是PASV模式);
FTP控制客户端向FXP的源FXP服务器(被下载的FTP服务器)发送一个PASV指令,让它开放一个数据连接端口等待连接;
FTP控制客户端向FXP的目的FXP服务器(上传到的FTP服务器)发送一个PORT指令,让它去连接源FXP服务器开放的数据连接端口;
当连接成功时,FXP服务器之间就可以进行文件传输操作了。
为了完成FXP,FTP服务器和FTP控制客户端都必须支持使用FXP,并且至少有一方FTP服务器支持PASV模式。默认情况下,FXP的源FTP服务器工作在PASV模式,而FXP的目的FTP服务器工作在PORT模式,你可以通过修改FTP控制客户端的选项来修改它们的工作模式。
但是,FXP所使用的FTP命令不受ISA防火墙的FTP访问筛选器支持,所以如果要使用FXP,必须自行创建协议来允许FTP客户端对FTP服务器的访问;只要FTP客户端可以正常访问FTP服务器,就可以进行FXP传输。但是,当取消使用FTP访问筛选器时,如果FTP服务器工作在PORT模式,ISA防火墙不能正确识别FTP服务器到FTP客户端的FTP数据连接,从而导致PORT模式下FTP连接失败,所以,你需要额外创建一条访问规则允许FTP服务器到FTP客户端的数据连接。
在这篇文章中,我使用的FTP控制客户端软件是FlashFXP,使用的FTP服务器是Serv-U,默认情况下它们均支持FXP。试验中所使用的FTP服务器的服务控制端口均为21,并且允许了使用PASV模式。为了便于在ISA防火墙上进行发布,我将FTP服务器所使用的PASV端口限制为31000~31020,如下图所示。
根据FTP服务器的配置,我在ISA防火墙中创建了以下三个规则元素,并在不同的环境中使用:
1、入站协议FTP 21 Server(TCP入站端口21,TCP入站端口31000~31020),用于FTP服务器发布;
2、出站协议FTP 21(TCP出站端口21,TCP出站端口31000~31020),用于允许到FTP服务器的访问;
3、出站协议TCP 1025-65535(TCP出站端口1025~65535),用于允许FTP服务器到FTP客户端的数据连接;
根据FTP服务器和ISA防火墙之间不同的部署环境,我分为三个部分进行阐述。在这篇文章中,我将省略创建访问规则和发布规则的具体步骤,关于这方面的详细信息,请参见ISA中文站上的相关技术文章。
1、ISA防火墙作为FTP控制客户端
当ISA防火墙作为FTP控制客户端时,你应该让FTP服务器工作在PASV模式,否则你需要创建一条访问规则允许FTP服务器到FTP客户端(ISA防火墙)的FTP数据连接,这会给ISA防火墙带来极大的安全隐患。
思考一下当ISA防火墙作为FTP控制客户端时,FXP是怎么工作的:ISA防火墙只是连接到这两台FTP服务器,然后发出FXP控制指令,之后就是这两台FTP服务器之间自行进行传输数据。因此,当ISA防火墙作为FTP控制客户端时,问题的核心在于如何让ISA防火墙正常的连接到这两台FTP服务器。
如下图中的网络环境,ISA防火墙(10.2.1.1)将控制内部网络中的两台FTP服务器(10.2.1.8、10.2.1.5)进行FXP传输。
我创建了以下两条访问规则,规则元素的详细说明参见前文介绍。其中第二条访问规则用于允许内部FTP服务器向FTP客户端(ISA防火墙)发起数据连接,只有当FTP服务器工作在PORT模式时才需要,在此我是禁用了的,因为这条规则会极大的降低ISA的安全性,强烈推荐不要使用此规则(即让FTP服务器工作在PASV模式)。
然后,在ISA防火墙上运行FlashFXP,通过PASV模式连接到这两台FTP服务器,进行FXP传输,成功,如下图所示:
2、通过ISA防火墙对外发布的内部FTP服务器进行FXP传输
当通过ISA防火墙对外发布的内部FTP服务器需要进行FXP传输时,需要注意以下两点:
如果此内部FTP服务器工作在PASV模式,你需要设置FTP服务器使用ISA防火墙侦听的外部网络IP地址作为PASV IP地址;
如果此内部FTP服务器工作在PORT模式,你需要允许内部FTP服务器到外部FTP客户端的FTP数据连接;
如下图中的网络环境,内部的FTP服务器Denver通过ISA防火墙对外发布,侦听的外部IP地址是ISA防火墙的外部IP地址61.139.0.1,我将在Denver和Internet上的FTP服务器Perth之间进行FXP传输,Perth作为FTP控制客户端。
首先,我们将Denver设置为工作在PASV模式,因此需要设置它使用的PASV IP地址为ISA防火墙对外发布的IP地址61.139.0.1,如下图所示:
我创建的发布规则如下,规则元素的详细说明参见前文介绍。因为是使用外部的FTP服务器Perth作为FTP控制客户端,所以无需允许其他FTP控制客户端的FTP访问,如果其他主机作为FTP控制客户端,可能还需要创建额外的访问规则允许其FTP访问:
然后,在外部FTP服务器Perth上运行FlashFXP,通过PASV模式连接到这两台FTP服务器,进行FXP传输。默认情况下,FXP的源FTP服务器工作在PASV模式,而FXP的目的FTP服务器工作在PORT模式,因此当Denver作为源FXP服务器时,传输不会出现问题;
而当Denver作为目的FXP服务器时,Denver发起的FTP数据连接将会ISA防火墙阻止,导致传输失败。你可以配置FlashFXP让Denver作为目的FXP服务器时也工作在PASV模式,如下图所示:
或者在ISA防火墙上创建访问规则允许Denver到Perth的FTP数据连接,如下图第一条规则所示:
此时,Denver即可正常使用PORT模式进行FXP传输。
1、ISA防火墙作为FTP控制客户端
当ISA防火墙作为FTP控制客户端时,你应该让FTP服务器工作在PASV模式,否则你需要创建一条访问规则允许FTP服务器到FTP客户端(ISA防火墙)的FTP数据连接,这会给ISA防火墙带来极大的安全隐患。
思考一下当ISA防火墙作为FTP控制客户端时,FXP是怎么工作的:ISA防火墙只是连接到这两台FTP服务器,然后发出FXP控制指令,之后就是这两台FTP服务器之间自行进行传输数据。因此,当ISA防火墙作为FTP控制客户端时,问题的核心在于如何让ISA防火墙正常的连接到这两台FTP服务器。
如下图中的网络环境,ISA防火墙(10.2.1.1)将控制内部网络中的两台FTP服务器(10.2.1.8、10.2.1.5)进行FXP传输。
我创建了以下两条访问规则,规则元素的详细说明参见前文介绍。其中第二条访问规则用于允许内部FTP服务器向FTP客户端(ISA防火墙)发起数据连接,只有当FTP服务器工作在PORT模式时才需要,在此我是禁用了的,因为这条规则会极大的降低ISA的安全性,强烈推荐不要使用此规则(即让FTP服务器工作在PASV模式)。
然后,在ISA防火墙上运行FlashFXP,通过PASV模式连接到这两台FTP服务器,进行FXP传输,成功,如下图所示:
2、通过ISA防火墙对外发布的内部FTP服务器进行FXP传输
当通过ISA防火墙对外发布的内部FTP服务器需要进行FXP传输时,需要注意以下两点:
如果此内部FTP服务器工作在PASV模式,你需要设置FTP服务器使用ISA防火墙侦听的外部网络IP地址作为PASV IP地址;
如果此内部FTP服务器工作在PORT模式,你需要允许内部FTP服务器到外部FTP客户端的FTP数据连接;
如下图中的网络环境,内部的FTP服务器Denver通过ISA防火墙对外发布,侦听的外部IP地址是ISA防火墙的外部IP地址61.139.0.1,我将在Denver和Internet上的FTP服务器Perth之间进行FXP传输,Perth作为FTP控制客户端。
首先,我们将Denver设置为工作在PASV模式,因此需要设置它使用的PASV IP地址为ISA防火墙对外发布的IP地址61.139.0.1,如下图所示:
我创建的发布规则如下,规则元素的详细说明参见前文介绍。因为是使用外部的FTP服务器Perth作为FTP控制客户端,所以无需允许其他FTP控制客户端的FTP访问,如果其他主机作为FTP控制客户端,可能还需要创建额外的访问规则允许其FTP访问:
然后,在外部FTP服务器Perth上运行FlashFXP,通过PASV模式连接到这两台FTP服务器,进行FXP传输。默认情况下,FXP的源FTP服务器工作在PASV模式,而FXP的目的FTP服务器工作在PORT模式,因此当Denver作为源FXP服务器时,传输不会出现问题;
而当Denver作为目的FXP服务器时,Denver发起的FTP数据连接将会ISA防火墙阻止,导致传输失败。你可以配置FlashFXP让Denver作为目的FXP服务器时也工作在PASV模式,如下图所示:
或者在ISA防火墙上创建访问规则允许Denver到Perth的FTP数据连接,如下图第一条规则所示:
此时,Denver即可正常使用PORT模式进行FXP传输。
3、FTP服务器运行在ISA防火墙上
当FTP服务器运行在ISA防火墙上时,你可以通过发布规则或者访问规则来允许FXP传输。例如下图中的网络环境,FTP服务器运行在ISA防火墙Istanbul上,我将在Istanbul和Internet上的FTP服务器Perth之间进行FXP传输,Perth作为FTP控制客户端。
如果通过发布规则进行,需要创建的发布规则和上面一种情况类似,如下图所示:
但是,如果你发布的服务器地址为ISA防火墙的内部IP地址(如上图所示),你同样需要配置FTP服务器使用ISA服务器所侦听的外部网络地址61.139.0.1作为PASV IP地址。如果发布的服务器地址为ISA防火墙的外部IP地址(如下图所示),就不再需要设置FTP服务器使用的PASV IP地址了。
如果采用访问规则进行,则步骤更为简单,FTP服务器侦听ISA防火墙的外部IP地址,然后配置ISA防火墙使用以下访问规则即可,其中第一条访问规则允许外部FTP客户使用PASV模式连接到ISA防火墙,而第二条规则则允许外部FTP客户使用PORT模式连接到ISA防火墙。
自由广告区 |
分类导航 |
邮件新闻资讯: IT业界 | 邮件服务器 | 邮件趣闻 | 移动电邮 电子邮箱 | 反垃圾邮件|邮件客户端|网络安全 行业数据 | 邮件人物 | 网站公告 | 行业法规 网络技术: 邮件原理 | 网络协议 | 网络管理 | 传输介质 线路接入 | 路由接口 | 邮件存储 | 华为3Com CISCO技术 | 网络与服务器硬件 操作系统: Windows 9X | Linux&Uinx | Windows NT Windows Vista | FreeBSD | 其它操作系统 邮件服务器: 程序与开发 | Exchange | Qmail | Postfix Sendmail | MDaemon | Domino | Foxmail KerioMail | JavaMail | Winwebmail |James Merak&VisNetic | CMailServer | WinMail 金笛邮件系统 | 其它 | 反垃圾邮件: 综述| 客户端反垃圾邮件|服务器端反垃圾邮件 邮件客户端软件: Outlook | Foxmail | DreamMail| KooMail The bat | 雷鸟 | Eudora |Becky! |Pegasus IncrediMail |其它 电子邮箱: 个人邮箱 | 企业邮箱 |Gmail 移动电子邮件:服务器 | 客户端 | 技术前沿 邮件网络安全: 软件漏洞 | 安全知识 | 病毒公告 |防火墙 攻防技术 | 病毒查杀| ISA | 数字签名 邮件营销: Email营销 | 网络营销 | 营销技巧 |营销案例 邮件人才:招聘 | 职场 | 培训 | 指南 | 职场 解决方案: 邮件系统|反垃圾邮件 |安全 |移动电邮 |招标 产品评测: 邮件系统 |反垃圾邮件 |邮箱 |安全 |客户端 |