威尼斯人棋牌-威尼斯欢乐娱人城-首页

一种基于代理转发的NFS安全传输装置及方法与流程

文档序号:24938234发布日期:2021-05-04 11:30
一种基于代理转发的NFS安全传输装置及方法与流程

本发明涉及网络存储系统的数据传输,尤其涉及一种基于代理转发的nfs安全传输装置及方法。



背景技术:

在信息化的社会,数字信息呈爆炸式增长,人们对存储的需求不断提高,单靠本地磁盘不断扩容已很难满足日益增长的存储需求。伴随着计算机技术和互联网技术的发展,存储系统已由本地直连向着网络化、分布式方向发展,网络存储成了存储发展的重点方向,存储的网络化也推动了云存储的诞生和普及。nfs(networkfilesystem,网络文件系统)是当前主流异构平台共享文件系统,能够支撑在不同类型的系统之间通过网络进行文件共享和装配远程文件系统,是网络存储系统中最主要的呈现形式之一,具有简单易用、方便部署、数据可靠、服务稳定的特点,适合在中小规模的企事业单位进行部署。

因为设计方面的因素,nfs缺乏有效的访问控制手段,没有真正的用户验证机制,在rpc远程调用时,suid程序具有超级用户权限。所以在nfs应用时,通常部署在防火墙之后限制rcp服务的访问并控制nfs文件系统的导出权限,以此加强nfs的安全性。

在政府、军队、有保密要求的企业或组织内部,对于网络存储的访问控制和存储安全有着更高的要求,例如对nfs登录访问的客户机和用户身份都有严格的合法性验证,安全性认证与数据传输应该共用同一链路以防止旁路,数据须加密存储等等。这些安全性需求正是nfs的弱项,常规的安全加固配置难以适应这些应用场景,不能保证接入访问和数据传输安全。



技术实现要素:

本发明要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一种基于代理转发的nfs安全传输装置及方法,有效提升nfs的网络存储系统的接入访问和数据传输安全。

为解决上述技术问题,本发明提出的技术方案为:

一种基于代理转发的nfs安全传输装置,包括客户机和服务器,所述客户机包括:

nfs客户端,用于提供标准nfs接入协议;

安全认证客户端,用于发起登陆授权请求,并根据安全认证服务端返回的登录授权随机码生成登录安全令牌,然后通过登录安全验证请求将登录安全令牌发送给安全认证服务端进行登陆授权申请;

代理客户端,用于将nfs客户端和安全认证客户端的数据请求封装并转发给代理服务端,同时接收并解析代理服务端返回的数据;

所述服务器包括:

nfs服务端,用于提供标准nfs协议接入服务;

安全认证服务端,用于接收安全认证客户端的登陆授权请求并生成登录授权随机码,同时解析登录安全令牌并验证是否合法;

代理服务端,用于接收代理客户端的请求数据,解析消息类型,根据消息类型分别转发给nfs服务端或安全认证服务端;

所述nfs客户端、代理客户端、代理服务端和nfs服务端依次连接,所述安全认证客户端和代理客户端连接,所述安全认证服务端和代理服务端连接。

进一步的,所述nfs服务端的底层文件系统包括ext4、xfs、nfs和gfs2。

本发明还提出一种基于代理转发的nfs安全传输方法,应用于所述的基于代理转发的nfs安全传输装置,代理通道的建立包括以下步骤:

s1)客户机检测到用户登录nfs客户端,启动对应的代理客户端监听客户机的回环地址和随机端口号,代理客户端监听到nfs挂载请求后建立和nfs客户端之间的连接,若连接建立成功,代理客户端根据当前用户登陆请求中的网卡ip和代理服务端口号,发起与代理服务端之间的连接请求建立和代理服务端之间的连接;

s2)安全认证客户端通过代理客户端和代理服务端向安全认证服务端发起登录安全认证,若认证不通过,则代理客户端断开和nfs客户端以及代理服务端之间的连接;若认证成功,则代理服务端将当前用户登陆请求中的登录用户名匹配预设的nfs服务端口号列表得到服务器的回环地址和当前用户对应的nfs服务端口号,然后根据服务器的回环地址和当前用户对应的nfs服务端口号建立与nfs服务端之间的连接。

