Jaa


BizTalk Server 2010新功能介绍(四):基于安全连接的FTP适配器

BizTalk Server是微软构建业务流程和集成解决方案的首选服务器,BizTalk Server 2010是这个产品线的第7个主要版本,提供对Windows Server 2008 R2、SQL Server 2008 R2和Visual Studio 2010的全面支持和集成。

 

BizTalk Server 2010基于BizTalk Server 2009的核心架构,在应用到应用、业务到业务以及业务流程自动化等方面做了诸多重大改进,能让以前动辄以月和年为单位的设计和实现过程,现在只需要几周甚至几天就能完成。

 

随着信息技术的发展,尤其是云计算技术的日益普及,信息安全越来越成为产品关注的重点。BizTalk Server 2010在产品规划的过程中,也给信息安全设定很高的优先级。增加对FTPS(RFC4217规范)的适配器支持就是其中的一部分。本文将介绍基于安全连接的FTP适配器的配置过程。

 

 

一、配置证书

 

    使用基于安全连接的FTP适配器之前,需要先设置FTPS服务,这就需要用到证书。导入证书的步骤为:

 

1. 打开Visual Studio的命令行提示工具(以管理员身份运行),执行以下命令以创建一个自签名的证书,并将此证书添加到本地计算机的个人证书列表中:

makecert -r -pe -n "CN=MachineName" -ss my -sr LocalMachine -sky exchange -a sha1 -len 2048 c:\ftptest.cer

注意:请将“ MachineName ”替换成您当前的机器名。

 

2. 打开操作系统的“开始”菜单,在“运行”输入框中输入“mmc”命令打开控制台,选择“文件 > 添加或删除管理单元”菜单,以显示管理单元设置界面,将“证书”管理单元添加到当前控制台中。

注意: 当添加证书管理单元的时候,请在弹出的对话框中选择“计算机帐户”和“本地计算机”。

在本地计算机的个人证书目录下,您可以发现您刚创建的证书已经导入到系统中。但是这个证书当前并不受信任,因为它的颁发人(因为是自签名,所以发布人就是自己)并不在受信任的根证书列表中,所以我们还需要把证书添加到“受信任的根证书颁发机构”列表

 

3. 在管理控制台中,展开“证书(本地计算机) > 受信任的根证书颁发机构 > 证书”节点,右键点击“证书”节点,选择“所有任务 > 导入…”菜单,以弹出证书导入界面,如下图:

clip_image002[1]

 

4. 在证书导入界面,选择导入刚创建的证书ftptest.cer的路径,点击OK按钮导入此证书。

 

 

二、配置FTPS服务

 

    在IIS(Internet信息服务)管理器(我们在这里使用的是IIS 7.5)中配置FTPS服务的步骤为:

 

1. 打开IIS管理器,展开当前服务器节点,右键点击“网站”节点,选择“添加FTP站点…”菜单,弹出FTP服务配置向导。

 

2. 在FTP服务配置向导的“站点信息”页面,根据实际需求填写站点名称(比如FTPSTest)和物理路径(比如C:\inetpub\ftproot),点击“下一步”按钮。

 

3. 在“绑定和SSL设置”页面的SSL区域,选择“需要”,并从“SSL证书”下拉菜单中选择我们刚创建的证书),点击“下一步”按钮,如下图:

clip_image004[1]

 

4. 在“身份验证和授权信息”页面,在“身份验证”区域勾选“基本”,在“授权”区域下拉菜单中选择“所有用户”,并且在“权限”中勾选“读取”和“写入”,如下图:

clip_image006[1]

 

5. 点击“完成”按钮,创建FTPS站点,并保证其处于运行状态。

 

6. 在FTPS站点的根目录(比如C:\inetpub\ftproot)下创建两个文件夹“receive”和“send”,分别用于BizTalk Server的接收和发送端口。

 

 

三、配置BizTalk Server发送和接收端口

 

    在BizTalk Server针对所配置的FTPS服务创建接收和发送端口的步骤为:

 

1. 打开BizTalk Server的控制管理台,展开所要操作的应用节点。

 

2. 右键点击“接收端口”节点,选择“新建 > 单向接收端口”,弹出接收端口属性配置界面。

 

3. 在接收端口属性配置界面,输入合适的端口名称(这里我们输入“ReceivePort1”),在左边选择、“接收位置”菜单,点击“新建”按钮,弹出接收位置配置界面。

 

