如何使用FTPS服务器安全地传输文件

通信网络

625人已加入

描述

本文解释了FTPS协议以及如何使用FTPS服务器软件(如CompleteFTP)安全地传输文件。

FTPS(FTP Secure)是通过SSL连接的FTP协议。

“纯格式”FTP的一个重要问题是它不安全——用户名、密码和数据都是以明文形式通过网络发送的。这意味着嗅探网络的窃听者在获取传输文件的凭证和副本方面不会遇到什么麻烦。

FTPS协议是通过使用SSL/TLS协议加密通信来解决这个问题的,SSL/TLS协议是专门为保护网络连接而设计的。

1.隐式FTPS和显式FTPS

FTPS协议的早期版本现在被称为隐式FTPS协议。连接后,隐式FTPS协议客户端自动启动SSL/TLS连接保护。

对于未加密的FTP客户端来说,这是一个问题——他们将不再能够在需要立即保护连接的服务器端口上进行连接。如果在同一台服务器上同时支持FTP和FTPS(隐式),则需要使用不同的端口号。通常,隐式FTPS协议使用990端口,而不是标准的FTP端口21。

显式FTPS通过要求客户端在保护连接之前发送AUTH命令来解决这个问题。这意味着未加密的FTP客户端可以与FTPS协议客户端在相同的端口上连接——未加密的客户端根本不会发送AUTH命令,会话保持未加密状态。FTPS协议客户端在登录前发送AUTH命令,以确保凭据安全。

仍然可以找到隐式FTPS客户端,但始终首选显式模式。除非需要隐式模式,否则最好在CompleteFTP中禁用隐式模式FTPS协议。

2.保护控制和数据通道

FTP会话使用两个通道:控制通道和数据通道。每次会话中只使用一个控制通道,但可以使用多个数据通道——每次数据传输一个通道。AUTH命令只保护控制通道。在PBSZ和PROT命令发出之前,数据通道是不安全的。这些命令告诉服务器后续数据通道是否应该是安全的。

客户端可以以不加密的方式连接FTPS服务器,然后根据请求切换到安全模式。为此,客户端发出AUTH命令,根据该命令,客户端和服务器协商建立安全连接。切换后,所有FTP命令都被加密,但重要的是,除非提供进一步的命令,否则数据不会被加密。

3.FTPS协议命令

使用三个命令:AUTH、PBSZ和PROT。其中之一,PBSZ,似乎是多余的,可能只是为了满足RFC规范而包含它。

3.1AUTH(认证)

AUTH命令使用一个参数来定义要使用的安全机制,通常是“SSL”或“TLS”。

AUTHTLS

使用此命令,将尝试在控制通道上协商TLS连接。服务器试图通过发送其证书(服务器验证)向客户端验证自己。它还可能涉及客户端将其证书发送到服务器(客户端验证)。

3.2PBSZ保护缓冲区大小)

PBSZ命令用于定义安全机制在对数据通道上的数据进行加密时要使用的缓冲区大小。然而,对于TLS,这个设置是多余的,并且总是将值“0”作为参数传递。

3.3PROT(数据通道保护级别)

PROT定义数据通道是否需要保护。数据通道为Clear(默认值)或Private。Clear表示在数据通道上不使用任何安全性(即文件传输不加密),Private表示应该对数据通道进行加密。所以有两个可能的PROT命令:

编辑:黄飞

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分