进一步的,步骤s1)之前还包括服务器预先配置的步骤,具体包括:服务器为每一个授权用户分别配置对应的nfs服务端口号并生成nfs服务端口号列表,所述nfs服务端口号向对应的授权用户提供独立的nfs服务,代理服务端监听服务器网卡ip和由配置确定的代理服务端口号,nfs服务端监听服务器的回环地址和各授权用户对应的nfs服务端口号。

进一步的,步骤s1)包括以下步骤:

s11)nfs客户端获取用户登录命令并生成当前用户登录请求,对应的代理客户端启动并监听客户机回环地址和随机端口号;

s12)nfs客户端获取nfs文件系统挂载命令并生成nfs挂载请求,设置目标地址和端口号为代理客户端监听的回环地址和端口号,将nfs挂载请求向目标地址和端口号发送;

s13)代理客户端收到nfs挂载请求,根据nfs挂载请求的源地址建立和nfs客户端之间的连接,若连接建立失败,返回步骤s12)等待nfs客户端重试直至超时退出,若连接建立成功则跳转实行步骤s14);

s14)nfs客户端将当前用户登录请求发送给代理客户端,代理客户端根据当前用户登录请求中用户指定的网卡ip和代理服务端口号向代理服务端发出建链请求建立tcp连接,若连接建立失败,则断开nfs客户端和代理客户端之间的连接,返回步骤s11)等待nfs客户端重试直至超时退出,若连接建立成功则跳转实行步骤s2)。

进一步的,步骤s2)包括以下步骤:

s21)安全认证客户端通过代理客户端向代理服务端发送授权请求消息,代理服务端收到授权请求消息后转发给安全认证服务端,安全认证服务端收到授权请求消息后用加密卡生成登录授权随机码,通过代理服务端将登录授权随机码封装成授权请求应答消息后发往代理客户端;

s22)代理客户端收到代理服务端返回的授权请求应答消息并解析得到登录授权随机码,然后将登录授权随机码转发给安全认证客户端,安全认证客户端根据登录授权随机码生成登录安全令牌,然后通过代理客户端将登录安全令牌封装成登录安全验证请求消息并发送至代理服务端;

s23)代理服务端收到登录安全验证请求消息并解析得到登录安全令牌,将登录安全令牌转发给安全认证服务端,安全认证服务端解析登录安全令牌后得到当前登录授权随机码,然后根据当前登录授权随机码验证登录安全令牌合法性,并通过代理服务端将验证结果封装为登录安全验证应答消息后发送至代理客户端;

s24)代理客户端收到登录安全验证应答消息并解析得到验证结果后,将验证结果转发给安全认证客户端,若验证结果内容为校验通过,则代理客户端将当前用户登陆请求发送给代理服务端,然后代理客户端等待并转发nfs协议数据,跳转实行步骤s25);若验证结果内容为校验不通过,则代理客户端同时断开与nfs客户端以及代理服务端之间的连接,nfs客户端返回登录失败消息并结束退出;

s25)代理服务端将当前用户登陆请求中的登录用户名匹配nfs服务端口号列表得到nfs服务端监听的回环地址和当前用户对应的nfs服务端口号,并根据服务端监听的回环地址和当前用户对应的nfs服务端口号向nfs服务端发起连接建立请求,如果连接建立失败,则代理客户端同时断开与nfs客户端以及代理服务端之间的连接并结束退出;如果连接建立成功,则代理服务端等待并转发nfs协议数据。

进一步的,步骤s22)根据登录授权随机码生成登录安全令牌具体包括:安全认证客户端检测到本地usbkey设备接入,获取当前用户输入的pin码,根据pin码对登录授权随机码加密生成登录安全令牌。

进一步的,步骤s23)中根据当前登录授权随机码验证登录安全令牌合法性的步骤具体包括:判断当前登录授权随机码与响应授权请求消息生成的登录授权随机码是否一致,若一致则验证通过,否则验证不通过。

进一步的,步骤s24)中代理客户端等待并转发nfs协议数据具体包括:代理客户端等待并接收nfs协议数据,若所接收的nfs协议数据来自nfs客户端,将nfs协议数据封装并转发给代理服务端,若所接收的nfs协议数据来自代理服务端,将nfs协议数据解析后转发给nfs客户端。

