告别运维内耗 全域协同提效 丨 锐捷网络运维保障经验分享会
预约直播
无感准入 人物统管 丨 RG-SAM+5.X 新一代高校AI认证平台发布
预约直播

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

相关标签:

点赞

更多技术博文

任何需要,请联系我们

返回顶部

收起
文档AI助手
文档评价
该资料是否解决了您的问题?
您对当前页面的满意度如何?
不咋滴
非常好
您满意的原因是(多选)?
您不满意的原因是(多选)?
您是否还有其他问题或建议?
为了快速解决并回复您的问题,您可以留下联系方式
邮箱
手机号
感谢您的反馈!
请选择服务项目
关闭咨询页
售前咨询 售前咨询
售前咨询
售后服务 售后服务
售后服务
意见反馈 意见反馈
意见反馈
taptap点点亚洲体育
Baidu
map