使用Windows Server 2008 R2打造双线FTP服务器

本文涉及的产品
云防火墙,500元 1000GB
简介:

使用Windows Server 2008 R2打造双线FTP服务器

 1 FTP的PASV与PORT模式概述

在所有的网络服务中,FTP服务器的发布是比较复杂的,这是由FTP的工作原理造成的。FTP服务器主要有两种工作模式:PORT模式与PASV模式。

在PORT模式中,FTP 客户端首先和FTP服务器的TCP 21端口建立连接,通过这个通道发送命令,客户端需要接收数据的时候在这个通道上发送PORT命令。 PORT命令包含了客户端用什么端口接收数据。在传送数据的时候,服务器端通过自己的TCP 20端口连接至客户端的指定端口发送数据。 FTP server必须和客户端建立一个新的连接用来传送数据。

PASV模式在建立控制通道的时候和Port模式类似,但建立连接后发送的不是Port命令,而是Pasv命令。FTP服务器收到Pasv命令后,随机打开一个高端端口(端口号大于1024)并且通知客户端在这个端口上传送数据的请求,客户端连接FTP服务器此端口,然后FTP服务器将通过这个端口进行数据的传送,这个时候FTP server不再需要建立一个新的和客户端之间的连接。

很多防火墙在设置的时候都是不允许接受外部发起的连接的,所以许多位于防火墙后或内网的FTP服务器不支持PASV模式,因为客户端无法穿过防火墙打开FTP服务器的高端端口;

而许多内网的客户端不能用PORT模式登陆FTP服务器,因为从服务器的TCP 20无法和内部网络的客户端建立一个新的连接,造成无法工作。

2 使用防火墙发布FTP服务器通常选择PASV模式

为了解决这个问题,并且在许多情况下,最终用户没有机会配置所属网络的防火墙。所以,一般情况下,在发布FTP服务器时,通过是让FTP服务器工作在PASV模式,并且指定PASV对外服务的地址以及PASV服务的端口,让防火墙发布指定的端口。

以前我一直使用serv-u做FTP服务器,因为我的网络中有不止一台FTP服务器并且要发布到Internet供用户使用。在Windows Server 2008及其以前的版本中,虽然Windows操作系统自带的FTP服务器非常安全,但由于其配置较少,并且不能指定PASV端口对外地址、修改PASV端口范围较复杂等,一直使用serv-u等FTP服务器软件。但是,随着64位Windows操作系统的普及与发展,现在在网络中配置FTP又被提上了日程:支持64位Windows Server操作系统的FTP并不是很多,并且这些FTP服务器越来越复杂、庞大,偶尔会有漏洞出现。而对于我们大量用户来说,需要FTP服务器的功能有限:能发布到Internet、能上传、下载,并能分用户管理就行。现在,Windows Server 2008 R2,升级了IIS中集成的FTP服务器,除了具有原来的功能外,还增加了指定PASV地址与端口的功能,这足以满足用户的需求。在本文中,我们通过一个案例,进行介绍。

3 FTP服务器实验案例

clip_image002

图1 FTP实验拓扑

在图1中,由Forefront TMG 2010保护的内网,有两台FTP服务器,这两台FTP服务器,除了供“内网”使用外,还发布到Internet,供Internet用户使用。并且,该网络外接有电信与联通线路,可以让用户根据自己的网络选择是使用电信还是联通线路连接到FTP服务器。

要解决图1所描述的网络的功能,我们可以有多种方法解决,在此先解决一个以前在serv-u中采用的办法:用不同的端口发布FTP服务器,我们通过表1对此做出规则。

服务器

电信服务端口

联通服务端口

PASV端口

内网服务端口

FTP1

2010

2011

2012

21

FTP2

2020

2021

2022

21







在按照表1规划后,Internet的用户,如果是电信线路,则通过ftp://219.x.x.x:2010访问FTP1,通过ftp://219.x.x.x:2020访问FTP2;如果是联通线路,则通过ftp://61.y.y.y:2011访问FTP1,通过ftp://61.y.y.y:2021访问FTP2;而内网用户,则直接通过ftp://192.168.1.11访问FTP1,通过ftp://192.168.1.12访问FTP2。