4. 在接收位置配置界面,输入合适的接收位置名称(比如“Receive Location1”),传输类型选择“FTP”,接收处理程序选择任意合适的主机名称,接收管道选择“PassThruReceive”,最后点击“配置…”按钮以弹出FTP传输属性配置界面,如下图:

clip_image008[1]

注意: 如果是在64位平台运行,所选择的主机需要以32位模式运行。

 

5. 在FTP传输属性配置界面,我们需要设置如下参数:

参数名称

取值

服务器

当前服务器名称(需要和创建证书时所用的“MachineName”相同)

用户名

具有FTPS服务器receive和send目录读写权限的用户名

密码

登录用户的密码

文件夹

receive

FTPS连接模式

显式

使用SSL

如下图:

clip_image010[1]

 

6. 点击“确定”按钮完成FTP传输属性配置。

 

7. 点击“确定”按钮以生成接收端口。

 

8. 在BizTalk Server的控制管理台,在所要操作的应用节点下面,右键点击“发送端口”节点,选择“新建 > 静态单向发送端口”,弹出发送端口属性配置界面。

 

9. 在发送端口属性配置界面,输入合适的端口名称(这里我们输入“SendPort1”),传输类型选择“FTP”,接收处理程序选择任意合适的主机名称,接收管道选择“PassThruTransmit”,最后点击“配置…”按钮以弹出FTP传输属性配置界面,如下图:

clip_image012[1]

 

10. 在FTP传输属性配置界面,我们需要设置如下参数:

参数名称

取值

服务器

当前服务器名称(需要和创建证书时所用的“MachineName”相同)

用户名

具有FTPS服务器receive和send目录读写权限的用户名

密码

登录用户的密码

文件夹

send

FTPS连接模式

显式

使用SSL

目标文件名

%MessageID%.xml

 

11. 点击“确定”按钮完成FTP传输属性配置。

 

12. 在发送端口属性配置界面,点击左侧的“筛选器”菜单,在筛选器配置界面输入如下的筛选规则:

BTS.ReceivePortName == ReceivePort1

 

13. 点击“确定”按钮以生成发送端口。

 

14. 启动发送端口和接收位置。

 

 

四、验证

 

    配置工作结束以后,我们就可以验证FTP适配器在安全连接环境下的工作情况:

 

1. 创建一个输入文件(比如input.txt),拷贝到接收位置目录中(在本示例中是C:\inetpub\ftproot\receive)。

 

2. 观察到BizTalk Server取得并删除此文件。

 

3. 转到发送端口目录(在本示例中是C:\inetpub\ftproot\send)。

 

4. 观察到一个新的文件(名字类似于{B77761A6-33FA-4F1F-AF0C-82D4D66B920C}.xml)产生。

如果得到以上结果,说明FTP适配器在安全连接环境中工作正常。试验成功!

 

    在BizTalk Server 2010中,通过新的基于安全连接的FTP适配器,BizTalk Server和FTP服务器之间可以实现安全的交互,让用户不再为信息保密而担心。

 

    另外,BizTalk Server 2010还对FTP适配器做了其他增强,包括只读文件位置支持和ASCII模式下的文件原子传输支持,限于篇幅,我们在这里就不一一介绍。关于其具体细节,大家可以参考BizTalk相关的在线文档,以及随机发布的帮助文档。

 

 

    如果您想进一步了解BizTalk Server 2010的更多信息,请登录官方主页。作为BizTalk Server产品组的一员,我们非常鼓励大家试用这些新功能,并且提供您的反馈。您可以直接在此博客上发表意见,也可以加入我们的社区提出问题或者共享您的知识。

 

    以下是我们的社区资源:

 

资源

链接

BizTalk社区门户(英文)

https://go.microsoft.com/fwlink/?LinkId=49340

BizTalk论坛(英文)

https://social.msdn.microsoft.com/forums/en-US/category/biztalkserver/

BizTalk论坛(中文)

https://social.microsoft.com/forums/zh-CN/biztalkserverzhchs/threads/

BizTalk开发人员社区(英文)

https://go.microsoft.com/fwlink/?LinkId=49339

BizTalk网播

https://go.microsoft.com/fwlink/?LinkId=49363

 

 

 

肖文峰,软件测试开发工程师