进一步的,步骤s25)中代理服务端等待并转发nfs协议数据具体包括:代理服务端等待并接收nfs协议数据,若所接收的nfs协议数据来自nfs服务端,将nfs协议数据封装并转发给代理客户端,若所接收的nfs协议数据来自代理客户端,将nfs协议数据解析后转发给nfs服务端。

与现有技术相比,本发明的优点在于:

一、本发明的装置在nfs客户端和nfs服务端之间增加了代理客户端和代理服务端,nfs客户端和nfs服务端通过代理客户端和代理服务端建立代理通道,为nfs文件系统的挂载和访问的控制管理提供了有效的介入手段,可以根据安全需要方便地对代理通道各种类型的安全监控进行扩展,同时本发明的装置还在客户机和服务器分别设置安全认证客户端和安全认证服务端,安全认证客户端和安全认证服务端也通过代理客户端和代理服务端进行数据交互,增加了代理通道中数据传输的安全性;

二、本发明中的方法中,nfs服务端只针对回环地址和为授权用户分配的nfs服务端口号提供服务,使得任何外部客户机无法根据服务器ip和标准nfs服务端口号连接nfs服务,所有nfs客户端都必须经过代理通道访问nfs服务端,而完整代理通道的创建必须建立在登录安全认证的基础上,所以显著地提升了访问nfs服务端的安全性。

三、本发明的方法中,代理通道建立的步骤中增加了安全认证流程,安全认证流程与nfs协议数据转发使用相同的代理通道,而且必须安全认证通过代理通道才能完整创建,确保nfs访问请求均使用经过了安全认证的链路,并完成了登录安全认证,有效提升了nfs文件系统访问请求的安全性。

四、本发明的方法中,安全认证流程会对请求挂载nfs文件系统的用户进行授权认证,必须经过合法授权的用户才能对nfs文件系统进行挂载访问,而授权认证依赖于用户提供usbkey设备接入并输入正确的pin码,这种pin码与usbkey硬件分离的方式有效地保障了nfs文件系统访问源头的安全性。

五、本发明的方法中,代理客户端监听随机端口号,代理服务端监听由配置确定的端口号,nfs服务端监听授权用户对应的nfs服务端口号,使得每一个用户使用不同的代理通道进行nfs登录访问,并通过nfs服务端口号提供独立的nfs服务,不同用户之间代理通道完全隔离,有效地提升了数据的安全性,并且降低了单个nfs服务端口故障时无法对所有用户提供服务的风险。

附图说明

图1为本发明实施例一的装置的总体结构示意图。

图2为本发明实施例一的方法的步骤图。

图3为本发明实施例一的方法的流程示意图。

图4为本发明实施例一的方法中步骤s2)的时序图。

具体实施方式

以下结合说明书附图和具体优选的实施例对本发明作进一步描述,但并不因此而限制本发明的保护范围。

实施例一

如图1所示,本实施例提出一种基于代理转发的nfs安全传输装置,包括客户机和服务器,所述客户机包括:

nfs客户端,用于提供标准nfs接入协议,用户通过客户机的nfs客户端进行服务器nfs文件系统的数据存储访问;

安全认证客户端,用于发起登陆授权请求,并根据安全认证服务端返回的登录授权随机码生成登录安全令牌,然后通过登录安全验证请求将登录安全令牌发送给安全认证服务端进行登陆授权申请;

代理客户端,用于将nfs客户端和安全认证客户端的数据请求封装并转发给代理服务端,同时接收并解析代理服务端返回的数据,代理客户端是用户登录过程中,挂载nfs文件系统之前在客户机即时启动的后台进程;

所述服务器包括:

nfs服务端,用于提供标准nfs协议接入服务,使客户机可以像访问本地文件系统一样来访问服务器上共享的文件;

安全认证服务端,用于接收安全认证客户端的登陆授权请求并生成登录授权随机码,同时解析登录安全令牌并验证是否合法;

代理服务端,用于接收代理客户端的请求数据,解析消息类型,根据消息类型分别转发给nfs服务端或安全认证服务端,代理服务端是服务器上常驻的一个用于接收代理客户端请求的服务;

