一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

FTP服务的实现方法、系统、设备及存储介质与流程

2022-03-02 03:07:07 来源:中国专利 TAG:

ftp服务的实现方法、系统、设备及存储介质
技术领域
1.本技术实施例涉及互联网技术领域,具体而言,涉及一种ftp服务的实现方法、系统、设备及存储介质。


背景技术:

2.ftp协议(file transfer protocol,文件传输协议)是tcp/ip协议组中的协议之一。该协议是internet文件传送的基础,它由一系列规格说明文档组成,目标是提高文件的共享性,提供非直接使用远程计算机,使存储介质对用户透明和可靠高效地传送数据。
3.ftp的目标是提高文件的共享性,提供非直接使用远程计算机,使存储介质对用户透明和可靠高效地传送数据。ftp服务在企业it环境中有这比较广泛的应用。
4.传统的访问ftp服务的方式,存在诸多不安全因素如缺少统一管理机制,存在潜在风险、访问过程没有跟踪和审计,无法实现责任认定与满足内控外审要求等,因此,人们亟需一种更安全的ftp服务访问方式。


技术实现要素:

5.本技术实施例提供一种ftp服务的实现方法、系统、设备及存储介质,旨在解决以上至少一项技术问题。
6.本技术实施例第一方面提供一种ftp服务的实现方法,所述方法应用于代理服务器,所述方法包括:
7.基于客户端发送的网络协议连接请求,与所述客户端建立网络协议连接,所述网络协议为以下任意一者:http、https、rtp;
8.通过所述网络协议连接接收所述客户端发送的ftp服务器的ip地址,并将所述ip地址设置为代理目标地址,并基于所述ip地址与ftp服务器建立连接;
9.向所述客户端返回与所述ftp服务器的连接结果;
10.在所述连接结果为表征连接成功的结果的情况下,接收所述客户端发送的ftp连接请求,并基于所述ftp连接请求与所述客户端建立ftp连接;
11.接收所述客户端通过所述ftp连接发送的认证信息,依据所述认证信息登录所述ftp服务器;
12.代理所述客户端与所述ftp服务器之间的ftp通信,并对代理的ftp通信进行审计。
13.可选地,所述方法还包括:
14.识别与所述客户端之间的ftp连接的连接模式,所述连接模式为:主动模式、被动模式;
15.依据所述连接模式改变与所述ftp服务器之间的连接。
16.可选地,所述对代理的ftp通信进行审计,包括:
17.判断所述客户端发送的操作指令是否符合预设的安全策略;
18.当符合安全策略时,将所述操作指令转发至所述ftp;
19.当不符合所述安全策略时,删除所述操作指令。
20.可选地,所述对代理的ftp通信进行审计,包括:
21.判断所述客户端的上传的文件是否泄密;
22.当所述文件未泄密时,将所述文件转发至所述ftp;
23.当所述文件泄密时,阻断对所述文件的传输。
24.本技术实施例第二方面提供一种ftp服务的实现系统,所述系统包括:
25.网络协议连接建立模块,用于基于客户端发送的网络协议连接请求,与所述客户端建立网络协议连接,所述网络协议为以下任意一者:http、https、rtp;
26.设置模块,用于通过所述网络协议连接接收所述客户端发送的ftp服务器的ip地址,并将所述ip地址设置为代理目标地址,并基于所述ip地址与ftp服务器建立连接;
27.连接结果返回模块,用于向所述客户端返回与所述ftp服务器的连接结果;
28.ftp连接建立模块,用于在所述连接结果为表征连接成功的结果的情况下,接收所述客户端发送的ftp连接请求,并基于所述ftp连接请求与所述客户端建立ftp连接;
29.登录模块,用于接收所述客户端通过所述ftp连接发送的认证信息,依据所述认证信息登录所述ftp服务器;
30.审计模块,用于代理所述客户端与所述ftp服务器之间的ftp通信,并对代理的ftp通信进行审计。
31.可选地,所述系统还包括:
32.识别模块,用于识别与所述客户端之间的ftp连接的连接模式,所述连接模式为:主动模式、被动模式;
33.连接模式改变模块,用于依据所述连接模式改变与所述ftp服务器之间的连接。
34.可选地,所述审计模块,还用于判断所述客户端发送的操作指令是否符合预设的安全策略;
35.当符合安全策略时,将所述操作指令转发至所述ftp;
36.当不符合所述安全策略时,删除所述操作指令。
37.可选地,所述审计模块,还用于判断所述客户端的上传的文件是否泄密;
38.当所述文件未泄密时,将所述文件转发至所述ftp;
39.当所述文件泄密时,阻断对所述文件的传输。
40.本技术实施例第三方面提供一种可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,实现如本技术第一方面所述的方法。
41.本技术实施例第四方面提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现本技术第一方面所述的方法。
42.采用本技术提供的ftp服务的实现方法,客户端与ftp服务器通过代理服务器实现ftp服务,代理服务器可对客户端与ftp服务器之间的通信进行审计,及时发现风险因素,进行阻止,实现了更为安全的ftp服务。并且,本技术的方法中,代理服务器可以根据用户需求进行设定ip地址,改变了现有技术中ip地址固定的缺点,用户能够灵活进行代理。
43.此外,本技术的方法模拟了用户真实登录ftp服务器的过程,实现了高度透明化的代理,提高了用户的使用体验。
附图说明
44.为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
45.图1是本技术一实施例提出的ftp服务的实现方法的应用场景;
46.图2是本技术一实施例提出的ftp服务的实现方法的流程图;
47.图3是本技术一实施例提出的ftp服务的实现系统的示意图。
具体实施方式
48.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
49.参考图1,图1示出的是本技术实施例的ftp服务的实现方法的应用场景。参考图1,在场景100中,客户端101通过代理服务器102与ftp服务器103进行通信,代理服务器在客户端与ftp服务器之间起到代理(proxy)的作用,代理服务器充当了计算机和ftp服务器之间的中间人。客户端与代理服务器之间进行通信时,客户端的通信请求会先发送到代理服务器,然后代理将指令转发至从网络服务器获取响应,并将获取的数据转发到客户端。
50.客户端101可以是任何的电子设备,例如,智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。客户端101还可以是能够在上述设备中搭载的各种应用软件,例如,诸如微信、qq等。
51.代理服务器102和ftp服务器103可以是一个服务器,也可以是服务器动态集群,或者云计算资源池的一部分。
52.参考图2,图2是本技术一实施例提出的一种ftp服务的实现方法的流程图,所述方法应用于代理服务器。如图2所示,该方法包括以下步骤:
53.步骤s210、基于客户端发送的网络协议连接请求,与所述客户端建立网络协议连接,所述网络协议为以下任意一者:http、https、rtp。
54.在本技术中,当客户端想要与ftp服务器建立ftp协议连接,以上传/下载文件时。其并不是直接与ftp服务器进行连接,其需要先与代理服务器建立一次连接,该次连接是客户端与代理服务器之间的第一次连接,在该次连接中,使用的是非ftp协议外的网络通信协议,如http协议(hypertexttransfer protocol,超文本传输协议),http协议是一种用于分布式、协作式和超媒体信息系统的应用层协议,http是万维网的数据通信的基础协议。
55.本技术中,客户端与服务器之间的第一次连接是为便于客户端向代理服务器发送ftp连接相关的信息(如用户名、密码等认证信息,或者ftp服务器的ip地址),因此,可以使用多种能够快速便利传递消息的协议,如可以使用http、https等能够进行信息交互的应用层协议,也可以不使用应用层协议,仅使用tcp协议,由于可以使用多种协议为了便于表述,本技术将客户端与代理服务器的第一连接称为网络协议连接。
56.客户端与代理服务器之间的第一次连接,根据其采用协议,采用对应的正常方法
进行,如采用http协议时,采用通常的http协议连接方法:客户端向服务器发送一个请求报文,请求报文包含请求的方法、url、协议版本、请求头部和请求数据。基于客户端发送的http协议请求,服务器以一个状态行作为响应,响应的内容包括协议的版本、成功或者错误代码、服务器信息、响应头部和响应数据。
57.步骤s220、通过所述网络协议连接接收所述客户端发送的ftp服务器的ip地址,并将所述ip地址设置为代理目标地址,并基于所述ip地址与ftp服务器建立连接。
58.客户端与代理服务器之间建立起第一次连接后,通过该次连接,客户端将想要访问的ftp服务器的ip地址发送给代理服务器,ip指(internetprotoco laddress)互联网协议地址,又译为网际协议地址。ip地址是ip协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。
59.在实际实施中,客户端在请求报文中的请求头部可以加入connection:keep-alive,将tcp连接模式改为长连接模式,使tcp连接在发送后仍然保持打开状态,这样客户端就可以继续通过该次连接发送ip地址,保持连接节省了为每个请求建立新连接所需的时间,还节约了带宽。或者,也可以选择将ip地址放在请求报文中进行发送,代理服务器接收到请求报文后,就能获得ip地址,进行执行。
60.代理服务器接收到客户端发送的ip地址后,将该ip地址设置为自己需要代理的目标地址。或者说,代理服务器将该ip地址设置为自己的目的ip。
61.并且,代理服务器还依据该ip地址向ftp服务器发起ftp连接。
62.步骤s230、向所述客户端返回与所述ftp服务器的连接结果。
63.代理服务器尝试与ftp服务器后,将该次尝试连接的结果(成功/失败)返回至客户端,客户端接收到返回的连接结果后,就知道ip地址是否有误,以及时进行更换,重新进行上述步骤s110至s120。
64.步骤s240、在所述连接结果为表征连接成功的结果的情况下,接收所述客户端发送的ftp连接请求,并基于所述ftp连接请求与所述客户端建立ftp连接。
65.当代理服务器向客户端返回ftp连接成功建立的消息后,说明客户端发送的ip地址无误,客户端与代理服务器之间建立第二次连接,准备进行ftp服务,该次连接使用ftp协议。
66.第二次连接的方法使用通常的ftp连接方法即可,客户端向代理服务器发送ftp登录请求,代理服务器对客户端的ftp登录请求进行响应,建立连接。
67.步骤s250、接收所述客户端通过ftp连接发送的认证信息,依据所述认证信息登录所述ftp服务器。
68.客户端与代理服务器之间建立第二次连接后,客户端通过该次连接将ftp服务的认证信息如用户名、密码等发送至代理服务器。
69.代理服务器依据接收从客户端接收到的认证信息登录ftp服务器。
70.如果代理服务器登录ftp服务器失败,则向客户端登录失败信息,提示用户认证信息输入有误。
71.步骤s260、代理所述客户端与所述ftp服务器之间的ftp通信,并对代理的ftp通信进行审计。
72.代理服务器成功登录ftp服务器后,代理服务器成功登录上ftp服务器,建立了代
理服务器-ftp服务器之间的通信连接,并且代理服务器与客户端之间也存在ftp通信连接。即,客户端与ftp服务器之间实现了通过代理的连接,该代理由代理服务器实现。
73.代理服务器通过对客户端与ftp服务器之间的代理,可以获取客户端与ftp服务器之间通讯内容,并对该通讯内容进行审计,通过该审计过程可以随时发现风险,进行阻止。
74.上述ftp服务的建立方法中,代理服务器模仿了真实的访问过程(输入地址——提示地址错误/进一步提示输入密码——成功访问),用户无法察觉其中有代理服务器的存在,实现了透明代理。
75.通过本技术的技术方案,客户端与ftp服务器通过代理服务器实现ftp服务,代理服务器可对客户端与ftp服务器之间的通信进行审计,及时发现风险因素,进行阻止,实现了更为安全的ftp服务。并且,本技术的方法中,代理服务器,可以根据用户需求进行设定,改变了现有技术中ip地址固定的缺点,用户能够灵活进行代理。
76.此外,本技术的方法模拟了用户真实登录ftp服务器的过程,实现了高度透明化的代理,提高了用户的使用体验。
77.可选的,步骤s260的对代理的ftp通信进行审计,包括:
78.判断所述客户端发送的操作指令是否符合预设的安全策略;
79.当符合安全策略时,将所述操作指令转发至所述ftp;
80.当不符合所述安全策略时,删除所述操作指令。
81.当客户端向ftp服务器发送操作指令如文件删除指令等时,由于该过程被代理服务器代理,因此代理服务器先于接收到了ftp服务器该操作指令。
82.代理服务器判断客户端的操作的是否符合代理服务器制定的安全策略,并记录本次操作内容。所述安全策略是预设的,可以是:某一用户不能进行删除,或者,某一客户端不能下载文件等。
83.如果符合客户端的操作符合代理服务器制定的安全策略,代理服务器将客户端的维护操作请求发送至ftp服务器进行处理。
84.如果客户端的操作不符合代理服务器制定的安全策略,代理服务器阻断客户端的维护操作请求。
85.进一步的,对代理的ftp通信进行审计,包括:
86.判断所述客户端的上传的文件是否泄密;
87.当所述文件未泄密时,将所述文件转发至所述ftp;
88.当所述文件泄密时,阻断对所述文件的传输。
89.除了客户端与ftp服务器之间的指令操作外,对于客户端与代理服务器之间的文件传输过程也要进行审计。
90.对于客户端上传/下载的文件,代理服务器也要进行审计,在客户端上传/下载的文件经过代理服务器时,代理服务器对文件进行扫描,判断文件中是否存在泄密、或者违反安全策略的内容。
91.如果文件未泄密/符合代理服务器制定的安全策略,代理服务器将文件转发发送进行处理。
92.如果文件泄密/不符合代理服务器制定的安全策略,代理服务器将本次文件的传输阻断。
93.可选的,所述方法还包括:
94.识别与所述客户端之间的ftp连接的连接模式,所述连接模式为:主动模式、被动模式;
95.依据所述连接模式改变与所述ftp服务器之间的连接。
96.默认情况下ftp协议使用tcp端口中的20和21这两个端口,其中20用于传输数据,21用于传输控制信息。但是,是否使用20作为传输数据的端口与ftp使用的传输模式有关,如果采用主动模式,那么数据传输端口就是20;如果采用被动模式,则具体最终使用哪个端口要服务器端和客户端协商决定。
97.在步骤s140中,当代理服务器接收客户端发送的ftp连接请求,依据客户端期望建立的ftp连接模式后,代理服务器会根据客户端期望建立的模式改变其与ftp服务器之间的ftp连接。
98.具体的:在步骤s140中,当客户端期望使用主动模式时,客户端会开启n和n 1两个端口,n为客户端的命令端口,n 1为客户端的数据端口。
99.客户端使用端口n连接代理服务器的命令端口21,建立控制连接并告诉代理服务器开启了数据端口n 1。
100.在控制连接建立成功后,代理服务器会使用数据端口20,主动连接客户端的n 1端口以建立数据连接。代理服务器是主动的连接客户端,因而被称为ftp主动模式。
101.ftp主动模式,简单的理解就是服务器的数据端口20主动连接客户端的数据端口,来建立数据连接,用来传输数据,这个数据连接的建立有可能被客户端防火墙拦截掉。为了解决这个问题就衍生出另外一种连接模式---被动模式。被动模式也称为passive模式。
102.在步骤s140中,当客户端期望使用被动模式时,客户端同会开启n和n 1两个端口,n端口用于传输命令,n 1用于传输数据。
103.客户端的命令端口n主动连接代理服务器命令端口21,并发送pasv命令,以通知代理服务器用“被动模式”,控制连接建立成功后,代理服务器开启一个数据端口p,通过port命令将p端口告诉客户端。
104.客户端的数据端口n 1去连接代理服务器的数据端口p,建立数据连接。
105.在连接建立的过程中,代理服务器是被动的等待客户端来连接的,所以称这种模式为被动模式。
106.代理服务器与客户端建立ftp后,代理服务器识别与客户端之间的采用ftp连接模式(主动模式/被动模式)。
107.代理服务器判断将其与ftp服务器之间的连接模式,如果该模式与客户端之间的模式相同,则不更改,如果不同则修改代理服务器与ftp服务器之间的连接模式,使其与代理服务器与客户端之间的连接模式相同。
108.在实际实施中,为了更好的实现透明代理,可以在客户端内安装定制的ftp文件浏览器,用户在定制的ftp文件浏览器内填入需要访问的ftp服务器ip和用户名、密码等,
109.ftp文件浏览器与代理服务器建立网络协议(如http协议)连接,将目的ip通过网络协议发送给代理服务器;
110.代理服务器将接收到的ip设置为目的ip,并尝试进行连接。代理服务器将连接尝试结果返回客户端。
111.如果代理服务器将连接尝试结果返回客户端,如果结果为失败,则ftp文件浏览器提示用户ip输入错误。
112.如果结果为成功,则ftp文件浏览器将目的ip替换成网络代理服务器ip,发送ftp连接请求,进行正常的ftp连接。
113.ftp连接连接成功后,后续通信中,ftp文件浏览器会改变的request fields(报文)的头部的ip,将其发送至代理服务器。
114.基于同一发明构思,本技术一实施例提供一种ftp服务的实现系统。参考图3,图3是本技术一实施例提出的ftp服务的实现系统的示意图。如图3所示,所述系统应用于代理服务器,该系统包括:
115.网络协议连接建立模块310,用于基于客户端发送的网络协议连接请求,与所述客户端建立网络协议连接,所述网络协议为以下任意一者:http、https、rtp;
116.设置模块320,用于通过所述网络协议连接接收所述客户端发送的ftp服务器的ip地址,并将所述ip地址设置为代理目标地址,并基于所述ip地址与ftp服务器建立连接;
117.连接结果返回模块330,用于向所述客户端返回与所述ftp服务器的连接结果;
118.ftp连接建立模块340,用于在所述连接结果为表征连接成功的结果的情况下,接收所述客户端发送的ftp连接请求,并基于所述ftp连接请求与所述客户端建立ftp连接;
119.登录模块350,用于接收所述客户端通过所述ftp连接发送的认证信息,依据所述认证信息登录所述ftp服务器;
120.审计模块360,用于代理所述客户端与所述ftp服务器之间的ftp通信,并对代理的ftp通信进行审计。
121.可选的,所述系统还包括:
122.识别模块,用于识别与所述客户端之间的ftp连接的连接模式,所述连接模式为:主动模式、被动模式;
123.连接模式改变模块,用于依据所述连接模式改变与所述ftp服务器之间的连接。
124.可选的,所述审计模块,还用于判断所述客户端发送的操作指令是否符合预设的安全策略;
125.当符合安全策略时,将所述操作指令转发至所述ftp;
126.当不符合所述安全策略时,删除所述操作指令。
127.可选的,所述审计模块,还用于判断所述客户端的上传的文件是否泄密;
128.当所述文件未泄密时,将所述文件转发至所述ftp;
129.当所述文件泄密时,阻断对所述文件的传输。
130.基于同一发明构思,本技术另一实施例提供一种可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本技术上述任一实施例所述的ftp服务的实现方法。
131.基于同一发明构思,本技术另一实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行时实现本技术上述任一实施例所述的ftp服务的实现方法。
132.对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
133.本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与
其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
134.本领域内的技术人员应明白,本技术实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本技术实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
135.本技术实施例是参照根据本技术实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
136.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
137.这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
138.尽管已描述了本技术实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本技术实施例范围的所有变更和修改。
139.最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
140.以上对本技术所提供的一种ftp服务的实现方法、装置、设备及存储介质,进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的一般技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本技术的限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献