FTP、FTPS、SFTP浅析

本文介绍了FTP的基本概念及工作原理,并详细解析了FTPS和SFTP这两种FTP的安全扩展协议。FTPS是在FTP基础上增加了TLS/SSL加密,而SFTP则是SSH协议的一部分,提供了更安全的数据传输方式。

FTP

FTP即文件传输协议(File Transfer Protocol),是一个用于计算机网络上客户端与服务器之间进行文件传输的应用层协议。FTP由FTP服务器和FTP客户端组成,客户端可以将本地的文件通过哦FTP协议上传到服务器,也可以将服务器的文件下载到本地。

TODO 扩充FTP相关知识

FTP工作原理

FTP连接需要FTP服务器和客户端两方在网络上建立通信。建立FTP连接时会有两个不同的通信通道。一个被称为命令通道,它的作用是发出和响应指令。另一个为数据通道,用于客户端和服务器端进行数据交互。
使用FTP传输文件时用户需要通过向FTP服务器提供凭证来获得文件传输许可(这里是不是指的是需要输入密码?)。当然某些公共的FTP服务器可能不需要凭据即可访问其文件,但是无法保证数据传输的安全性,任何未加密的公共网络上的数据发送都是非常危险的,所以为了保护传输数据的安全,由FTP衍生而出的就是下面的两种协议:FTPS和SFTP。

FTPS

FTPS是在FTP的基础上添加传输层安全(TLS)和安全套接层(SSL)加密协议的扩展协议。FTPS包括两种不同的模式。

  • 隐式的FTPS
    隐式的FTPS所有的数据连接都必须加密,会拒绝任何不适用SSL进行的连接尝试。客户端必须先使用TLS Client Hello消息向FTPS服务器进行握手来创建加密连接。如果FTPS服务器未收到此类消息,则服务器应断开连接。隐式FTPS默认在端口990/TCP上监听FTPS控制通道,并在端口989/TCP上监听FTPS数据通道。(本质上还是FTP协议的扩展,所以提供命令通道和数据通道)。
  • 显式的FTPS
    FTPS客户端先与服务器创建明文连接,然后从控制通道明确请求服务器端升级为加密连接(Cmd: AUTH TLS)。控制通道与数据通道默认端口与原始FTP一样。控制通道始终加密,而数据通道是否加密则为可选项。同时若服务器未限制明文连接,也可以使用未加密的原始FTP进行连接,也就是说服务器在相同端口上同时提供FTP和FTPS服务。

SFTP

SFTP(Secure File Transfer Protocol)叫作安全文件传输协议。FTPS是在FTP协议上增加了一层SSL,但SFTP是SSH(Secure Shell protocol)协议的扩展,与FTP完全不同。SFTP不使用单独的命令通道和数据通道,而是命令和数据都会通过单个连接以特殊格式的数据包进行传输。SFTP可通过任何可靠的数据流提供文件访问、文件传输和文件管理。
SFTP协议允许对远程文件进行一系列操作,这使其更像是远程文件系统协议。SFTP客户端的其他功能包括断点续传、目录列表和远程文件删除。SFTP协议不提供身份验证和安全性。它希望底层协议能够确保这一点。

参考:

  1. https://zh.wikipedia.org/wiki/FTPS
  2. https://my.oschina.net/upyun/blog/4542799
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值