所述nfs客户端、代理客户端、代理服务端和nfs服务端依次连接,所述安全认证客户端和代理客户端连接,所述安全认证服务端和代理服务端连接。

如图1和图3所示,本实施例的nfs客户端、代理客户端、代理服务端和nfs服务端之间建立代理通道,本实施例中的代理通道包括通道①、通道②、通道③共三个部分,其中通道①建立于nfs客户端和代理客户端之间,通道②建立于代理客户端和代理服务端之间,通道③建立于代理服务端和nfs服务端之间,代理通道不仅作为nfs协议数据的承载链路,还用于安全认证流程的报文转发。安全认证流程与nfs协议数据转发使用相同的代理通道,有效提升了nfs文件系统访问请求的安全性。

本实施例中,代理客户端与登录客户机的用户一一对应,每一个登录用户都会启动自己的代理客户端并以此创建本用户的代理通道,代理服务端接收代理客户端的请求,同时负责为各个用户创建与nfs服务端之间的代理通道,使得不同用户之间代理通道完全隔离,有效地提升了数据的安全性。

如图1所示,本实施例中nfs服务端还连接有后端存储,后端存储为nfs服务端的底层文件系统,包括ext4、xfs等本地文件系统,也包括nfs和gfs2等网络或分布式文件系统。

如图2所示,本发明还提出一种基于代理转发的nfs安全传输方法,应用于所述的基于代理转发的nfs安全传输装置,代理通道的建立包括以下步骤:

s1)客户机检测到用户登录nfs客户端,启动对应的代理客户端监听客户机的回环地址和随机端口号,代理客户端监听到nfs挂载请求后建立和nfs客户端之间的连接,若连接建立成功,代理客户端根据当前用户登陆请求中的网卡ip和代理服务端口号,发起与代理服务端之间的连接请求建立和代理服务端之间的连接;

s2)安全认证客户端通过代理客户端和代理服务端向安全认证服务端发起登录安全认证,若认证不通过,则代理客户端断开和nfs客户端以及代理服务端之间的连接;若认证成功,则当前用户为授权用户,代理服务端将当前用户登陆请求中的登录用户名匹配预设的nfs服务端口号列表得到服务器的回环地址和当前用户对应的nfs服务端口号,然后根据服务器的回环地址和当前用户对应的nfs服务端口号建立与nfs服务端之间的连接。

通过上述步骤,nfs服务端只针对回环地址和为授权用户分配的nfs服务端口号提供服务,使得任何外部客户机无法根据服务器ip和标准nfs服务端口号连接nfs服务,所有nfs客户端都必须经过代理通道访问nfs服务端,而完整代理通道的创建必须建立在登录安全认证的基础上,所以显著地提升了访问nfs服务端的安全,代理通道建立的步骤中增加了安全认证流程,安全认证流程与nfs协议数据转发使用相同的代理通道,而且必须安全认证通过代理通道才能完整创建,确保nfs访问请求均使用经过了安全认证的链路,并完成了登录安全认证,有效提升了nfs文件系统访问请求的安全性。

本实施例中,步骤s1)之前还包括服务器预先配置的步骤,具体包括:服务器为每一个授权用户分别配置对应的nfs服务端口号并生成包括服务器的回环地址、用户名和对应的nfs服务端口号的nfs服务端口号列表,所述nfs服务端口号向对应的授权用户提供独立的nfs服务,代理服务端监听服务器网卡ip和由配置确定的代理服务端口号,nfs服务端监听服务器的回环地址和各授权用户对应的nfs服务端口号。

