设置Xlight FTP服务器使用SSL/TLS功能的步骤
xlight ftp服务器可以和标准ftp协议一起使用ssl/tls功能加密控制和数据通道. xlight ftp服务器支持在ssl之上的两种工作方式: "显式ssl"以及"隐式ssl".
显式ssl 是一种机制, 其中当ftp客户端希望使用安全的加密控制连接时, 它需要显式的发出auth命令例如 "auth tls" 或 "auth ssl" 以初始化ssl握手过程并和ftp服务器之间建立安全的加密控制连接. auth命令必须在ftp客户登录之前发出. 如果ftp客户端没有发出auth命令,它和ftp服务器之间的控制连接将保持未加密状态.
隐式ssl 是另一种机制, 其中ftp服务器要求ftp客户必须初始化ssl握手过程并和ftp服务器之间建立安全的加密控制连接, 加密控制连接建立之后ftp命令才能够被送到ftp服务器. 如果ftp客户不支持ssl功能,或它和服务器之间没有建立安全的加密控制连接,ftp服务器将不对来自ftp客户的命令做出任何反应.
在这个例子里,我们将演示如何在xlight ftp服务器里使用ssl/tls功能. 注意: 30-天试用期后,这个功能只被标准版和专业版的xlight ftp服务器支持.
创建和选择有效的服务器证书使用ssl/tls功能, 你需要做的第一件事是创建或选择一个已有的x.509证书作为服务器证书. 这个证书可以是由有效ca签发的实际证书,或者是自签名证书.
xlight ftp服务器使用的x.509服务期证书必须放在"本地计算机"的"个人"证书商店中. 这个证书位置和微软iis服务期使用的ssl证书在相同位置. 因此如果你有一个为iis服务器使用的有效证书, 你可以很方便的将它同时用在xlight ftp服务器上.
1. 到 [全局选项] -> [高级] -> [服务器ssl证书] 创建或选择一个服务器证书. 在这个例子里我们已经创建了一个自签名证书,它的cn是 "test-cert", 我们选择这个证书作为服务器证书,如下图所示.
2. 到 [虚拟服务器设置] -> [通用] -> [启用虚拟服务器ssl功能] 选择需要使用的ssl方式. 在这个例子里,我们选择隐式ssl,如下图所示.
经过上面步骤后, 你就完成了ssl/tls功能的设置,可以使用服务器证书加密ftp服务器和ftp客户端之间的控制和数据通道.
xlight ftp服务器支持ssl客户端认证. ssl客户端认证是另一种在ftp服务器端验证客户端身份的方式. 使用ssl客户端认证后, 在ssl握手的过程中, ftp客户端必须发送有效的x.509客户端证书给ftp服务器. 客户端证书包含用户的信息, 它向ftp服务器证明客户的身份.
1. 客户端证书必须由受信任的ca颁发, 你不能使用自签名证书作为客户端证书. 颁发客户端证书的ca必须存在于服务器的证书商店"本地计算机"中的 受信任的根证书颁发机构(trusted root certificate authorities)里. 否则客户证书无法通过服务器端的认证. 如下图微软的mmc工具的证书快照所示.
2. ssl客户端认证为隐式ssl模式支持. 到 [虚拟服务器设置] -> [通用] -> [启用虚拟服务器ssl功能], 选择"要求客户端证书" 如下图所示.
经过上面步骤后, 你就可以使用ssl客户端认证功能.