企业文件传输系统用户手册企业文件传输系统用户手册东南融通文件传输产品组2009-1-23企业文件传输系统用户手册1企业文件传输系统简介随着业务的发展,企业各系统的大量数据文件(信息资产)需要通过网络进行传输。这些信息资产包含了大量的业务数据、客户信息、商业秘密等对企业的业务甚至存亡密切相关的内容,一旦发生数据泄漏事件,企业不单要承担保密数据本身价值的损失,严重的时候还会影响企业的声誉和公众形象,并引起法律问题。确保企业的信息资产在传输过程中的安全意义重大。企业文件网络传输安全的核心是:身份认证,数据加密和完整性保障。企业文件传输系统能使企业数据安全、完整、高效的在网络上传输,确保企业信息资产的交换安全。企业文件传输系统有客户端并发连接数控制,以及服务端总并发数控制。企业文件传输系统能集成外部程序,通知文件就绪。企业文件传输系统有完善的统计和审计功能。企业文件传输系统可支持所有unix、Linux、windows操作系统。企业文件传输系统是企业文件传输安全问题的产品级解决方案。企业文件传输系统简称eft(Thekeywordeftisshortforenterprisefiletransmission.)。2eft原理2.1技术原理以太网链路层网络层传输层应用层TCP协议IP协议以太网协议应用协议内核处理通信细节应用进程处理应用细节节点认证加密指纹运算指纹校验压缩节点认证解密指纹运算指纹校验解压缩eft采用TCP/IP协议。客户端和服务端建立可靠的,全双工的面向连接的字节流网络链接,传输应用指令和数据。企业文件传输系统用户手册客户端在通过身分认证后,向服务端发送指令和经过压缩和加密的数据,实现文件安全,高效的传输。数据在通信的两端会经过指纹信息的校验,以确保数据的完整性。客户端和服务端程序皆用c语言开发,应用socket进行网络通信,使用unix/linux/windows信号量和共享内存实现进程同步和资源共享,使用信号机制控制网络超时,服务端采用并发服务模式。加密算法使用RSA算法,AES算法,DES算法,RC4算法,MD5算法;压缩算法使用gzip算法。2.2典型场景进程结构图以下图示:客户端向服务端上传较大文件时的进程结构原理图。客户端进程结构服务端进程结构网络I/O进程文件I/O;解加密运算;MD5运算进程文件I/O;加解密运算;MD5运算进程共享内存共享内存网络I/O进程客户端和服务端分别并发两个进程,协作完成文件传输。其中一个进程负责非网络I/O(文件I/O;加解密运算;MD5运算进程),另一个进程负责网络I/O。客户端:一个进程将读取文件中的数据,并进行相关加密运算、MD5运算,并将加密数据写入共享内存中;另一个进程从共享内存中读入数据进行网络传输。服务端:一个进程接收数据,并写入共享内存中,另一个进程从共享内存中读取数据进行解密运算、MD5运算,并将数据写入文件。两个进程通过PV操作进行数据同步控制。2.3安全策略2.3.1节点认证节点从物理上讲是一台单独的服务器,从逻辑上讲是一个单独的数据交换方。需要相互交换数据的系统必须是两个独立的且被管理的节点。节点间必须通过认证后,才能进行数据传输。节点认证采用RSA非对称加密算法。企业文件传输系统用户手册2.3.2节点权限每个节点最多有三种权限:查询,上传,下载。可赋与节点这三种权限的任意组合。类似于文件权限(读写执行rwx)管理。2.3.3数据加密及解密使用对称加密算法AES,DES或RC4。通过节点认证后,随机生成一个加密密钥,对传输的数据进行加解密,确保数据安全。加密密钥在客户端和服务端交换前,对其使用RSA算法进行加密。2.4完整性策略使用MD5信息摘要算法。应用数字签名技术,生成文件的指纹信息。对传输两端的对等文件进行指纹比对,如果指纹信息相同,则表明数据是完整的,否则会导致传输失败。2.5大文件传输效率策略eft的传输效率有以下两种策略:1.压缩策略使用压缩/解压缩算法gzip。对于平面文件压缩比为70-80%,换言之1000M的平面文件,压缩后大小为200-300M。使用压缩方式,客户端和服务端分别增加了压缩和解压缩开销,但在客户端和服务端可节省加密运算开销,指纹运算开销,网络传输开销。能显著提高大文件的传输性能。2.并发策略在传输的一端,使用多进程/多线程技术,使文件IO,加密,MD5运算和网络IO由不同的进程/线程进行并行处理,充分利用计算机的CPU和内存资源,提高文件传输效率。2.6并发传输数控制eft具有对不同客户端节点并发连接数的控制能力和对服务端节点总并发数的控制能力,以防止网络拥塞或攻击。在服务端可以配置每个客户端节点的最大的并发传输数,当某个客户端的传输请求数超过此节点的最大并发传输数时,服务端会拒绝接受请求。在服务端可以配置服务端的最大并发传输数,当服务端的传输请求数超过最大并发传输数,服务端会拒绝接受请求。企业文件传输系统用户手册2.7传输智能化对于小文件,不需要进行压缩,当传输命令指定为压缩时,传输程序会自动进行纠正。也不需要进行并发处理,程序自动采用单进程模式。3eft安装、配置及使用3.1unix系统3.1.1安装客户端和服务端安装步骤相同,都按照以下顺序进行安装。1)在环境变量中增加以下定义不同的用户可能会使用不同的shell,和操作系统进行交互,以下是常见shell环境变量的更改方式。bash的更改方式:在~/.bash_profile的文件尾增加如下信息exportEFTDIR=$HOME/eftexportPATH=$PATH:$EFTDIR/bin/运行.~/.bash_profileksh的更改方式:与bash类似,环境变量文件为.profilecsh的更改方式:在~/.cshrc的文件尾增加如下信息setenvEFTDIR/home/edit/ctm/eftsetenvPATH$EFTDIR/bin:$PATH运行source~/.cshrc2)创建目录mkdir-p$EFTDIR3)解压缩安装包eft_bin.tar将安装tar包放到$EFTDIR,并且解开此包,运行tar–xvfeft_bin.tar解开后,会生成两个目录$EFTDIR/bin/,$EFTDIR/etc/。$EFTDIR/bin/目录下存放可执行程序,$EFTDIR/etc/目录存放配置文件和密钥文件。企业文件传输系统用户手册3.1.2配置3.1.2.1客户端客户端配置文件$EFTDIR/etc/remote_node.cfg相当于DNS,用来解析远程节点的IP和端口号。修改$EFTDIR/etc/remote_node.cfg#remotenodeconfig(node_nameipport)srv192.168.2.1008000请按照实际情况进行修改。此文件配置需要进行文件交换的远程节点信息,包括远程节点名称,远程节点的IP地址,远程节点的监听端口号。3.1.2.2服务端服务端配置文件$EFTDIR/etc/eft.cfg,配置服务端的节点名称、IP、PORT、最大连接数、各个客户端节点的最大连接数、数据传输的超时时间、传输后处理程序路径等。修改$EFTDIR/etc/eft.cfg#eftserverconfigurationsnodelahip_addr192.168.2.100port8000log_level5#themaxnumberofconnectionsmax_conns30#theothernode(s)maxnumberofconnectionsnode_lah3node_edip5#defaultnode'smaxnumberofconnectionsis2#dealing16kdata'smaxsecondsoftransmition,unencryptionanddigestcomputingrw_time_limit3#thepost_dealprogramafterthefileuploadingfinishedfile_upload_post/home/ap/ods/bin/file_upload_post.sh请按照实际情况进行修改。配置的一些限制条件:每个客户端的最大连接数只能配置在区间[1,10],如果配置无效,设置为2服务端的最大并发连接数只能配置成在区间[5,30],如果配置无效,设置为30企业文件传输系统用户手册3.1.3eft使用在已经安装eft安装包的节点上,可使用eft。主要包括节点密钥和权限管理,服务端服务启动、关闭,客户端可执行程序。3.1.3.1节点密钥和权限管理运行node_manager,进行节点密钥和权限管理。node_managernodpermissionshostname[tryout_days]nod是不长于5位的节点名称。permissions指的是三位权限:分别表示上传、下载、查询。用0表示无相应权限,1表示有相应权限。hostname是要运行传输软件节点的主机名称。(对应为命令hostname的返回值)。tyrout_days是试用天数比如运行:node_managerODS101lah60将产生两个文件:ODS.license此文件是私钥文件,需要严格保密。ODS.pubkey此文件是公钥文件,需要公开给所有相关节点。节点ODS的权限是:上传和查询,ODS节点不能下载其它节点上的文件。节点ODS必须在主机名为lah的机器上运行。本软件的试用期是生成密钥时的时间至其后的60天。节点密钥和极限管理由厂商进行统一管理:统一生成节点密钥文件(公钥和私钥),统一进行节点权限管理,统一进行密钥的发放。用户根据需要提出申请。申请时,用户只需要提供:节点名称、权限、主机名。联系方式请参见:产品支持3.1.3.2客户端通过客户端的命令行接口,可上传本地文件至远程节点,下载远程节点文件至本地,查询远程节点上的文件,查看某服务端的状态。1.上传或下载文件eft_appnodlocal_fileremote_fileaction[-c][-e][-eaes][-edes][-erc4]eft_app客户端可执行程序名称nod:远程接点名称local_file:本地文件的绝对路径remote_file:远程文件的绝对路径action:0代表上传;1代表下载可选项:-c表示数据压缩传输。-e表示表示加密算法使用AES算法。-eaes表示加密算法使用AES算法。-edes表示加密算法使用DES算法。企业文件传输系统用户手册-erc4表示加密算法使用RC4算法。查询远程节点文件:eft_appnodremote_file以上操作,节点必须有相应的权限。2.查询远程节点的状态:eft_appnod以上操作,节点必须有相应的权限。3.1.3.3服务端通过服务端的命令行接口,可启动服务,关闭服务,显示服务当前状态。1.eftstart启动服务读取服务端配置,启动传输服务2.eftstop关闭服务关闭传输服务3.eftshow显示服务状态内容如下:------enterprisefiletransmissionproductV2.0serverapplication------Copyright@2008-2009longtopAllrightsreserved.----------------welcometousethissoftware----------------Theeftisupsince:2009092819:46:35Thesystem'scurrenttime:2009092901:09:07Thesystem'sinfomation:hostname(lah)OS(Linux)release(2.4.20-8)hardwaretype(i686)theserver'sconfiginformation:nodeis[edip]ip_addris[192.168.2.100]portis[8000]towriteorread16kbytes'stimeout[3se