本实施例中,代理服务端监听服务器网卡ip和由配置确定的代理服务端口号(如图3中所示的10.1.2.3:port),nfs服务端监听服务器的回环地址和各授权用户对应的nfs服务端口号(如图3中所示的127.0.0.1:port”),当客户机检测到用户登录nfs客户端时,启动对应的代理客户端开始监听客户机的回环地址和随机端口号(如图3中所示的127.0.0.1:port’),用户挂载nfs文件系统时,指定由代理客户端监听的回环地址和端口号(即图3中所示的127.0.0.1:port’)并发送nfs挂载请求,代理客户端收到nfs挂载请求并完成nfs客户端和代理客户端之间的连接(即图3中所示的通道①),通道①建立后随即创建与代理服务端之间的tcp连接,作为后续认证和数据传输链路,代理服务端接收到代理客户端发来的建链请求并完成建链(即图3中所示的通道②)后,安全认证客户端通过代理客户端开始安全认证流程。当用户登录安全认证通过,代理客户端开启数据代理转发模式,准备为nfs客户端转发nfs数据请求,代理服务端则建立与nfs服务端之间的连接(即图3中所示的通道③),随即开启数据代理转发模式,至此完成整个代理通道的创建。因为nfs服务端监听的为回环地址和nfs服务端口号,所以任何外部客户机ip试图与服务器建立连接都会被拒绝,可以有效地防止安全认证过程被旁路。

本实施例的步骤s1)包括以下步骤:

s11)nfs客户端获取用户登录命令并生成当前用户登录请求,对应的代理客户端启动并监听客户机回环地址和随机端口号;

s12)nfs客户端获取nfs文件系统挂载命令并生成nfs挂载请求,设置目标地址和端口号为代理客户端监听的回环地址和端口号,将nfs挂载请求向目标地址和端口号发送;

s13)代理客户端收到nfs挂载请求,根据nfs挂载请求的源地址建立和nfs客户端之间的连接,若连接建立失败,返回步骤s12)等待nfs客户端重试直至超时退出,若连接建立成功则跳转实行步骤s14);

s14)nfs客户端将当前用户登录请求发送给代理客户端,代理客户端根据当前用户登录请求中用户指定的网卡ip和代理服务端口号向代理服务端发出建链请求建立tcp连接,若连接建立失败,则断开nfs客户端和代理客户端之间的连接,返回步骤s11)等待nfs客户端重试直至超时退出,若连接建立成功则跳转实行步骤s2)。

代理客户端与代理服务端之间的连接建立成功后,安全认证客户端发起用户登录安全认证流程,用户登录安全认证流程通过之后创建代理服务端与nfs服务端之间的连接,完成整个代理通道的创建,如图4所示,本实施例的步骤s2)包括以下步骤:

s21)安全认证客户端通过代理客户端向代理服务端发送授权请求消息,代理服务端收到授权请求消息后转发给安全认证服务端,安全认证服务端收到授权请求消息后用加密卡生成登录授权随机码,通过代理服务端将登录授权随机码封装成授权请求应答消息后发往代理客户端;

s22)代理客户端收到代理服务端返回的授权请求应答消息并解析得到登录授权随机码,然后将登录授权随机码转发给安全认证客户端,安全认证客户端根据登录授权随机码生成登录安全令牌,然后通过代理客户端将登录安全令牌封装成登录安全验证请求消息并发送至代理服务端;

为有效地保障了nfs文件系统访问源头的安全性,本实施例中根据登录授权随机码生成登录安全令牌具体包括:安全认证客户端检测到本地usbkey设备接入,获取当前用户输入的pin码,根据pin码对登录授权随机码加密生成登录安全令牌。

s23)代理服务端收到登录安全验证请求消息并解析得到登录安全令牌,将登录安全令牌转发给安全认证服务端,安全认证服务端解析登录安全令牌后得到当前登录授权随机码,然后根据当前登录授权随机码验证登录安全令牌合法性,并通过代理服务端将验证结果封装为登录安全验证应答消息后发送至代理客户端;

由于可能存在网络故障导致的数据传输错误,使得机械得到的当前登录授权随机码与响应授权请求消息生成的登录授权随机码不一致,因此根据当前登录授权随机码验证登录安全令牌合法性的步骤具体包括:判断当前登录授权随机码与响应授权请求消息生成的登录授权随机码是否一致,若一致则验证通过,否则验证不通过;

s24)代理客户端收到登录安全验证应答消息并解析得到验证结果后,将验证结果转发给安全认证客户端,若验证结果内容为校验通过,则代理客户端将当前用户登陆请求发送给代理服务端,然后代理客户端等待并转发nfs协议数据,跳转实行步骤s25);若验证结果内容为校验不通过,则代理客户端同时断开与nfs客户端以及代理服务端之间的连接,nfs客户端返回登录失败消息并结束退出;