4 实验步骤

在做好规划之后,实现起来就比较简单了。主要步骤如下:

4.1 双WAN口路由器设置

在双WAN口路由器中,映射TCP的2010、2011、2012、2020、2021、2022到Forefront TMG 2010的“外网地址”10.10.10.10,如图2所示。

clip_image004

图2 配置双WAN口路由器

4.2 Forefront TMG设置

在Forefront TMG 2010中,创建两个自定义协议,其中么一个协议名称为FTP_in:2010-2012(也可以是其他名称)、采用TCP协议、方向为“入站”、协议号为2010~2012(如图3~图5所示);另一个协议名称为FTP_in:2020-2022、协议号为2020~2022的TCY入站协议。然后创建“非Web服务器发布规则”,发布192.168.1.11的服务器,采用FTP_in:2010-2012协议(如图6~10所示);发布192.168.1.12的服务器,采用FTP_in:2020-2022协议。

clip_image006

图3 新建协议

clip_image008

图4 指定协议名称

clip_image010

图5 设置连接信息

clip_image012

图6 创建服务器发布规则

clip_image014

图7 设置服务器发布规则名称

clip_image016

图8 指定服务器的地址

clip_image018

图9 选择协议

clip_image020

图10 发布完成

clip_image022

图11 应用设置

4.3 FTP服务器设置

在FTP1服务器中(已经安装好Windows Server 2008 R2协议),安装IIS与FTP服务,指定FTP服务器使用PASV的端口为2012,创建三个FTP服务器中,这三个服务器可以使用同一个“父目录”,并且这三个服务器的服务端口分别为21(内网使用)、2010(电信使用)、2011(网通使用)。相关步骤如下。

(1)在“Internet信息服务管理器”中,在IIS管理的根路径,双击右侧的“FTP防火墙支持”,如图12所示。

clip_image024

图12 FTP防火墙支持

(2)在“FTP防火墙支持”页,在“数据通道端口范围”文本框中,键入前面规则的端口范围,在此为2012-2012,然后单击“应用”,如图13所示。

clip_image026

图13 指定PASV端口范围

(3)返回到图12后,双击“FTP SSL设置”链接,选中“允许SSL连接”,然后单击“应用”,如图14所示。

clip_image028

图14 FTP SSL设置

接下来创建用于内网使用的FTP,该FTP服务器的端口为21。步骤如下。

(4)右击“网站”,在弹出的快捷菜单中选择“添加FTP站点”,如图15所示。也可以单击右侧任务窗格中的“添加FTP站点”链接。

clip_image029

图15 添加FTP站点

(5)设置站点名称为“FTP-21”,并为站点配置物理路径,如图16所示。

clip_image030

图16 指定FTP站点名称

(6)在“绑定和SSL设置”页,设置端口号为21,在“SSL”选项组中,选择“无”,如图17所示。

clip_image031

图17 绑定和SSL设置

(7)在“身份验证和授权信息”页,选择“匿名”用户访问,如图18所示。

clip_image032

图18 匿名访问

然后参照(4)~(7)的步骤,分别创建名为“FTP-DX_2010”、“FTP-WT_2011”的FTP站点,使用同一个目录、端口分别为2010、2011,如图19~图22所示。

clip_image033

图19 电信FTP站点

clip_image034

图20 电信FTP端口

clip_image035

图21 网通FTP站点

clip_image036

图22 网通FTP端口

(8)创建完成三个FTP站点后,返回到IIS管理器。接下来要修改各FTP服务器对外的PASV的IP地址,以“FTP-DX_2010”站点为例。在IIS中,在左侧任务窗格选中“FTP-DX_2010”,双击右侧的“FTP防火墙支持”链接,如图23所示。

clip_image038

图23 FTP防火墙支持

在弹出的“FTP防火墙支持”页,在“防火墙的外部IP地址”文本框中,键入外网的IP地址,在本例中是219.x.x.x,然后单击“应用”按钮,如图24所示。

clip_image040

