产品
产品中心
< 返回主菜单
产品

交换机

交换机所有产品
< 返回产品
交换机
查看交换机首页 >

无线

无线所有产品
< 返回产品
无线
查看无线首页 >

云桌面

云桌面产品方案中心
< 返回产品
云桌面
查看云桌面首页 >

安全

安全所有产品
< 返回产品
安全
查看安全首页 >
产品中心首页 >
行业
行业中心
< 返回主菜单
行业
行业中心首页 >

为什么SFTP比FTP更安全

本文介绍FTP和SFTP的定义,以及搭建、登录FTP和SFTP服务器的方法。通过wireshark软件抓取从客户端向服务器传输的测试文件数据,模拟攻击者在网络上窃取文件,并尝试从文件数据解析文件内容,分析SFTP和FTP的区别。

  • 发布时间:2022-11-23

  • 点击量:

  • 点赞:

分享至

我想评论

1 概述
随着网络应用的发展,越来越多的公司和个人利用网络进行文件传输。传统FTP虽然具备高效文件传输功能,但因缺乏安全性,传输的文件容易被网络上的攻击者窃取。而SFTP除了具有和FTP相同的功能外,还具备更高安全性。
本文在Windows 7环境下,分别搭建FTP和SFTP服务器,并从客户端向服务器传输文件。通过wireshark软件抓取传输的测试文件,模拟攻击者窃取文件的行为,分析SFTP和FTP的区别。从客户端向服务器传输文件的网络拓扑如下图所示。
图1-1 文件传输拓扑图
                                                                                           
传输的文件内容如下图所示。
图1-2 文件内容
                                                                               
2 什么是FTP
2.1   FTP简介
FTP(File Transfer Protocol,文件传输协议)是IETF Network Working Group所制定的一套标准协议,属于网络协议组的应用层,FTP基于TCP(Transmission Control Protocol,传输控制协议)实现文件传输。FTP是Internet传递文件最主要的方法。
FTP采用客户端/服务器的模式,FTP服务器提供远程客户端的接入与程序操作。用户可以通过客户端向服务器发出命令,查看FTP服务器目录下的文件,并把文件从远程计算机上拷到本地,或把本地的文件传送到服务器上。除此之外,FTP还提供登录验证及读写权限控制等功能。
2.2   搭建FTP服务器
Window 7中自带FTP服务。搭建FTP服务器步骤如下。
(1) 开启FTP服务。打开“控制面板”,在“打开或关闭Windows功能”中勾选“FTP服务器”和“Web管理工具”,如下图所示。
图2-1 开启FTP服务
                                                                           
(2) 打开“控制面板”,在“系统和安全”中点击“管理工具”,双击打开“Internet 信息服务(IIS)管理器”,如下图所示。
图2-2 打开Internet 信息服务(IIS)管理器
                                                                  
(3) 单击右键,并选择“添加FTP站点”,如下图所示。
图2-3 添加FTP站点
                                                                                    
(4) 设置FTP站点信息。在“FTP站点名称”中输入建立的FTP站点名称,在“物理路径”中选择服务器FTP站点需要共享的文件夹路径。如下图所示。
图2-4 设置FTP站点信息
                                                                     
(5) 设置服务器IP地址。在“IP地址”中输入服务器的IP地址。“端口”默认设置为21。勾选“自动启动FTP站点”,如下图所示。
图2-5 设置服务器IP地址
                                                                         
(6) 设置身份验证和授权信息。根据需求可选择允许访问的用户,以及选择是否允许读取、写入操作。如下图所示。至此完成FTP服务器搭建。
图2-6 设置身份验证和授权信息
                                                                                    
2.3   登录FTP服务器
使用WinSCP作为客户端登录FTP服务器。下载并安装WinSCP.exe。安装完成后,打开软件并进行如下图设置登录FTP服务器。
图2-7 使用WinSCP登录FTP服务器
                                                                             
2.4   FTP文件传输
(1) 传输文件。成功登录FTP服务器后,从客户端向服务器传输测试文件,同时使用wireshark软件抓包模拟攻击者窃取测试文件。如下图所示,红框中十六进制内容即为窃取的文件数据。
图2-8 模拟攻击者窃取文件数据
                                                                                   
(2) 转换数据流。
a 选中“FTP Data”后,单击右键,在弹出的窗口中选择“Follow”,并选择“TCP Stream”。如下图所示。
图2-9 转换数据流
                                                                              
b 在弹出的“TCP Stream”窗口中,"Show data as"选择"Raw",并另存为(Save as)一个文件。

说明
“Raw”表示转换为原始数据流。
                                                                           
图2-10 保存转换文件
                                                                                      
c 用Notepad++软件打开上一步另存的文件,即可看到文件内容。如下图所示。
图2-11 获取文件内容
                                                                                         
3 什么是SFTP
3.1   SFTP简介
SSH(Secure Shell,安全外壳)是一个需要进行加密和认证的,用于远程访问及文件传输的网络安全协议。SSH基于加密和认证的特性可以为用户提供更强大的安全保障机制,在用户使用不安全的网络环境登录设备时,SSH能够有效保护设备不受IP地址欺诈、明文密码截取等攻击。
SFTP(SSH File Transfer Protocol,也称为Secret File Transfer Protocol,安全文件传输协议)基于SSH,能够为文件传输提供安全的加密通道。SFTP具备和FTP一样的功能,即用户可以通过客户端向服务器发出命令,查看SFTP服务器目录下的文件,并把文件从远程计算机上拷到本地,或把本地的文件传送到SFTP服务器上。
3.2   搭建SFTP服务器
(1) 在Window 7中,使用freeSSHd软件搭建SFTP服务器。需要下载并安装freeSSHd.exe。安装完成后,打开软件的设置界面,如下图所示。
图3-1 freeSSHd设置界面
                                                                          
(2) 点击"SSH"选项卡,在“Listen address”中设置SFTP服务器地址,在“Port”中设置SFTP端口号,默认为22,在“Max number of connections”中设置最大连接次数为10,最后勾选“Start SSH server on freeSShd startup”和“User new console engine”。如下图所示。
图3-2 设置SFTP服务器地址和端口号
                                                                            
(3) 点击"Authentication"选项卡,选择用密码认证(Password authentication)方式,而不是公钥认证(Public key authentication)方式。如下图所示。
图3-3 设置SFTP登录验证方式
                                                                                  
(4) 点击"Users"选项卡,再点击"Add"按钮,弹出“User Properties”窗口。在“Login”中输入登录Windows服务器的用户名,在“Authorization”中选择使用Windows账户密码登录。如下图所示。
图3-4 添加SFTP用户
                                                                       
(5) 点击"Server status"选项卡,开启SSH服务器。如下图所示。至此完成SFTP服务器搭建。
图3-5 开启SSH服务器
                                                               
3.3   登录SFTP服务器
使用WinSCP作为客户端登录SFTP服务器。下载并安装WinSCP.exe。安装完成后,打开软件并进行如下图设置登录SFTP服务器。
图3-6 使用WinSCP登录SFTP服务器
                                                                                          
3.4   SFTP文件传输
(1) 传输文件。成功登录SFTP服务器后,从客户端向服务器传输测试文件,同时使用wireshark软件抓包模拟攻击者窃取测试文件。如下图所示,红框中十六进制内容即为窃取的文件数据。
图3-7 模拟攻击者窃取文件数据
                                                                              
(2) 转换数据流。如果按照FTP转换数据流的操作,得到的文件内容如下所示。可见虽然在网络上窃取了文件数据,但是无法获得文件内容。
图3-8 获取文件内容
                                                                                        
4 SFTP和FTP的区别
通过FTP文件传输和SFTP文件传输的操作分析,SFTP和FTP的区别如下:
协议不同。
FTP基于TCP/IP协议,使用TCP端口21建立控制通道,使用TCP端口20建立数据通道。SFTP基于SSH协议(使用TCP端口22建立安全通道)。
安全性不同。
FTP没有安全通道传输数据,SFTP使用SSH建立的加密安全通道传输数据。FTP采用明文传输,攻击者只要在网络上窃取到文件数据,就能轻而易举地得到文件内容。SFTP采用加密传输,攻击者虽然窃取到文件数据,只要不知道加密密钥,也无法得到文件内容。这也是SFTP比FTP更安全的原因。
传输效率不同。
SFTP在传输过程中需要加密和解密,传输效率不如FTP。
                                                                            
5 结语
从SFTP和FTP的区别可以看出,SFTP是在加密通道中传输文件,安全性比FTP高,适合在公网中传输私有信息。FTP虽然安全性不及SFTP,但FTP不需要加密和解密,传输效率比SFTP高,适合公司内部文件的快速传输,可以根据需要选择不同的文件传输方式。

相关标签:

点赞

任何需要,请联系我们

返回顶部

请选择服务项目
关闭咨询页
售前咨询 售前咨询
售前咨询
售后服务 售后服务
售后服务
意见反馈 意见反馈
意见反馈
更多联系方式
是否找到您想要的内容?
您遇到了什么问题?
找不到想要的信息
筛选功能不好用
加载速度太慢
页面体验差
提交
您是否找到了与产品相关的文档
筛选功能是否帮助您更快找到所需的文档?
有帮助
一般
没有帮助
没用过
请问您遇到了什么问题?
需要填写的内容太多
有些信息不懂怎么填
页面有问题/错误
其他
确定
这些客户案例是否对您有帮助?
非常有帮助
比较有帮助
没有帮助
请您对这个客户案例进行评价
兴趣度
相关性
可信度
确定
感谢您的反馈!
感谢您的反馈!