收藏 分销(赏)

TCPIP网络编程,上传下载客户服务端.docx

上传人:pc****0 文档编号:8912827 上传时间:2025-03-07 格式:DOCX 页数:44 大小:885.30KB 下载积分:10 金币
下载 相关 举报
TCPIP网络编程,上传下载客户服务端.docx_第1页
第1页 / 共44页
TCPIP网络编程,上传下载客户服务端.docx_第2页
第2页 / 共44页


点击查看更多>>
资源描述
摘 要 FTP(File Transfer Protocal,文件传输协议)是Internet上最早提供的服务之一,它通过客户端和服务器端的FTP应用程序在Internet上实现远程文件传送,是Internet上实现资源共享的最方便、最基本的手段之一。FTP服务器广泛应用于我们的工作和生活之中,为了能更好的使用FTP服务器,也为了FTP服务器能适用于更广的人群,F 可以方便地提供更安全,更稳定,更快速的文件传输服务。 关键字: FTP服务器,信息安全,消息号,多线程 ABSTRACT FTP (File Transfer Protocol, File Transfer Protocol) is one of the first to provide the service on the Internet, it is through the client and FTP server for remote file transfer application on the Internet, is the sharing of resources on the Internet the most convenient, basic one of the means .At the same time to enable the FTP server to run more stabler, it needs to own the guard ability attacktion initiatively in network. Under this background, this article elaborated the design and the realization about Secure FTP Server. Through increasing the information security in the application layer of the FTP server (for example, use encryption and decryption to keep data secrecy, such as uses Hash Algorithm to make data integrity, or use digital signature to guarantees anti-denial nature of the data manipulation) so it can guarantee the data safe from the transmission to the reception,which can increase guard to the network attacktion (for instance, use news number and connection number to limit the resists flood attacks and so on,which including in replay attack) ,to guarantee the steadiness of FTP server; The use of multithreading mechanism can realize to prompt receive of the client side information and fast processing, in order to full use server hardware resources and guarantee highly effective running rate.This system conforms to the need in current time, and can be suitable to all situations and the crowd, may provide file transfer service conveniently ,safely, stably,and more faster. Key Words: FTP server,information security,message id, multithreading 目 录 4.2.2 FTP服务 13 4.2.3 FTP客服端 16 第5章 系统设计 17 5.1 系统总体设计 17 5.1.1 架构设计 17 5.1.2 总体设计 18 5.2 系统详细设计 19 5.2.1 套接字应用于网络通信 20 5.2.2 上传子模块设计 21 5.2.3 信息安全处理模块类结构 22 第6章 数据库设计 25 6.1 数据库需求分析 25 6.2 数据库关系设计 25 6.3 数据库表概念设计 26 第7章 系统实现 29 7.1开发平台 29 7.2模块实现 29 第8章 测试运行维护 33 第9章 运行结果 36 第10章 结束语 40 参考文献 42 致谢 43 第1章 引言 1.1 选题背景 FTP服务基于客户/服务器模式。客户首先登录到服务器主机上,然后就可以象在本地计算机上拷贝文件一样,通过网络从服务器主机传送各种类型的文件到本地计算机。这种从 我这里有做好的论文,软件编程,答辩ppt,都是一次过,如果想要的可以直接联系qq676297015, 这个论文我已经打乱 ,但在安全性方面没有多大的发展,原因在于NWG没有把安全性作为FTP的必要组成部分加以考虑。该项目的愿景就是在现有的FTP技术基础上,为FTP注入信息安全的成分,包括保证通信的安全性,完整性,不可抵抗性等等,同时为了免于网络攻击,也为FTP增加了一些抵御网络攻击的措施。 1.2 研究目标和意义 FTP服务器为Internet上的网络用户或企业用户提供文件传输服务,因此FTP服务器的稳健运行非常重要。服务器的性能与数据(即文件)相关[1]。试想一个文件的上传下载遇到破坏或遭受攻击,最小的损失就是损耗网络带宽,文件传输失败,更甚之可能导致重要数据丢失,机密信息泄露。这对于服务方或客户方都是绝对不允许的。今天的信息安全技术业已成熟,但在FTP上的应用却微乎其微,市场需要安全的FTP是不争的事实,甚至是刻不容缓,因此应该在当今成熟的信息安全技术之上,架构符合当今时代要求的FTP服务器。 由于FTP功能众多,所以安全运行的机制和安全工作体系,在此基础上开发出安全FTP服务器软件,该软件将使用目前各种可靠的安全通信算法来保证通信的安全,将集成有效的反攻击技术来保证FTP服务器的安全可靠运行。 明确上传和下载的工作机制,着眼于FTP现存的缺陷开发出既能方便用户上传下载文件,又能保证通信安全,还能方便用户进行安全配置的安全FTP服务器。安全FTP服务器开发成功必将为网络资源的共享提供极大的方便。 现在市场上使用的FTP服务器相对来说还是比较稳健的。其主要市场由Rob Beckers开发的Serv-U FTP Server占领。该软件在安全方面已经支持传输层SSL协议,是个人FTP服务器的首选,当然也有很多商业用户。但在普通传输层上构建应用层数据安全将更具有简单的应用平台,具有更大的市场范围。 服务器和客户端的数据在传输前后(进入传输层前和离开传输层后)进行信息安全处理,保证在通道上传输的数据满足相应的安全要求。这样一方面比使用安全传输层具有更好的平台适应性和适用性,也具有更大的灵活性,能够满足各类用户的实际需求。 多线程机制,可以极大地提高 第2章 FTP安全分析 FTP已有三十多年的发展历史,在这不长的发展时期里,已经具有了一套完整的FTP标准,这 FTP服务器集安全策略和防止不可抵赖性、防止重放攻击的一起的FTP服务器还没有。随着网络和信息安全的不断深入发展,FTP安全方面的问题显得非常重要。 当今社会在,可用性。主要手段是通过加密,签名来实现。机密性是指保证信息不被非授权访问;完整性是指维护信息的一致性,保证信息不被非授权修改;抗否认性是 唯一的固定的HASH值,通过原始消息和散列消息的比对可以确定数据是否被修改,从而实现数据的完整性,常用的散列算法有MD5,SHA等;数据签名体制是保证消息抗否认性的措施,数字签名有基于私钥和公钥机制的两种机制,常用的数字签名方式 ,需要更高的会话处理能力。 2.1 FTP与RFC RFC是Reques 数据连接通道(data connection)。控制连接负责协商各种指定功能的命令,默认端口是21,数据连接负责传输数据,端口由控制连接协商指定。控制连接在会话开始时建立,会话结束时断开,数据连接在需要时由控制连接建立。控制连接在一个会话中只有一个,数据连接在会话中可以没有,也可以有多个。 FTP连接模式:FTP连接模式是指FTP数据连接通道上数据的连接模式。FTP具有两种数据连接模式——主动模式(PORT or ACTIVE)和被动模式(PASV)。主动模式有时称“客户端管理”,由客户端开启一个端口,等待服务器来建立连接。被动模式由服务器开启一个端口,等待客户端向服务器建立连接。一般来讲,主动模式比被动模式更安全。 FTP数据类型:FTP的RFC设计目标之一是通过设计简单易实现的协议来试图满足大型机、小型机、个人工作站、TAC等用户的需要,因此FTP支持多种数据类型,如ASCII编码,EBCDIC编码等。 远程登录:远程登录(Remote Login)指用户通过Internet登录到远程FTP服务器上。Internet上远程登录的主要方式是Telnet,FTP在登录时使用的就是Telnet协议。Anonymous(匿名文件传输)能够使用户与远程主机建立连接并以匿名身份操作远程主机上的文件。 2.2 FTP服务器软件 现在市场上具有多种FTP服务器端或客户端软件产品,这些产品都兼容RFC959最小实现,因此几 于不败之地。 第3章 设计思想 3.1 研究思路 随着信息安全技术的发展,信息安全越来越受到人们的关注。FTP服务器广泛应用于我们的工作和生活之中,为了能更好的使用FTP服务器,也为了FTP服务器能适用于更广的人群,F资源和保证高效的运行速度。该系统符合当前时代的需要,适用于几乎所有场合及人群,可以方便地提供更安全,更稳定,更快速的文件传输服务。 FTP用于管理计算机之间的文件传输,在因特网发展的早期时代用FTP传输文件约占整个因特网通信量的三分之一,只是到了1995年,WWW的通信量才首次超过了FTP[3]。在今天,WWW仍然占据小数据传输的主要市场份额,但对于相对较大的数据的传输FTP的地位不可动摇。 该安全FTP服务器是基于RFC959开发的一个通用FTP服务器,同时它集成了信息安全技术:一方面按实际要求可以对数据进行保密性、完整性、抗否认性等方面的处理,另一方面为了抵抗网络攻击,使用了消息号、连接数控制、IP控制策略等技术。 主要贡献如下: 1、集成信息安全技术:使用加密解密对数据进行保密性保护[4],使用散列值对数据进行完整性保护,使用数字签名对数据进行身份认证即抗否认性保证。以上三个方面可进行多方面的组合,对数据进行综合性保护。 2、抵御网络攻击:使用消息号抵抗重放攻击,保证在用户名和密码安全的前提下服务器的绝对安全。使用连接数控制,IP接入控制来达到负载平衡,使不同的用户可以获取平均的资源,同时该措施也可以减少网络攻击。 3、集成多线程机制:多线程可以更好更有效的使用硬件资源,提高数据处理能力。FTP服务器在接受大量用户接入时,数据处理能力直接关系到其吞吐量。集成多线程即可以提高程序的处理能力,也可以提高用户体验。 本文共分为八个主要部分: 图,工作流程图,体系结构图,类架构图,类图,IPO图等,分别说明系统的总体设计,系统详细设计。 第四部分是系统数据库设计,根据系统分析,采用了数据库关系图和E-R图帮助分析和设计本系统所使用的概念数据库和物理数据库。 第五部分是系统实现,主要通过程序流程图对本系统的几个主要的功能模块的实现进行详细的说明。 第六部分是系统测试、运行与维护,主要说明该系统的开发在这些方面所做的工作。 第 当客户端发送请求连接,并且符合要求后,执行相应的操作,具体如图3-1所示。 输入登录信息 下载 上传 连接 浏览文件 断开 结束 图3-1界面设计流程图 第4章 需求分析 4.1 需求分析 FTP服务器 和信息安全相关模块。FTP的信息安全扩展功能主要包括加密解密,消息散列,消息签名。具体如图4-1所示。 服务器端 客户端 应用层 消息号附加模块 信息安全处理模块 客户请求处理模块 信息安全解析模块 消息号验证模块 应用层 消息号获取模块 信息安全解析模块 客户请求构建模块 信息安全处理模块 消息号附加模块 传 输 层 回复客户请求 图4-1数据流程图 客户请求 数据流程从客户请求构建模块开始,以远程登录为起点,周而复始,到注销为止。 4.2 功能说明 安全FTP服务器是网络应用系统,系统通过服务器端与客户端之间传递命令消息,服务器端从命令消息中获取操作类型和参数。在对相应的命令作处理后,把处理结果封装成回复消息并返回给客户端。 以下为该系统中主要的功能模块,如图4-2所示。 配置用户策略 配置数据库及初始化 配置IP接入策略 配置FTP服务信息 配置FTP站点标识 配置IP资源访问策略 安全FTP服务器 服务器配置 FTP服务 FTP客户端 文件上传 连接服务器 文件下载 配置安全算法 远程登录 连接数控制 远程登录 IP接入控制 其他命令 接入控制 IP重接入控制 匿名用户 系统用户 FTP用户 配置加密算法 配置散列算法 配置签名算法 配置安全级别 端口协商 上传文件 下载文件 删除文件 …… 服务器系统 退出命令 信息安全配置 图4-2功能模块图 4.2.1 服务器配置 服务器配置是在服务器端对FTP服务进行配置的相关工作的总称。 配置数据库及初始化 数据库采用工厂模式架构,用户可以根据自己的喜好等选择自己的数据库类型[5],并配 建立在应用程序中完成。该配置写入配置文件(以下未做注明都视为写入配置文件),该配置立即生效(以下未做注明都视为立即生效)。 配置FTP站点标识 配置FTP站点标识包括配置服务器FTP服务的服务描述,IP地址,根目录等信息。IP地址和根目录是必须的配置。IP地址为空或“ANY”时为关联本机上所有IP地址。 该配置写入数据库,该配置在服务下一次启动时生效。 配置FTP服务信息 配置FTP服务信息包括FTP日志启用配置,FTP资源访问控制配置(拒绝访问、允许访问、使用IP限制访问、使用用户策略限制访问),FTP安全传输管理(是否使用加密措施、是否使用消息号),FTP匿名允许访问配置,FTP连接控制配置(限制连接数、限制连接超时、使用IP接入控制)等。 该相关配置在服务下一次启动时生效。 配置用户策略 用户策略就是用户管理,包括用户的添加、修改、删除等功能。通过把用户分属到不同的用户组,使用户具有不同的操作权限,从而控制用户的操作能力,保证资源的可控制访问。 该配置写入数据库。 配置IP接入策略 该系统在客户端请求建立连接时,会对客户端IP地址进行检测,如果该地址被服务器端阻止,则不予建立FTP会话。配置接入IP策略就是为了阻止建立FTP会话的客户端IP地址。在配置时,可以阻止一个IP,也可以阻止一个IP地址段。 该配置写入数据库。 配置IP资源访问策略 该系统在客户端访问资源时,对客户IP进行了检测,对于阻止访问资源的IP地址不予资源的访问能力。配置资源访问IP策略就是为了满足该方面的需求。在配置时,可以阻止一个IP,也可以阻止一个IP地址段。 该配置写入数据库。 4.2.2 FTP服务 FTP服务 FTP服务是FTP服务器为客户端提供资源服务的功能的集合。 接入控制 接入控制是在客户端建立TCP连接后对客户端进行的一系列检测,确定是否为该客户连接建立FTP会话。 连接数控制 为了阻止一些网络攻击,该系统允许用户配置是否使用连接数控制。在使用连接数控制时,客户端连接超过连接数上限时,将暂时不再建立会话。此后的客户端将竞争建立FTP会话。这样可以从一定程度上保证负载均衡。 IP接入控制 IP接入控制是在客户建立TCP连接后,对客户端的IP进行检测,如果该IP已经被阻止,则关闭TCP连接,不建立FTP会话。 该功能是为了阻 。当一个IP上的客户试图建立新的会话时,FTP服务器将主动断开TCP连接,不予建立FTP会话。 远程登录 远程登录是客户端用户通过Internet对服务器资源访问之前的用户验证。该功能通过命令消息传递客户端用户的用户名和密码,服务器接收后提取参数并在服务器端进行登录验证。 匿名用户 匿名用户是指以“ANONYMOUS”为用户名登录FTP服务器的用户。该类用户能够访问FTP服务器上的公有资源。该类用户无需密码验证,只需向服务器声明用户名即可访问服务器资源。 系统用户 系统用户是指FTP服务器所在主机的操作系统的用户。这类用户的验证是由操作系统完成的。该类用户具有最高级别的资源访问权限,属于超级用户组成员。 FTP用户 FTP用户是指由FTP管理员管理的所有用户,这类用户的信息存储在数据库中。由管理员将其分配到不同的权限组,赋予不同的操作权限。 信息安全配置 该功能模块是在RFC959标准上扩展的信息安全模块。主要用于客户端配置具有自我选择的安全算法及算法属性。配置信息保存在数据库中。 配置加密算法 加密算法是为了保证数据的保密性而使用的。配置加密算法包括配置对称加密算法(配置命令为CONS)和配置非对称加密算法(配置命令为CONA)。在系统中可使用的对称加密算法包括DES,RC2,Triple-DES/3DES,AES/Rijndael等,非对称算法包括RSA等。 配置散列算法 配置签名算法 配置安全级别 安全级别包括明文传输(SN),加密解密级(SE),完整性级(SH),签名级(SD),及相关的组合级别:SHE、SED、SHD、SEHD等。 其他命令 该类命令主要是RFC959标准命令集中的命令。RFC959标准命令集包括USER、PASS、ACCT、CWD、CDUP、SMNT、REIN、QUIT、PORT、PASV、TYPE、STRU、MODE、RETR、STOR、STOU、APPE、ALLO、REST、RNFR、RNTO、ABOR、DELE、RMD、MKD、PWD、LIST、NLST、SITE、SYST、STAT、HELP、NOOP等三十三个命令。 端口协商 端口协商是指在服务器与客户端传输数据之前,双方为建立数据连接所做的准备工作。在主动模式下,客户端通过PORT命令和服务器完成端口的协商,客户端把自己的侦听端口告知服务器。在传输数据时,服务器主动连接客户端的侦听端口,建立数据连接,然后传输数据。 上传文件 上传文件是指客户端把文件保存到服务器上。上传文件先通过控制连接协商数据连接端口,在完成该工作后,客户端通过使用STOR等命令将本地文件上传到服务器。 下载文件 下载文件是指客户端从服务器获取文件资源。 其他 除上面涉及到的5个扩展命令及5个标准命令,还有二十多个标准命令,同时在实际使用中,还有一些常用的扩展命令,如SIZE命令用于获取文件的大小。 4.2.3 FTP客服端 FTP客户端用于从服务器获取文件服务,简单来讲包括文件存储服务和获取文件资源两大类服务。FTP客户端是FTP服务器对应的一部分。客户端主要构建服务器所支持的各命令,将合法的命令发送到服务器,然后获取服务器提供的命令相关操作结果。 第5章 系统设计 5.1 系统总体设计 FTP服务器端由一个FTP服务器配置的窗体应用程序和一个提供服务的Windows服务组成。前者负责配置FTP服务所需要的各种参数,后者负责为客户提供永久的服务。服务器配置实时写入配置文件或数据库,服务在启动时读取配置文件并以新的服务器参数运行FTP服务。 5.1.1 架构设计 由于服务器的特殊性——需要长期的不间断的运行,所以用Windows服务来承载FTP。但为了达到FTP服务器具有通用性的目的,需要把FTP的一些功能参数化,通过参数的值决定功能的开启与关闭等。同时由于Windows服务环境下运行的FTP服务需要相关的配置或其他操作及管理等,因此FTP服务器还需要能够提供用户交互的窗体应用程序对FTP服务器进行管理,如图5-1所示。 服务端 图5-1系统架构图 安全FTP服务器采用C/S进行顶层架构,服务器端由FTP服务器,配置终端和数据库管理系统组成(如有必要可添加防火墙等以增加安全性)。服务器和客户端通过Internet进行沟通交流。安全FTP服务器由用于配置和管理FTP服务器的一个窗体应用程序和一个对外提供FTP服务的Windows服务组成。窗体应用程序对FTP服务器进行服务器端的相应配置,并保存到配置文件和数据库中。Windows Service接收远程主机的连接,为远程主机上的用户提供文件传输等服务。 5.1.2 总体设计 安全FTP服务器的数据处理是围绕命令来进行的,一条命令就是一个完整的处理流程。不同的命令决定了不同的功能(即请求的服务)。 系统工作流程: 该系统服务器端和客户端的工作流程组成一个完整的工作流程环路。如5-2图所示。 图5-2服务器和客户端工作流程图 客户端工作流程分为两部分。在建立连接时获取一个消息号或者使用上一次命令请求返回的消息号,每次请求首先构建一个请求消息发送给服务器,然后等待服务器处理完 图5-3 用户端用例图 5.1.3 套接字应用于网络通信 socket 在所有的网络操作系统中都是必不可少的,而且在所有的网络应用程序中也是必 3、在windows系统中,socket属于文件系统的一部分,网络通信可以被看作是对文件的读取,使得我们对网络的控制和对文件的控制一样方便,如图5-3所示。 进程B 进程A 网络协议 网络协议 套接字 套接字 图5-3 套接字的功能 5.1.4 上传子模块设计 定位要上传的文件和保存路径 发送上传文件的请求 请求失败 保存文件 获取远程文件内容 提示出错信息 获取失败 图5-4 上传文件模块工作流程图 从活动图中,我们更能直观的了解该子用例的整个工作流程如下: (1)系统定位上传文件和保存路径。 (2)发送上传文件请求。 (3)如果请求失败,则提示出错信息,然后结束。 (4)如果请求成功,传输本地的文件到服务器。 (5)如果文件传输失败,则提示出错信息,然后结束。 (6)如果传输文件成功,提示传输成功,然后结束。 5.1.5 信息安全处理模块类结构 信息安全处理模块使用了一个类作为载体。加密解密,散列及其验证,签名及签名验证的基本实现(业务逻辑层)都集中在该类中,如图5-6、5-7所示。 图5-6 信息安全处理模块类结构 图5-7 FTP主模块类结构 散列是通过Hash实现的,GetHash和VerifyHash是散列和散列验证的实现方法。 数据签名的实现方法是SighHash和VerifyDS。 ByteToString、StringToByte、Key等为辅助方法。 以下为对称加密解密的详细设计及其调用的IPO图(该类中其他模块的设计思路相同): 1、配置对称加密解密算法,具体如图5-8所示。 1、对称加密解密算法名称 2、块大小 3、初始化向量 4、密钥大小 5、密钥向量 6、密码模式 7、填充模式 输入 1、用算法名建立一个算法实体 2、配置块大小 3、配置初始化向量 4、配置密钥 5、配置密码模式 6、配置填充模式 1、合法的对称加密解密算法实体 处理 输出 图5-8配置对称加密解密算法IPO图 对称算法配置是为了保存客户加密解密算法的相关参数,从而使加密解密具有确定性,达到信息保密性的特性并能获取明文信息。对称算法配置是从必要参数获取一个对称算法实体,从这些参数可以获取一个惟一的对称算法,这样可以保证在不用的时刻,不同的环境下,用相同的加密解密算法对数据进行加密解密。 2、对称加密解密,具体如图5-9所示。 1、明文/密文字节数组 2、对称加密解密算法实体 输入 1、加密/解密 1、密文/明文字节数组 处理 输出 图5-9对称加密解密IPO图 对称加密把明文经过加密处理变成密文输出。对称加密需要输入加密算法,在解密时需要使用相同的加密算法,即解密算法与加密算法完全相同才能保证获取正确的明文解析。对称解密是对称加密的逆过程,是把密文还原成明文的过程。 3、信息安全处理模块的调用,具体如图5-10所示。 图5-10 FTP主模块中ToSecurity方法对信息安全处理模块的调用IPO图 1、回复客户端消息的明文字节数组 2、关联客户端的对称加密解密算法实体 输入 1、信息安全处理模块中的加密处理 1、回复客户端的密文字节数组 处理 输出 第6章 数据库设计 在安全FTP服务器中,需要保存大量的信息。采用数据库是较好的解决方案。需要持久化的信息包括用户权限组,用户信息,用户安全配置,客户访问日志,服务器配置日志等。 6.1 数据库需求分析 数据库在该系统将和文件系统一样作为数据的一个主要承载体。数据库主要是记录部分配置信息和日志信息等。 6.2 数据库关系设计 由于系统提供的文件传输服务既要关系到用户,又要关系到服务器的服务,因此数据库中的顶层外键几乎都同时关联到用户表和服务表。如图6-1所示。 图6-1 安全FTP服务器系统数据库键关系图 6.3 数据库表概念设计 以下通过E-R图描述涉及到的各张表的概念设计。 系统用户权限表 用户权限表(TSYSGROUP)记录用户分组。标识各个用户组的用户所拥有的操作权限,默认有对FTP服务器上的资源的读,写,读写,删权限。如图6-2所示。 图6-2系统用户权限表 用户权限表 组标识 组名 权限 状态 备注 FTP服务表 FTP服务表(TFTPSERVICE)记录当前FTP服务的记录,如图6-3所示。 图6-3 FTP服务表 FTP服务表 服务标识 服务描述 本地IP 本地端口 主目录 系统用户基本信息表 系统用户基本信息表(TSYSUSER)记录用户的基础信息,包括用户标识,用户名,密码,所属用户权限组标识等信息[7]。 客户IP地址表 客户IP地址表(TCIPADDRESS)记录接入控制和资源访问控制中拒绝的IP地址和IP地址段。 用户密钥表配置安全相关的算法信息。如图6-4所示。 图6-4用户密钥表 用户密钥表 标识 从属服务标识述 从属用户标识 密码分类 密码算法 明文块长 返回块长 密 初始化向量 密码本模式 密码填充模式 备注 客户日志表 客户日志表(TCLIENTLOG)记录客户访问FTP服务器的控制请求信息和服务器回复信息。无论加密,散列,签名都保存接收到的原始信息。 服务日志表 服务日志表(TSERVICELOG)记录FTP服务器上服务的配置信息的更新情况。为信息安全提供可回溯的历史记录。 数据库表物理设计 以下为数据库中关键表的物理设计。如表6-1和表6-2所示。 表6-1 系统用户权限表 字段名 数据类型 长度 约束 字段含义 ID INT IDENTITY 主键 标识 SGNAME BINARY 1B 非空 唯一 权限组名 SGPURVIEW VARCHAR 1024 非空 权限 SGISLIVE TINYINT 非空 默认 是否存活 SGWDATE DATETIME 非空 默认 写入日期 表6-2用户密钥表 字段名 数据类型 长度 约束 字段含义 ID INT IDENTITY主键 标识 SKFSID INT 非空 外键 从属服务标识 SKSUID INT 非空 外键 从属用户标识 SKTYPE VARCHAR 10 非空 密码分类 SKALGO VARCHAR 50 非空 密码算法 SKBLOCKLENGTH INT 明文块长 SKFEEDBACKSIZE INT 返回块大小 SKKEY VARCHAR 5120 密钥 SKIV VARCHAR 5120 初始化向量 SKMODE VARCHAR 50 密码本模式 SKPAD BIT 密码填充模式 SKISLIVE TINYINT 非空 默认 记录状态 SKWDATE DATETIME 非空 默认 写入时间 SKREMARK VARCHAR 200 备注 第7章 系统实现 该系统要求较高的信息安全处理,倘如自己实现各种安全算法,可能会有各种不可预期的问题。因此采用在应用层封装较好的开发环境不仅能有好的使用平台适宜度,同时可以增加应用程序的开发速度。 7.1开发平台 在开发环境上,微软的Visual Studio .NET 具有较高的可视化程度[9],具有方便的交互性,同时其框架支持当前各种信息安全算法,因此集成开发环境选择VS2010,开 7.2模块实现 由于选用C++作为开发语言,面向对象的开发思想将步步体现。数据库对象采用工厂模式三层架构封装。 层,业务逻辑层,界面显示层封装数据,将各个层面分离,做到便于团队协作开发和项目维护。由于该系统从很大程度上属于网络应用系统,在开发中将各种信息对象化,如FTP服务会话中的服务器信息和客户端信息[10]。 用户登录 用户登录包括用户连接和用户验 TP服务器,该IP地址是否已经建立过连接(不允许一个IP地址上的多个FTP会话),如果满足则返回消息码220标识连接成功,否则返回426标识连接失败,如图7-1所示。 图7-1用户连接程序流程图 Y Y IP允许检测 建立连接 返回消息426 关闭连接 返回消息220 IP重登录检测 未登录 建立会话处理 允许 在通过用户连接检测后,将对用户登录信息进行验证。用户登录验证包括以下三种情况: 1、匿名用户登录验证首先检测FTP服务器是否允许了匿名登录,允许则进入用户密码验证阶段(空流程),否则验证失败。 2、系统用户的验证首先保存用户名,在接收了密码命令后提取密码,然后由操作系统判断用户名和密码的正确性。对于系统用户名和密码正确的则登录验证成功,否则验证失败。 3、FTP用户也是先保存用户名,在接收了密码命令后提取密码,然后由FTP系统从数据库中查询用户名和密码进行验证,用户名和密码在数据库中存在则登录验证成功,否则验证失败。 无论哪类用户,验证通过的客户端将获得“230”的消息码,并可进入服务请求流程。否则登录失败。 连接验证和用户登录验证都通过的用户才能建立FTP会话,才能获取FTP服务器提供的文件传输等服务,否则该连接将被服务器主动断开,客户端连接及获取服务失败。 设置对称加密算法 设置对称加密算法的命令为CONS,设置对称加密算法是为了在用户安全级别使用了加密时有可用的加密算法使用。 设置对称加密算法时用户需要提供对称加密解密算法名及相应的四个算法参数(块大小,初始化向量,密钥大小,密钥)。算法名包括DES、AES等,参数为相应算发支持的块大小和用户自己指定的密钥信息。 对于设置成功的用户将获得“200”的消息码,否则设置失败。 这种现象一般由以下五个方面的原因导致: 1.FTP 站点权限设置 2. NTFS权限设置 3. 用户权利设置 4. 输入完整的用户名 5. FTP对用户密码的限制 因FTP采用基本验证方式,所以基本验证的用户权利要求也适用于FTP验证。基本验证方式要求访问的用户对目标主机具有从网络访问此计算机和在本地登录两种权限。这两种权限需要在安全策略中设置。在Windows2000中,存在三种安全策略:域安全策略,本地安全策略,域控制器安全策略,它们的优先级为:域控制器安全策略、域安全策略、本地安全策略。在设置安全策略时需注意有效的策略中允许用户从网络访问此计算机和在本地登录两种权限。 以下为用户登录验证的程序设计流程如图7-2所示。 图7-2 用户登录验证的程序设计流程 Y Y Y 是否匿名用户 返回消息331 是否OS用户 是 保存用户名 是 密码验证 OS密码验证 返回消息501 是否匿名用户 是 返回消息230 Y Y 允许匿名登录 允许 返回消息501 FTP密码验证 通过 通过 Y 第8章 测试运 第9章 安全FTP服务器系统具有很强的交互性,在开发中会有很多问题是不能通过想象和经验进行预计和处理的,因此只能通过测试等软件开发手段来发现问题并解决问题。 测试 该系统的主要进行了以下几个方面的测试:单元测试、功能测试、性能测试、安装/部署测试等[11]。 单元测试 为了确保在开发中实现了所有的需求,同时也为了使项目代码满足各种编码规范,在正式测试之前对代码进行了人工排查,对系统进行了静态单元测试——代码审查。 程序中有齐全的各种注释:各种方法都有功能描述,方法中的功能模块具有功能的相关描述;参数和返回值也有相关的文字描述;除局部变量外都进行了变量的含义注释。 方法,变量等都使用了统一的命名规范。本系统的开发完全遵照C++的编码规范,如代码按行进行书写,一行只有一个语句等等,变量使用camelCase(驼峰) 命名规范进行命名。命名空间也使用了规范的命名规则和组织规则。 如上这些规范都可以提高代码的可读性和系统的可维护性。 通过代码审查可以发现一些显而易见的逻辑错误和功能缺失,这些先期的处理可以为后面的测试节省时间和测试代价[12]。 功能测试 功能测试主要是对需求中的各功能要求进行测试性运行,保证系统的正确运行。 在测试中,首先进行了用户界面和适用性的测试。使产品更具人性化,人们在使用时更加灵活、舒适,提高软件使用者——客户的体验。 使用基于功能需求的回归测试对项目进行各个功能的验证。在测试中发现功能缺陷或其他的不足,返回到代码中修改这些不足,然后继续进行测试。直到满足所有功能需求为止。 安装/部署测试 该系统的设计初衷之一就是具有较好的平台适用性,能满足不同的人群不同的需求。安装部署测试主要就是为了对该方面的需求进行测试。 该系统采
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服