s25)代理服务端将当前用户登陆请求中的登录用户名匹配nfs服务端口号列表得到nfs服务端监听的回环地址和当前用户对应的nfs服务端口号,并根据服务端监听的回环地址和当前用户对应的nfs服务端口号向nfs服务端发起连接建立请求,如果连接建立失败,则代理客户端同时断开与nfs客户端以及代理服务端之间的连接并结束退出;如果连接建立成功,则代理服务端等待并转发nfs协议数据。

本实施例中,代理客户端等待并转发nfs协议数据具体包括:代理客户端等待并接收nfs协议数据,若所接收的nfs协议数据来自nfs客户端,将nfs协议数据封装并转发给代理服务端,若所接收的nfs协议数据来自代理服务端,将nfs协议数据解析后转发给nfs客户端;

代理服务端等待并转发nfs协议数据具体包括:代理服务端等待并接收nfs协议数据,若所接收的nfs协议数据来自nfs服务端,将nfs协议数据封装并转发给代理客户端,若所接收的nfs协议数据来自代理客户端,将nfs协议数据解析后转发给nfs服务端。

对比例一

本对比例与实施例一基本相同,其主要不同点为步骤s1)之前nfs服务端不监听回环地址而改为监听服务器的网卡ip,与之对应的,步骤s2)中代理服务端根据服务器的网卡ip和当前用户对应的nfs服务端口号建立与nfs服务端之间的连接。这种实施方式的缺点是如果获悉了nfs服务端监听的ip地址和端口号,任何可以联通的客户机都有可能绕开安全认证流程,直接访问nfs服务。

对比例二

本对比例与实施例一基本相同,其主要不同点为步骤s2)之后还包括创建新的代理通道的步骤:启动新的代理客户端监听客户机的回环地址和随机端口号,nfs客户端设置新的代理客户端监听的回环地址和端口号为目标地址和端口号并向目标地址和端口号发送nfs挂载请求,新的代理客户端监听到nfs挂载请求后建立和nfs客户端之间的连接,若连接建立成功,新的代理客户端根据当前用户登陆请求中的网卡ip和代理服务端口号,发起与代理服务端之间的连接请求建立和代理服务端之间的连接。

本对比例在步骤s2)的nfs登录安全认证流程结束并成功通过安全检查后,创建新的代理通道专门进行后续nfs协议数据转发,即采用安全认证和数据代理转发通道分离的方式,这种设计方案在创建安全认证的代理通道和数据代理转发的代理通道之间存在时间差,容易被攻击劫持并伪造数据代理转发的代理通道,从而引起数据泄露的风险。

对比例三

本对比例与实施例一基本相同,其主要不同点为步骤s2)具体包括:代理服务端将当前用户登陆请求中的登录用户名匹配预设的nfs服务端口号列表得到服务器的回环地址和当前用户对应的nfs服务端口号,然后根据服务器的回环地址和当前用户对应的nfs服务端口号建立与nfs服务端之间的连接,安全认证客户端通过代理客户端和代理服务端向安全认证服务端发起登录安全认证,若认证不通过,则代理客户端断开和nfs客户端以及代理服务端之间的连接,同时代理服务端断开和nfs服务端的连接;若认证成功,则代理服务端和代理客户端等待并转发nfs协议数据。

本对比例的步骤2)中,代理服务端在接收代理客户端的连接请求并成功建立连接后,马上建立与nfs服务端的连接,完成整个代理通道的创建,然后再进行登录安全认证,安全认证不通过时再拆除整个代理通道的连接。这种实现方案满足了安全认证流程与nfs协议数据转发使用相同的代理通道的要求,但带来了安全认证之前nfs服务端被访问的风险,同时增加了安全认证不通过场景下无意义的资源损耗。

上述只是本发明的较佳实施例,并非对本发明作任何形式上的限制。虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明。因此,凡是未脱离本发明技术方案的内容,依据本发明技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均应落在本发明技术方案保护的范围内。

再多了解一些
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1

威尼斯人棋牌|威尼斯欢乐娱人城

XML 地图 | Sitemap 地图