2006年3月26日

WS_FTP Server 与 CuteFTP 双向 SSL 证书认证

Author: Hagen.GoO 转载请注明作者出处
MSN contact:
wantm009@hotmail.com
Keyword: WS_FTP CuteFTP FTP SSL 证书
Quote:
http://www.xfocus.net/articles/200404/692.html

通常情况,FTP 的客户端(例如 FlashFXP)使用 SSL 连接某 FTP 服务器时需经过几个步骤:

1、客户端通过TCP协议连接到服务端
2、客户端发起连接询问,发送自身所能实现的“安全集合”,其中包含加密和签名算法协商
3、服务端回应连接,包含本次通讯所使用的算法集合,以及服务端证书
4、客户收到证书后,使用服务端协商的算法,用服务端证书中包含的服务器公钥加密一个随机序列,作为一个挑战质询发回服务器
5、服务端收到加密密文,使用自身私钥进行数据解密,如果成功,代表协商匹配,可以开始通讯
6、协商完毕,开始加密数据传输

这样使用单向数字证书,虽能抵制网路嗅探,但是对于 Keylogger 这样的键盘记录器,或者用户密码人为泄漏等的安全隐患还是无能为力。

IpSwitch 的 FTP 服务端软件 WS_FTP Server 有一个非常好的功能,就是可以强制向客户端请求 SSL 安全证书。下面就结合 CuteFTP 客户端证书上传功能,简述一下如何使用双向 SSL 连接。

1 CuteFTP 生成 SSL 证书

打开 CuteFTP 7.0 Professional,点击菜单 "Tools" - "Global Options";
在弹出的对话框中,选 "Security" - "SSL Security";
勾选 "Use SSL certificate when authenticating"
点击按钮 "Create certificate"
在 "Create Client SSL Certificate Set" 对话框中,依提示生成 CuteFTP 的证书
注意在第三步时,请选 "Set up CuteFTP to use the generated certificate" 让 CuteFTP 自动启用新证书

2 发送 CuteFTP 的新证书到 WS_FTP Server

CuteFTP 生成的一组文件包括 .key 的私钥、.crt的证书文件、.csr的证书签署请求文件。
请妥善保管 .key 的私钥和私钥短语,切不可泄漏,外传。
把 .csr 文件通过 Email,或移动硬盘等工具,传到 WS_FTP Server 所在服务器。

3 在 WS_FTP Server 上开启 SSL

打开 WS_FTP Server Manger,选择域名列表下的 SSL 选项,
勾选 "Enable SSL" (允许SSL)
再勾选 "Force clients to use SSL conneciongs" (强制用户使用 SSL 连接)
选择 "Client Certificates are verified upon connection" (校验客户端证书)

4 在 WS_FTP Server 上生成服务端证书

依照 http://hagengoo.blogspot.com/2006/03/wsftp-server-504.html 文章,生成并启用 WS_FTP Server 的服务端证书。

5 在 WS_FTP Server 上导入 CuteFTP 的证书

在 WS_FTP Server SSL 的 "Certificate Management" 的 "Trusted Authorities" 页面,点击下部的 "Import" 按钮,导入刚才的 CuteFTP 方传过来的证书。

6 操作完毕,重启 WS_FTP Server 服务。

经过这6步的操作,客户端的 CuteFTP 和 服务器的 WS_FTP Server 就能使用双向的 SSL 证书认证。只要 CuteFTP 的私钥不丢失,即使别人得到了 FTP 的登陆密码,也是不能非法登陆的。对于企业 FTP 服务器的安全性有一定程度上的提高。

没有评论: