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

交换机

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

无线

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

云桌面

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

安全

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

为什么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高,适合公司内部文件的快速传输,可以根据需要选择不同的文件传输方式。

相关标签:

点赞

更多技术博文

任何需要,请联系我们

返回顶部

请选择服务项目
关闭咨询页
售前咨询 售前咨询
售前咨询
售后服务 售后服务
售后服务
意见反馈 意见反馈
意见反馈
更多联系方式