图24 指定PASV的IP地址

(9)同样,对于发布到网通的“FTP-WT_2011”FTP站点,修改其PASV的IP地址为网通的地址,在本例中为61.y.y.y,如图25所示。

clip_image042

图25 指定网通FTP的PASV的IP地址

(10)而对于用于内网的FTP,则不需要修改其PASV的IP地址,该地址为空即可,如图26所示。

clip_image044

图26 内网FTP不需要修改

经过上述配置,Internet上的用户,以及内网的用户,就可以使用不同的地址与端口、访问同一台FTP服务器中的内容了。



本文转自 dengaosky 51CTO博客,原文链接:http://blog.51cto.com/dengaosky/1869007,如需转载请自行联系原作者
相关文章
|
7天前
|
安全 编译器 Linux
深入解析与防范:基于缓冲区溢出的FTP服务器攻击及调用计算器示例
本文深入解析了利用缓冲区溢出漏洞对FTP服务器进行远程攻击的技术,通过分析FreeFlow FTP 1.75版本的漏洞,展示了如何通过构造过长的用户名触发缓冲区溢出并调用计算器(`calc.exe`)。文章详细介绍了攻击原理、关键代码组件及其实现步骤,并提出了有效的防范措施,如输入验证、编译器保护和安全编程语言的选择,以保障系统的安全性。环境搭建基于Windows XP SP3和Kali Linux,使用Metasploit Framework进行攻击演示。请注意,此内容仅用于教育和研究目的。
31 4
|
1月前
|
网络安全 Windows
Windows server 2012R2系统安装远程桌面服务后无法多用户同时登录是什么原因?
【11月更文挑战第15天】本文介绍了在Windows Server 2012 R2中遇到的多用户无法同时登录远程桌面的问题及其解决方法,包括许可模式限制、组策略配置问题、远程桌面服务配置错误以及网络和防火墙问题四个方面的原因分析及对应的解决方案。
|
1月前
|
Android开发 数据安全/隐私保护 虚拟化
安卓手机远程连接登录Windows服务器教程
安卓手机远程连接登录Windows服务器教程
88 4
|
1月前
|
NoSQL Linux PHP
如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤
本文介绍了如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤。接着,对比了两种常用的 PHP Redis 客户端扩展:PhpRedis 和 Predis,详细说明了它们的安装方法及优缺点。最后,提供了使用 PhpRedis 和 Predis 在 PHP 中连接 Redis 服务器及进行字符串、列表、集合和哈希等数据类型的基本操作示例。
64 4
|
1月前
|
监控 安全 网络安全
使用EventLog Analyzer日志分析工具监测 Windows Server 安全威胁
Windows服务器面临多重威胁,包括勒索软件、DoS攻击、内部威胁、恶意软件感染、网络钓鱼、暴力破解、漏洞利用、Web应用攻击及配置错误等。这些威胁严重威胁服务器安全与业务连续性。EventLog Analyzer通过日志管理和威胁分析,有效检测并应对上述威胁,提升服务器安全性,确保服务稳定运行。
|
1月前
|
监控 安全 网络安全
Windows Server管理:配置与管理技巧
Windows Server管理:配置与管理技巧
87 3
|
1月前
|
存储 安全 网络安全
Windows Server 本地安全策略
由于广泛使用及历史上存在的漏洞,Windows服务器成为黑客和恶意行为者的主要攻击目标。这些系统通常存储敏感数据并支持关键服务,因此组织需优先缓解风险,保障业务的完整性和连续性。常见的威胁包括勒索软件、拒绝服务攻击、内部威胁、恶意软件感染等。本地安全策略是Windows操作系统中用于管理计算机本地安全性设置的工具,主要包括用户账户策略、安全选项、安全设置等。实施强大的安全措施,如定期补丁更新、网络分段、入侵检测系统、数据加密等,对于加固Windows服务器至关重要。
|
2月前
|
边缘计算 安全 网络安全
|
2月前
|
数据安全/隐私保护 Windows
安装 Windows Server 2019
安装 Windows Server 2019

热门文章

最新文章