设置Xlight FTP服务器使用SSL/TLS功能的步骤
设置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客户端之间的控制和数据通道.
使用SSL客户端认证(SSL client authentication)
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客户端认证功能.