一般的FTP服务器都是明文传输数据,安全性很差,信息很容易被窃取。即使提供了SSL加密,也可能默认不启用,比如常用的Serv-U FTP服务器(以下简称Serv-U)。为了保证特殊环境下的数据安全,有时需要启用SSL功能。作为下面的站长,我以Serv-U server为例介绍如何启用SSL加密。
创建SSL证书
要使用Serv-U的SSL功能,当然需要SSL证书的支持。虽然Serv-U在安装时已经自动生成了一个SSL证书,但是这个默认生成的SSL证书在所有Serv-U服务器上都是一样的,这是非常不安全的,所以我们需要手动创建一个新的SSL证书。
以中文版Serv-U5.0为例,在“Serv-U Administrator”窗口中,展开“本地服务器设置”选项,然后切换到“SSL证书”选项卡,作者在这里新建一个SSL证书。
首先在“常用名”一栏中输入FTP服务器的IP地址,然后根据用户的情况填写其他栏,如邮箱、组织、公司等。完成SSL证书选项卡中的所有内容后,单击下面的“应用”按钮,然后Serv-U将生成一个新的SSL证书。
启用SSL功能
尽管已经为Serv-U服务器创建了新的SSL证书,但默认情况下,Serv-U的SSL功能是不启用的。如果你想使用这个SSL证书,你必须首先启用SERV大学的SSL功能
这里,我想在Serv-U服务器中启用域名为“RTJ”的SSL功能。在Serv-U Administrator窗口中依次展开“本地服务器域 RTJ”选项,然后在右边的域管理框中找到“安全”下拉列表选项。这里Serv-U提供了三个选项,分别是“只允许常规FTP不允许SSL/TLS进程”、“允许SSL/TLS和常规进程”、“只允许SSL/TLS进程”。默认情况下,Serv-U只使用常规FTP,而不使用SSL/TLS进程,因此不启用SSL加密。在这里,作者在“安全”下拉选项框中选择“仅允许SSL/TLS进程”选项,然后单击“应用”按钮来启用RTJ域的SSL功能。
注意:启用SSL功能后,Serv-U服务器使用的默认端口号不再是“21”,而是“990”。FTP用户一定要注意这一点,否则无法成功连接Serv-U服务器。
SSL应用程序
启用Serv-U server的SSL功能后,可以使用该功能安全地传输数据,但FTP客户端程序必须支持SSL功能。
现在有很多FTP客户端程序支持SSL。以“Flash FXP”程序为例,介绍了如何在启用SSL的情况下成功连接到Serv-U服务器。运行“flashfxp”程序后,点击“会话快速连接”选项,弹出“快速连接”对话框。在“服务器或URL”栏中输入Serv-U服务器的IP地址,并确保在“端口”栏中输入“990”。这是因为启用SSL后,Serv-U服务器的端口号从“21”更改为“990”。然后在“用户名”和“密码”栏中输入用户的登录帐户。
然后切换到“SSL”选项卡并选中“隐式SSL”选项。这一步非常关键。如果不勾选“隐式SSL”,就无法成功连接Serv-U服务器。最后,单击“连接”按钮。
当用户第一次连接到Serv-U服务器时,Flash FXP会弹出一个“证书”对话框。此时,用户可以通过单击“Accept and Save”按钮并在本地下载SSL证书来成功连接到Serv-U服务器。以后与Serv-U服务器的数据传输将会受到SSL功能的保护,而不再是明文传输,这样就不用担心FTP账号和敏感信息被窃取了。