TCPIP網(wǎng)絡(luò)編程,上傳下載客戶服務(wù)端_第1頁(yè)
TCPIP網(wǎng)絡(luò)編程,上傳下載客戶服務(wù)端_第2頁(yè)
TCPIP網(wǎng)絡(luò)編程,上傳下載客戶服務(wù)端_第3頁(yè)
TCPIP網(wǎng)絡(luò)編程,上傳下載客戶服務(wù)端_第4頁(yè)
TCPIP網(wǎng)絡(luò)編程,上傳下載客戶服務(wù)端_第5頁(yè)
已閱讀5頁(yè),還剩55頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、摘要FTP(FileTransferProtocal,文件傳輸協(xié)議)是Internet上最早提供的服務(wù)之一,它通過(guò)客戶端和服務(wù)器端的FTP應(yīng)用程序在Internet上實(shí)現(xiàn)遠(yuǎn)程文件傳送,是Internet上實(shí)現(xiàn)資源共享的最方便、最基本的手段之一。FTP服務(wù)器廣泛應(yīng)用于我們的工作和生活之中,為了能更好的使用FTP服務(wù)器,也為了FTP服務(wù)器能適用于更廣的人群,F(xiàn)可以方便地提供更安全,更穩(wěn)定,更快速的文件傳輸服務(wù)。關(guān)鍵字: FTP服務(wù)器,信息安全,消息號(hào),多線程ABSTRACTFTP (File Transfer Protocol, File Transfer Protocol) is one of

2、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 n

3、eeds 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

4、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

5、 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 ser

6、ver 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

7、id, multithreading目錄TOC o 1-3 h z u HYPERLINK l _Toc420162544 4.2.2 FTP服務(wù) PAGEREF _Toc420162544 h 13 HYPERLINK l _Toc420162545 4.2.3 FTP客服端 PAGEREF _Toc420162545 h 16 HYPERLINK l _Toc420162546 第5章系統(tǒng)設(shè)計(jì) PAGEREF _Toc420162546 h 17 HYPERLINK l _Toc420162547 5.1 系統(tǒng)總體設(shè)計(jì) PAGEREF _Toc420162547 h 17 HYPERLIN

8、K l _Toc420162548 5.1.1 架構(gòu)設(shè)計(jì) PAGEREF _Toc420162548 h 17 HYPERLINK l _Toc420162549 5.1.2 總體設(shè)計(jì) PAGEREF _Toc420162549 h 18 HYPERLINK l _Toc420162550 5.2 系統(tǒng)詳細(xì)設(shè)計(jì) PAGEREF _Toc420162550 h 19 HYPERLINK l _Toc420162551 5.2.1套接字應(yīng)用于網(wǎng)絡(luò)通信 PAGEREF _Toc420162551 h 20 HYPERLINK l _Toc420162552 5.2.2 上傳子模塊設(shè)計(jì) PAGEREF

9、 _Toc420162552 h 21 HYPERLINK l _Toc420162553 5.2.3 信息安全處理模塊類(lèi)結(jié)構(gòu) PAGEREF _Toc420162553 h 22 HYPERLINK l _Toc420162554 第6章數(shù)據(jù)庫(kù)設(shè)計(jì) PAGEREF _Toc420162554 h 25 HYPERLINK l _Toc420162555 6.1 數(shù)據(jù)庫(kù)需求分析 PAGEREF _Toc420162555 h 25 HYPERLINK l _Toc420162556 6.2 數(shù)據(jù)庫(kù)關(guān)系設(shè)計(jì) PAGEREF _Toc420162556 h 25 HYPERLINK l _Toc4

10、20162557 6.3 數(shù)據(jù)庫(kù)表概念設(shè)計(jì) PAGEREF _Toc420162557 h 26 HYPERLINK l _Toc420162558 第7章系統(tǒng)實(shí)現(xiàn) PAGEREF _Toc420162558 h 29 HYPERLINK l _Toc420162559 7.1開(kāi)發(fā)平臺(tái) PAGEREF _Toc420162559 h 29 HYPERLINK l _Toc420162560 7.2模塊實(shí)現(xiàn) PAGEREF _Toc420162560 h 29 HYPERLINK l _Toc420162561 第8章測(cè)試運(yùn)行維護(hù) PAGEREF _Toc420162561 h 33 HYPER

11、LINK l _Toc420162562 第9章運(yùn)行結(jié)果 PAGEREF _Toc420162562 h 36 HYPERLINK l _Toc420162563 第10章結(jié)束語(yǔ) PAGEREF _Toc420162563 h 40 HYPERLINK l _Toc420162564 參考文獻(xiàn) PAGEREF _Toc420162564 h 42 HYPERLINK l _Toc420162565 致謝 PAGEREF _Toc420162565 h 43引言選題背景FTP服務(wù)基于客戶/服務(wù)器模式??蛻羰紫鹊卿浀椒?wù)器主機(jī)上,然后就可以象在本地計(jì)算機(jī)上拷貝文件一樣,通過(guò)網(wǎng)絡(luò)從服務(wù)器主機(jī)傳送各種

12、類(lèi)型的文件到本地計(jì)算機(jī)。這種從我這里有做好的論文,軟件編程,答辯ppt,都是一次過(guò),如果想要的可以直接聯(lián)系qq676297015, 這個(gè)論文我已經(jīng)打亂,但在安全性方面沒(méi)有多大的發(fā)展,原因在于NWG沒(méi)有把安全性作為FTP的必要組成部分加以考慮。該項(xiàng)目的愿景就是在現(xiàn)有的FTP技術(shù)基礎(chǔ)上,為FTP注入信息安全的成分,包括保證通信的安全性,完整性,不可抵抗性等等,同時(shí)為了免于網(wǎng)絡(luò)攻擊,也為FTP增加了一些抵御網(wǎng)絡(luò)攻擊的措施。研究目標(biāo)和意義FTP服務(wù)器為Internet上的網(wǎng)絡(luò)用戶或企業(yè)用戶提供文件傳輸服務(wù),因此FTP服務(wù)器的穩(wěn)健運(yùn)行非常重要。服務(wù)器的性能與數(shù)據(jù)(即文件)相關(guān)1。試想一個(gè)文件的上傳下載遇

13、到破壞或遭受攻擊,最小的損失就是損耗網(wǎng)絡(luò)帶寬,文件傳輸失敗,更甚之可能導(dǎo)致重要數(shù)據(jù)丟失,機(jī)密信息泄露。這對(duì)于服務(wù)方或客戶方都是絕對(duì)不允許的。今天的信息安全技術(shù)業(yè)已成熟,但在FTP上的應(yīng)用卻微乎其微,市場(chǎng)需要安全的FTP是不爭(zhēng)的事實(shí),甚至是刻不容緩,因此應(yīng)該在當(dāng)今成熟的信息安全技術(shù)之上,架構(gòu)符合當(dāng)今時(shí)代要求的FTP服務(wù)器。由于FTP功能眾多,所以安全運(yùn)行的機(jī)制和安全工作體系,在此基礎(chǔ)上開(kāi)發(fā)出安全FTP服務(wù)器軟件,該軟件將使用目前各種可靠的安全通信算法來(lái)保證通信的安全,將集成有效的反攻擊技術(shù)來(lái)保證FTP服務(wù)器的安全可靠運(yùn)行。明確上傳和下載的工作機(jī)制,著眼于FTP現(xiàn)存的缺陷開(kāi)發(fā)出既能方便用戶上傳下載

14、文件,又能保證通信安全,還能方便用戶進(jìn)行安全配置的安全FTP服務(wù)器。安全FTP服務(wù)器開(kāi)發(fā)成功必將為網(wǎng)絡(luò)資源的共享提供極大的方便?,F(xiàn)在市場(chǎng)上使用的FTP服務(wù)器相對(duì)來(lái)說(shuō)還是比較穩(wěn)健的。其主要市場(chǎng)由Rob Beckers開(kāi)發(fā)的Serv-U FTP Server占領(lǐng)。該軟件在安全方面已經(jīng)支持傳輸層SSL協(xié)議,是個(gè)人FTP服務(wù)器的首選,當(dāng)然也有很多商業(yè)用戶。但在普通傳輸層上構(gòu)建應(yīng)用層數(shù)據(jù)安全將更具有簡(jiǎn)單的應(yīng)用平臺(tái),具有更大的市場(chǎng)范圍。服務(wù)器和客戶端的數(shù)據(jù)在傳輸前后(進(jìn)入傳輸層前和離開(kāi)傳輸層后)進(jìn)行信息安全處理,保證在通道上傳輸?shù)臄?shù)據(jù)滿足相應(yīng)的安全要求。這樣一方面比使用安全傳輸層具有更好的平臺(tái)適應(yīng)性和適用

15、性,也具有更大的靈活性,能夠滿足各類(lèi)用戶的實(shí)際需求。多線程機(jī)制,可以極大地提高FTP安全分析FTP已有三十多年的發(fā)展歷史,在這不長(zhǎng)的發(fā)展時(shí)期里,已經(jīng)具有了一套完整的FTP標(biāo)準(zhǔn),這FTP服務(wù)器集安全策略和防止不可抵賴性、防止重放攻擊的一起的FTP服務(wù)器還沒(méi)有。隨著網(wǎng)絡(luò)和信息安全的不斷深入發(fā)展,F(xiàn)TP安全方面的問(wèn)題顯得非常重要。當(dāng)今社會(huì)在,可用性。主要手段是通過(guò)加密,簽名來(lái)實(shí)現(xiàn)。機(jī)密性是指保證信息不被非授權(quán)訪問(wèn);完整性是指維護(hù)信息的一致性,保證信息不被非授權(quán)修改;抗否認(rèn)性是唯一的固定的HASH值,通過(guò)原始消息和散列消息的比對(duì)可以確定數(shù)據(jù)是否被修改,從而實(shí)現(xiàn)數(shù)據(jù)的完整性,常用的散列算法有MD5,SH

16、A等;數(shù)據(jù)簽名體制是保證消息抗否認(rèn)性的措施,數(shù)字簽名有基于私鑰和公鑰機(jī)制的兩種機(jī)制,常用的數(shù)字簽名方式,需要更高的會(huì)話處理能力。FTP與RFCRFC是Reques數(shù)據(jù)連接通道(data connection)??刂七B接負(fù)責(zé)協(xié)商各種指定功能的命令,默認(rèn)端口是21,數(shù)據(jù)連接負(fù)責(zé)傳輸數(shù)據(jù),端口由控制連接協(xié)商指定??刂七B接在會(huì)話開(kāi)始時(shí)建立,會(huì)話結(jié)束時(shí)斷開(kāi),數(shù)據(jù)連接在需要時(shí)由控制連接建立??刂七B接在一個(gè)會(huì)話中只有一個(gè),數(shù)據(jù)連接在會(huì)話中可以沒(méi)有,也可以有多個(gè)。FTP連接模式:FTP連接模式是指FTP數(shù)據(jù)連接通道上數(shù)據(jù)的連接模式。FTP具有兩種數(shù)據(jù)連接模式主動(dòng)模式(PORT or ACTIVE)和被動(dòng)模式(

17、PASV)。主動(dòng)模式有時(shí)稱(chēng)“客戶端管理”,由客戶端開(kāi)啟一個(gè)端口,等待服務(wù)器來(lái)建立連接。被動(dòng)模式由服務(wù)器開(kāi)啟一個(gè)端口,等待客戶端向服務(wù)器建立連接。一般來(lái)講,主動(dòng)模式比被動(dòng)模式更安全。FTP數(shù)據(jù)類(lèi)型:FTP的RFC設(shè)計(jì)目標(biāo)之一是通過(guò)設(shè)計(jì)簡(jiǎn)單易實(shí)現(xiàn)的協(xié)議來(lái)試圖滿足大型機(jī)、小型機(jī)、個(gè)人工作站、TAC等用戶的需要,因此FTP支持多種數(shù)據(jù)類(lèi)型,如ASCII編碼,EBCDIC編碼等。遠(yuǎn)程登錄:遠(yuǎn)程登錄(Remote Login)指用戶通過(guò)Internet登錄到遠(yuǎn)程FTP服務(wù)器上。Internet上遠(yuǎn)程登錄的主要方式是Telnet,F(xiàn)TP在登錄時(shí)使用的就是Telnet協(xié)議。Anonymous(匿名文件傳輸)能

18、夠使用戶與遠(yuǎn)程主機(jī)建立連接并以匿名身份操作遠(yuǎn)程主機(jī)上的文件。FTP服務(wù)器軟件現(xiàn)在市場(chǎng)上具有多種FTP服務(wù)器端或客戶端軟件產(chǎn)品,這些產(chǎn)品都兼容RFC959最小實(shí)現(xiàn),因此幾于不敗之地。設(shè)計(jì)思想研究思路隨著信息安全技術(shù)的發(fā)展,信息安全越來(lái)越受到人們的關(guān)注。FTP服務(wù)器廣泛應(yīng)用于我們的工作和生活之中,為了能更好的使用FTP服務(wù)器,也為了FTP服務(wù)器能適用于更廣的人群,F(xiàn)資源和保證高效的運(yùn)行速度。該系統(tǒng)符合當(dāng)前時(shí)代的需要,適用于幾乎所有場(chǎng)合及人群,可以方便地提供更安全,更穩(wěn)定,更快速的文件傳輸服務(wù)。FTP用于管理計(jì)算機(jī)之間的文件傳輸,在因特網(wǎng)發(fā)展的早期時(shí)代用FTP傳輸文件約占整個(gè)因特網(wǎng)通信量的三分之一,

19、只是到了1995年,WWW的通信量才首次超過(guò)了FTP3。在今天,WWW仍然占據(jù)小數(shù)據(jù)傳輸?shù)闹饕袌?chǎng)份額,但對(duì)于相對(duì)較大的數(shù)據(jù)的傳輸FTP的地位不可動(dòng)搖。該安全FTP服務(wù)器是基于RFC959開(kāi)發(fā)的一個(gè)通用FTP服務(wù)器,同時(shí)它集成了信息安全技術(shù):一方面按實(shí)際要求可以對(duì)數(shù)據(jù)進(jìn)行保密性、完整性、抗否認(rèn)性等方面的處理,另一方面為了抵抗網(wǎng)絡(luò)攻擊,使用了消息號(hào)、連接數(shù)控制、IP控制策略等技術(shù)。主要貢獻(xiàn)如下:1、集成信息安全技術(shù):使用加密解密對(duì)數(shù)據(jù)進(jìn)行保密性保護(hù)4,使用散列值對(duì)數(shù)據(jù)進(jìn)行完整性保護(hù),使用數(shù)字簽名對(duì)數(shù)據(jù)進(jìn)行身份認(rèn)證即抗否認(rèn)性保證。以上三個(gè)方面可進(jìn)行多方面的組合,對(duì)數(shù)據(jù)進(jìn)行綜合性保護(hù)。2、抵御網(wǎng)絡(luò)攻

20、擊:使用消息號(hào)抵抗重放攻擊,保證在用戶名和密碼安全的前提下服務(wù)器的絕對(duì)安全。使用連接數(shù)控制,IP接入控制來(lái)達(dá)到負(fù)載平衡,使不同的用戶可以獲取平均的資源,同時(shí)該措施也可以減少網(wǎng)絡(luò)攻擊。3、集成多線程機(jī)制:多線程可以更好更有效的使用硬件資源,提高數(shù)據(jù)處理能力。FTP服務(wù)器在接受大量用戶接入時(shí),數(shù)據(jù)處理能力直接關(guān)系到其吞吐量。集成多線程即可以提高程序的處理能力,也可以提高用戶體驗(yàn)。本文共分為八個(gè)主要部分:圖,工作流程圖,體系結(jié)構(gòu)圖,類(lèi)架構(gòu)圖,類(lèi)圖,IPO圖等,分別說(shuō)明系統(tǒng)的總體設(shè)計(jì),系統(tǒng)詳細(xì)設(shè)計(jì)。第四部分是系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì),根據(jù)系統(tǒng)分析,采用了數(shù)據(jù)庫(kù)關(guān)系圖和E-R圖幫助分析和設(shè)計(jì)本系統(tǒng)所使用的概念數(shù)據(jù)

21、庫(kù)和物理數(shù)據(jù)庫(kù)。第五部分是系統(tǒng)實(shí)現(xiàn),主要通過(guò)程序流程圖對(duì)本系統(tǒng)的幾個(gè)主要的功能模塊的實(shí)現(xiàn)進(jìn)行詳細(xì)的說(shuō)明。第六部分是系統(tǒng)測(cè)試、運(yùn)行與維護(hù),主要說(shuō)明該系統(tǒng)的開(kāi)發(fā)在這些方面所做的工作。第當(dāng)客戶端發(fā)送請(qǐng)求連接,并且符合要求后,執(zhí)行相應(yīng)的操作,具體如圖3-1所示。輸入登錄信息輸入登錄信息下載上傳連接下載上傳連接瀏覽文件瀏覽文件斷開(kāi)斷開(kāi)結(jié)束結(jié)束圖3-1圖3-1界面設(shè)計(jì)流程圖需求分析需求分析FTP服務(wù)器和信息安全相關(guān)模塊。FTP的信息安全擴(kuò)展功能主要包括加密解密,消息散列,消息簽名。具體如圖4-1所示。服務(wù)器端服務(wù)器端客戶端應(yīng)用層消息號(hào)附加模塊信息安全處理模塊客戶請(qǐng)求處理模塊信息安全解析模塊消息號(hào)驗(yàn)證模塊應(yīng)

22、用層消息號(hào)獲取模塊信息安全解析模塊客戶請(qǐng)求構(gòu)建模塊信息安全處理模塊消息號(hào)附加模塊傳 輸 層回復(fù)客戶請(qǐng)求圖4-1數(shù)據(jù)流程圖客戶請(qǐng)求數(shù)據(jù)流程從客戶請(qǐng)求構(gòu)建模塊開(kāi)始,以遠(yuǎn)程登錄為起點(diǎn),周而復(fù)始,到注銷(xiāo)為止。功能說(shuō)明安全FTP服務(wù)器是網(wǎng)絡(luò)應(yīng)用系統(tǒng),系統(tǒng)通過(guò)服務(wù)器端與客戶端之間傳遞命令消息,服務(wù)器端從命令消息中獲取操作類(lèi)型和參數(shù)。在對(duì)相應(yīng)的命令作處理后,把處理結(jié)果封裝成回復(fù)消息并返回給客戶端。以下為該系統(tǒng)中主要的功能模塊,如圖4-2所示。配置用戶策略配置用戶策略配置數(shù)據(jù)庫(kù)及初始化配置IP接入策略配置FTP服務(wù)信息配置FTP站點(diǎn)標(biāo)識(shí)配置IP資源訪問(wèn)策略安全FTP服務(wù)器服務(wù)器配置FTP服務(wù)FTP客戶端文件上

23、傳連接服務(wù)器文件下載配置安全算法遠(yuǎn)程登錄連接數(shù)控制遠(yuǎn)程登錄IP接入控制其他命令接入控制IP重接入控制匿名用戶系統(tǒng)用戶FTP用戶配置加密算法配置散列算法配置簽名算法配置安全級(jí)別端口協(xié)商上傳文件下載文件刪除文件服務(wù)器系統(tǒng)退出命令信息安全配置圖4-2功能模塊圖服務(wù)器配置服務(wù)器配置是在服務(wù)器端對(duì)FTP服務(wù)進(jìn)行配置的相關(guān)工作的總稱(chēng)。配置數(shù)據(jù)庫(kù)及初始化數(shù)據(jù)庫(kù)采用工廠模式架構(gòu),用戶可以根據(jù)自己的喜好等選擇自己的數(shù)據(jù)庫(kù)類(lèi)型5,并配建立在應(yīng)用程序中完成。該配置寫(xiě)入配置文件(以下未做注明都視為寫(xiě)入配置文件),該配置立即生效(以下未做注明都視為立即生效)。配置FTP站點(diǎn)標(biāo)識(shí)配置FTP站點(diǎn)標(biāo)識(shí)包括配置服務(wù)器FTP服務(wù)

24、的服務(wù)描述,IP地址,根目錄等信息。IP地址和根目錄是必須的配置。IP地址為空或“ANY”時(shí)為關(guān)聯(lián)本機(jī)上所有IP地址。該配置寫(xiě)入數(shù)據(jù)庫(kù),該配置在服務(wù)下一次啟動(dòng)時(shí)生效。配置FTP服務(wù)信息配置FTP服務(wù)信息包括FTP日志啟用配置,F(xiàn)TP資源訪問(wèn)控制配置(拒絕訪問(wèn)、允許訪問(wèn)、使用IP限制訪問(wèn)、使用用戶策略限制訪問(wèn)),F(xiàn)TP安全傳輸管理(是否使用加密措施、是否使用消息號(hào)),F(xiàn)TP匿名允許訪問(wèn)配置,F(xiàn)TP連接控制配置(限制連接數(shù)、限制連接超時(shí)、使用IP接入控制)等。該相關(guān)配置在服務(wù)下一次啟動(dòng)時(shí)生效。配置用戶策略用戶策略就是用戶管理,包括用戶的添加、修改、刪除等功能。通過(guò)把用戶分屬到不同的用戶組,使用戶具

25、有不同的操作權(quán)限,從而控制用戶的操作能力,保證資源的可控制訪問(wèn)。該配置寫(xiě)入數(shù)據(jù)庫(kù)。配置IP接入策略該系統(tǒng)在客戶端請(qǐng)求建立連接時(shí),會(huì)對(duì)客戶端IP地址進(jìn)行檢測(cè),如果該地址被服務(wù)器端阻止,則不予建立FTP會(huì)話。配置接入IP策略就是為了阻止建立FTP會(huì)話的客戶端IP地址。在配置時(shí),可以阻止一個(gè)IP,也可以阻止一個(gè)IP地址段。該配置寫(xiě)入數(shù)據(jù)庫(kù)。配置IP資源訪問(wèn)策略該系統(tǒng)在客戶端訪問(wèn)資源時(shí),對(duì)客戶IP進(jìn)行了檢測(cè),對(duì)于阻止訪問(wèn)資源的IP地址不予資源的訪問(wèn)能力。配置資源訪問(wèn)IP策略就是為了滿足該方面的需求。在配置時(shí),可以阻止一個(gè)IP,也可以阻止一個(gè)IP地址段。該配置寫(xiě)入數(shù)據(jù)庫(kù)。FTP服務(wù)FTP服務(wù)FTP服務(wù)是

26、FTP服務(wù)器為客戶端提供資源服務(wù)的功能的集合。接入控制接入控制是在客戶端建立TCP連接后對(duì)客戶端進(jìn)行的一系列檢測(cè),確定是否為該客戶連接建立FTP會(huì)話。連接數(shù)控制為了阻止一些網(wǎng)絡(luò)攻擊,該系統(tǒng)允許用戶配置是否使用連接數(shù)控制。在使用連接數(shù)控制時(shí),客戶端連接超過(guò)連接數(shù)上限時(shí),將暫時(shí)不再建立會(huì)話。此后的客戶端將競(jìng)爭(zhēng)建立FTP會(huì)話。這樣可以從一定程度上保證負(fù)載均衡。IP接入控制IP接入控制是在客戶建立TCP連接后,對(duì)客戶端的IP進(jìn)行檢測(cè),如果該IP已經(jīng)被阻止,則關(guān)閉TCP連接,不建立FTP會(huì)話。該功能是為了阻。當(dāng)一個(gè)IP上的客戶試圖建立新的會(huì)話時(shí),F(xiàn)TP服務(wù)器將主動(dòng)斷開(kāi)TCP連接,不予建立FTP會(huì)話。遠(yuǎn)程

27、登錄遠(yuǎn)程登錄是客戶端用戶通過(guò)Internet對(duì)服務(wù)器資源訪問(wèn)之前的用戶驗(yàn)證。該功能通過(guò)命令消息傳遞客戶端用戶的用戶名和密碼,服務(wù)器接收后提取參數(shù)并在服務(wù)器端進(jìn)行登錄驗(yàn)證。匿名用戶匿名用戶是指以“ANONYMOUS”為用戶名登錄FTP服務(wù)器的用戶。該類(lèi)用戶能夠訪問(wèn)FTP服務(wù)器上的公有資源。該類(lèi)用戶無(wú)需密碼驗(yàn)證,只需向服務(wù)器聲明用戶名即可訪問(wèn)服務(wù)器資源。系統(tǒng)用戶系統(tǒng)用戶是指FTP服務(wù)器所在主機(jī)的操作系統(tǒng)的用戶。這類(lèi)用戶的驗(yàn)證是由操作系統(tǒng)完成的。該類(lèi)用戶具有最高級(jí)別的資源訪問(wèn)權(quán)限,屬于超級(jí)用戶組成員。FTP用戶FTP用戶是指由FTP管理員管理的所有用戶,這類(lèi)用戶的信息存儲(chǔ)在數(shù)據(jù)庫(kù)中。由管理員將其分配

28、到不同的權(quán)限組,賦予不同的操作權(quán)限。信息安全配置該功能模塊是在RFC959標(biāo)準(zhǔn)上擴(kuò)展的信息安全模塊。主要用于客戶端配置具有自我選擇的安全算法及算法屬性。配置信息保存在數(shù)據(jù)庫(kù)中。配置加密算法加密算法是為了保證數(shù)據(jù)的保密性而使用的。配置加密算法包括配置對(duì)稱(chēng)加密算法(配置命令為CONS)和配置非對(duì)稱(chēng)加密算法(配置命令為CONA)。在系統(tǒng)中可使用的對(duì)稱(chēng)加密算法包括DES,RC2,Triple-DES/3DES,AES/Rijndael等,非對(duì)稱(chēng)算法包括RSA等。配置散列算法配置簽名算法配置安全級(jí)別安全級(jí)別包括明文傳輸(SN),加密解密級(jí)(SE),完整性級(jí)(SH),簽名級(jí)(SD),及相關(guān)的組合級(jí)別:SH

29、E、SED、SHD、SEHD等。其他命令該類(lèi)命令主要是RFC959標(biāo)準(zhǔn)命令集中的命令。RFC959標(biāo)準(zhǔn)命令集包括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等三十三個(gè)命令。端口協(xié)商端口協(xié)商是指在服務(wù)器與客戶端傳輸數(shù)據(jù)之前,雙方為建立數(shù)據(jù)連接所做的準(zhǔn)備工作。在主動(dòng)模式下,客戶端通過(guò)PORT命令和服務(wù)器完成端口的協(xié)商,客戶端把

30、自己的偵聽(tīng)端口告知服務(wù)器。在傳輸數(shù)據(jù)時(shí),服務(wù)器主動(dòng)連接客戶端的偵聽(tīng)端口,建立數(shù)據(jù)連接,然后傳輸數(shù)據(jù)。上傳文件上傳文件是指客戶端把文件保存到服務(wù)器上。上傳文件先通過(guò)控制連接協(xié)商數(shù)據(jù)連接端口,在完成該工作后,客戶端通過(guò)使用STOR等命令將本地文件上傳到服務(wù)器。下載文件下載文件是指客戶端從服務(wù)器獲取文件資源。其他除上面涉及到的5個(gè)擴(kuò)展命令及5個(gè)標(biāo)準(zhǔn)命令,還有二十多個(gè)標(biāo)準(zhǔn)命令,同時(shí)在實(shí)際使用中,還有一些常用的擴(kuò)展命令,如SIZE命令用于獲取文件的大小。FTP客服端FTP客戶端用于從服務(wù)器獲取文件服務(wù),簡(jiǎn)單來(lái)講包括文件存儲(chǔ)服務(wù)和獲取文件資源兩大類(lèi)服務(wù)。FTP客戶端是FTP服務(wù)器對(duì)應(yīng)的一部分??蛻舳酥饕獦?gòu)

31、建服務(wù)器所支持的各命令,將合法的命令發(fā)送到服務(wù)器,然后獲取服務(wù)器提供的命令相關(guān)操作結(jié)果。系統(tǒng)設(shè)計(jì)系統(tǒng)總體設(shè)計(jì)FTP服務(wù)器端由一個(gè)FTP服務(wù)器配置的窗體應(yīng)用程序和一個(gè)提供服務(wù)的Windows服務(wù)組成。前者負(fù)責(zé)配置FTP服務(wù)所需要的各種參數(shù),后者負(fù)責(zé)為客戶提供永久的服務(wù)。服務(wù)器配置實(shí)時(shí)寫(xiě)入配置文件或數(shù)據(jù)庫(kù),服務(wù)在啟動(dòng)時(shí)讀取配置文件并以新的服務(wù)器參數(shù)運(yùn)行FTP服務(wù)。架構(gòu)設(shè)計(jì)由于服務(wù)器的特殊性需要長(zhǎng)期的不間斷的運(yùn)行,所以用Windows服務(wù)來(lái)承載FTP。但為了達(dá)到FTP服務(wù)器具有通用性的目的,需要把FTP的一些功能參數(shù)化,通過(guò)參數(shù)的值決定功能的開(kāi)啟與關(guān)閉等。同時(shí)由于Windows服務(wù)環(huán)境下運(yùn)行的FTP

32、服務(wù)需要相關(guān)的配置或其他操作及管理等,因此FTP服務(wù)器還需要能夠提供用戶交互的窗體應(yīng)用程序?qū)TP服務(wù)器進(jìn)行管理,如圖5-1所示。服務(wù)端服務(wù)端圖5-1系統(tǒng)架構(gòu)圖圖5-1系統(tǒng)架構(gòu)圖安全FTP服務(wù)器采用C/S進(jìn)行頂層架構(gòu),服務(wù)器端由FTP服務(wù)器,配置終端和數(shù)據(jù)庫(kù)管理系統(tǒng)組成(如有必要可添加防火墻等以增加安全性)。服務(wù)器和客戶端通過(guò)Internet進(jìn)行溝通交流。安全FTP服務(wù)器由用于配置和管理FTP服務(wù)器的一個(gè)窗體應(yīng)用程序和一個(gè)對(duì)外提供FTP服務(wù)的Windows服務(wù)組成。窗體應(yīng)用程序?qū)TP服務(wù)器進(jìn)行服務(wù)器端的相應(yīng)配置,并保存到配置文件和數(shù)據(jù)庫(kù)中。Windows Service接收遠(yuǎn)程主機(jī)的連接,為

33、遠(yuǎn)程主機(jī)上的用戶提供文件傳輸?shù)确?wù)。總體設(shè)計(jì)安全FTP服務(wù)器的數(shù)據(jù)處理是圍繞命令來(lái)進(jìn)行的,一條命令就是一個(gè)完整的處理流程。不同的命令決定了不同的功能(即請(qǐng)求的服務(wù))。系統(tǒng)工作流程:該系統(tǒng)服務(wù)器端和客戶端的工作流程組成一個(gè)完整的工作流程環(huán)路。如5-2圖所示。圖圖5-2服務(wù)器和客戶端工作流程圖客戶端工作流程分為兩部分。在建立連接時(shí)獲取一個(gè)消息號(hào)或者使用上一次命令請(qǐng)求返回的消息號(hào),每次請(qǐng)求首先構(gòu)建一個(gè)請(qǐng)求消息發(fā)送給服務(wù)器,然后等待服務(wù)器處理完圖5-3 用戶端用例圖套接字應(yīng)用于網(wǎng)絡(luò)通信socket在所有的網(wǎng)絡(luò)操作系統(tǒng)中都是必不可少的,而且在所有的網(wǎng)絡(luò)應(yīng)用程序中也是必3、在windows系統(tǒng)中,sock

34、et屬于文件系統(tǒng)的一部分,網(wǎng)絡(luò)通信可以被看作是對(duì)文件的讀取,使得我們對(duì)網(wǎng)絡(luò)的控制和對(duì)文件的控制一樣方便,如圖5-3所示。進(jìn)程B進(jìn)程A網(wǎng)絡(luò)協(xié)議網(wǎng)絡(luò)協(xié)議套接字套接字進(jìn)程B進(jìn)程A網(wǎng)絡(luò)協(xié)議網(wǎng)絡(luò)協(xié)議套接字套接字圖5-3套接字的功能上傳子模塊設(shè)計(jì)定位要上傳的文件和保存路徑定位要上傳的文件和保存路徑發(fā)送上傳文件的請(qǐng)求發(fā)送上傳文件的請(qǐng)求 請(qǐng)求失敗保存文件獲取遠(yuǎn)程文件內(nèi)容提示出錯(cuò)信息保存文件獲取遠(yuǎn)程文件內(nèi)容提示出錯(cuò)信息 獲取失敗圖5-4上傳文件模塊工作流程圖從活動(dòng)圖中,我們更能直觀的了解該子用例的整個(gè)工作流程如下:(1)系統(tǒng)定位上傳文件和保存路徑。(2)發(fā)送上傳文件請(qǐng)求。(3)如果請(qǐng)求失敗,則提示出錯(cuò)信息,然后

35、結(jié)束。(4)如果請(qǐng)求成功,傳輸本地的文件到服務(wù)器。(5)如果文件傳輸失敗,則提示出錯(cuò)信息,然后結(jié)束。(6)如果傳輸文件成功,提示傳輸成功,然后結(jié)束。信息安全處理模塊類(lèi)結(jié)構(gòu)信息安全處理模塊使用了一個(gè)類(lèi)作為載體。加密解密,散列及其驗(yàn)證,簽名及簽名驗(yàn)證的基本實(shí)現(xiàn)(業(yè)務(wù)邏輯層)都集中在該類(lèi)中,如圖5-6、5-7所示。圖5-6 信息安全處理模塊類(lèi)結(jié)構(gòu)圖5-7 FTP主模塊類(lèi)結(jié)構(gòu)散列是通過(guò)Hash實(shí)現(xiàn)的,GetHash和VerifyHash是散列和散列驗(yàn)證的實(shí)現(xiàn)方法。數(shù)據(jù)簽名的實(shí)現(xiàn)方法是SighHash和VerifyDS。ByteToString、StringToByte、Key等為輔助方法。以下為對(duì)稱(chēng)加

36、密解密的詳細(xì)設(shè)計(jì)及其調(diào)用的IPO圖(該類(lèi)中其他模塊的設(shè)計(jì)思路相同):1、配置對(duì)稱(chēng)加密解密算法,具體如圖5-8所示。1、對(duì)稱(chēng)加密解密算法名稱(chēng)1、對(duì)稱(chēng)加密解密算法名稱(chēng)2、塊大小3、初始化向量4、密鑰大小5、密鑰向量6、密碼模式7、填充模式輸入1、用算法名建立一個(gè)算法實(shí)體2、配置塊大小3、配置初始化向量4、配置密鑰5、配置密碼模式6、配置填充模式1、合法的對(duì)稱(chēng)加密解密算法實(shí)體處理輸出圖5-8配置對(duì)稱(chēng)加密解密算法IPO圖對(duì)稱(chēng)算法配置是為了保存客戶加密解密算法的相關(guān)參數(shù),從而使加密解密具有確定性,達(dá)到信息保密性的特性并能獲取明文信息。對(duì)稱(chēng)算法配置是從必要參數(shù)獲取一個(gè)對(duì)稱(chēng)算法實(shí)體,從這些參數(shù)可以獲取一個(gè)惟

37、一的對(duì)稱(chēng)算法,這樣可以保證在不用的時(shí)刻,不同的環(huán)境下,用相同的加密解密算法對(duì)數(shù)據(jù)進(jìn)行加密解密。2、對(duì)稱(chēng)加密解密,具體如圖5-9所示。1、明文/密文字節(jié)數(shù)組1、明文/密文字節(jié)數(shù)組2、對(duì)稱(chēng)加密解密算法實(shí)體輸入1、加密/解密1、密文/明文字節(jié)數(shù)組處理輸出圖5-9對(duì)稱(chēng)加密解密IPO圖對(duì)稱(chēng)加密把明文經(jīng)過(guò)加密處理變成密文輸出。對(duì)稱(chēng)加密需要輸入加密算法,在解密時(shí)需要使用相同的加密算法,即解密算法與加密算法完全相同才能保證獲取正確的明文解析。對(duì)稱(chēng)解密是對(duì)稱(chēng)加密的逆過(guò)程,是把密文還原成明文的過(guò)程。3、信息安全處理模塊的調(diào)用,具體如圖5-10所示。圖5-10圖5-10 FTP主模塊中ToSecurity方法對(duì)信息

38、安全處理模塊的調(diào)用IPO圖1、回復(fù)客戶端消息的明文字節(jié)數(shù)組2、關(guān)聯(lián)客戶端的對(duì)稱(chēng)加密解密算法實(shí)體輸入1、信息安全處理模塊中的加密處理1、回復(fù)客戶端的密文字節(jié)數(shù)組處理輸出數(shù)據(jù)庫(kù)設(shè)計(jì)在安全FTP服務(wù)器中,需要保存大量的信息。采用數(shù)據(jù)庫(kù)是較好的解決方案。需要持久化的信息包括用戶權(quán)限組,用戶信息,用戶安全配置,客戶訪問(wèn)日志,服務(wù)器配置日志等。數(shù)據(jù)庫(kù)需求分析數(shù)據(jù)庫(kù)在該系統(tǒng)將和文件系統(tǒng)一樣作為數(shù)據(jù)的一個(gè)主要承載體。數(shù)據(jù)庫(kù)主要是記錄部分配置信息和日志信息等。數(shù)據(jù)庫(kù)關(guān)系設(shè)計(jì)由于系統(tǒng)提供的文件傳輸服務(wù)既要關(guān)系到用戶,又要關(guān)系到服務(wù)器的服務(wù),因此數(shù)據(jù)庫(kù)中的頂層外鍵幾乎都同時(shí)關(guān)聯(lián)到用戶表和服務(wù)表。如圖6-1所示。圖6

39、-1 安全FTP服務(wù)器系統(tǒng)數(shù)據(jù)庫(kù)鍵關(guān)系圖數(shù)據(jù)庫(kù)表概念設(shè)計(jì)以下通過(guò)E-R圖描述涉及到的各張表的概念設(shè)計(jì)。系統(tǒng)用戶權(quán)限表用戶權(quán)限表(TSYSGROUP)記錄用戶分組。標(biāo)識(shí)各個(gè)用戶組的用戶所擁有的操作權(quán)限,默認(rèn)有對(duì)FTP服務(wù)器上的資源的讀,寫(xiě),讀寫(xiě),刪權(quán)限。如圖6-2所示。圖6-2系統(tǒng)用戶權(quán)限表圖6-2系統(tǒng)用戶權(quán)限表用戶權(quán)限表組標(biāo)識(shí)組名權(quán)限狀態(tài)備注FTP服務(wù)表FTP服務(wù)表(TFTPSERVICE)記錄當(dāng)前FTP服務(wù)的記錄,如圖6-3所示。圖6-3 FTP服務(wù)表圖6-3 FTP服務(wù)表FTP服務(wù)表服務(wù)標(biāo)識(shí)服務(wù)描述本地IP本地端口主目錄系統(tǒng)用戶基本信息表系統(tǒng)用戶基本信息表(TSYSUSER)記錄用戶的基礎(chǔ)

40、信息,包括用戶標(biāo)識(shí),用戶名,密碼,所屬用戶權(quán)限組標(biāo)識(shí)等信息7??蛻鬒P地址表客戶IP地址表(TCIPADDRESS)記錄接入控制和資源訪問(wèn)控制中拒絕的IP地址和IP地址段。用戶密鑰表配置安全相關(guān)的算法信息。如圖6-4所示。圖6-4用戶密鑰表圖6-4用戶密鑰表用戶密鑰表標(biāo)識(shí)從屬服務(wù)標(biāo)識(shí)述從屬用戶標(biāo)識(shí)密碼分類(lèi)密碼算法明文塊長(zhǎng)返回塊長(zhǎng)密初始化向量密碼本模式密碼填充模式備注客戶日志表客戶日志表(TCLIENTLOG)記錄客戶訪問(wèn)FTP服務(wù)器的控制請(qǐng)求信息和服務(wù)器回復(fù)信息。無(wú)論加密,散列,簽名都保存接收到的原始信息。服務(wù)日志表服務(wù)日志表(TSERVICELOG)記錄FTP服務(wù)器上服務(wù)的配置信息的更新情況

41、。為信息安全提供可回溯的歷史記錄。數(shù)據(jù)庫(kù)表物理設(shè)計(jì)以下為數(shù)據(jù)庫(kù)中關(guān)鍵表的物理設(shè)計(jì)。如表6-1和表6-2所示。表6-1 系統(tǒng)用戶權(quán)限表字段名數(shù)據(jù)類(lèi)型長(zhǎng)度約束字段含義IDINTIDENTITY 主鍵標(biāo)識(shí)SGNAMEBINARY1B非空 唯一權(quán)限組名SGPURVIEWVARCHAR1024非空權(quán)限SGISLIVETINYINT非空 默認(rèn)是否存活SGWDATEDATETIME非空 默認(rèn)寫(xiě)入日期表6-2用戶密鑰表字段名數(shù)據(jù)類(lèi)型長(zhǎng)度約束字段含義IDINTIDENTITY主鍵標(biāo)識(shí)SKFSIDINT非空 外鍵從屬服務(wù)標(biāo)識(shí)SKSUIDINT非空 外鍵從屬用戶標(biāo)識(shí)SKTYPEVARCHAR10非空密碼分類(lèi)SKAL

42、GOVARCHAR50非空密碼算法SKBLOCKLENGTHINT明文塊長(zhǎng)SKFEEDBACKSIZEINT返回塊大小SKKEYVARCHAR5120密鑰SKIVVARCHAR5120初始化向量SKMODEVARCHAR50密碼本模式SKPADBIT密碼填充模式SKISLIVETINYINT非空 默認(rèn)記錄狀態(tài)SKWDATEDATETIME非空 默認(rèn)寫(xiě)入時(shí)間SKREMARKVARCHAR200備注系統(tǒng)實(shí)現(xiàn)該系統(tǒng)要求較高的信息安全處理,倘如自己實(shí)現(xiàn)各種安全算法,可能會(huì)有各種不可預(yù)期的問(wèn)題。因此采用在應(yīng)用層封裝較好的開(kāi)發(fā)環(huán)境不僅能有好的使用平臺(tái)適宜度,同時(shí)可以增加應(yīng)用程序的開(kāi)發(fā)速度。7.1開(kāi)發(fā)平臺(tái)在

43、開(kāi)發(fā)環(huán)境上,微軟的Visual Studio .NET 具有較高的可視化程度9,具有方便的交互性,同時(shí)其框架支持當(dāng)前各種信息安全算法,因此集成開(kāi)發(fā)環(huán)境選擇VS2010,開(kāi)7.2模塊實(shí)現(xiàn)由于選用C+作為開(kāi)發(fā)語(yǔ)言,面向?qū)ο蟮拈_(kāi)發(fā)思想將步步體現(xiàn)。數(shù)據(jù)庫(kù)對(duì)象采用工廠模式三層架構(gòu)封裝。層,業(yè)務(wù)邏輯層,界面顯示層封裝數(shù)據(jù),將各個(gè)層面分離,做到便于團(tuán)隊(duì)協(xié)作開(kāi)發(fā)和項(xiàng)目維護(hù)。由于該系統(tǒng)從很大程度上屬于網(wǎng)絡(luò)應(yīng)用系統(tǒng),在開(kāi)發(fā)中將各種信息對(duì)象化,如FTP服務(wù)會(huì)話中的服務(wù)器信息和客戶端信息10。用戶登錄用戶登錄包括用戶連接和用戶驗(yàn)TP服務(wù)器,該IP地址是否已經(jīng)建立過(guò)連接(不允許一個(gè)IP地址上的多個(gè)FTP會(huì)話),如果滿足

44、則返回消息碼220標(biāo)識(shí)連接成功,否則返回426標(biāo)識(shí)連接失敗,如圖7-1所示。圖7-1用戶連接圖7-1用戶連接程序流程圖YYIP允許檢測(cè)建立連接返回消息426關(guān)閉連接返回消息220IP重登錄檢測(cè)未登錄建立會(huì)話處理允許在通過(guò)用戶連接檢測(cè)后,將對(duì)用戶登錄信息進(jìn)行驗(yàn)證。用戶登錄驗(yàn)證包括以下三種情況:1、匿名用戶登錄驗(yàn)證首先檢測(cè)FTP服務(wù)器是否允許了匿名登錄,允許則進(jìn)入用戶密碼驗(yàn)證階段(空流程),否則驗(yàn)證失敗。2、系統(tǒng)用戶的驗(yàn)證首先保存用戶名,在接收了密碼命令后提取密碼,然后由操作系統(tǒng)判斷用戶名和密碼的正確性。對(duì)于系統(tǒng)用戶名和密碼正確的則登錄驗(yàn)證成功,否則驗(yàn)證失敗。3、FTP用戶也是先保存用戶名,在接收

45、了密碼命令后提取密碼,然后由FTP系統(tǒng)從數(shù)據(jù)庫(kù)中查詢用戶名和密碼進(jìn)行驗(yàn)證,用戶名和密碼在數(shù)據(jù)庫(kù)中存在則登錄驗(yàn)證成功,否則驗(yàn)證失敗。無(wú)論哪類(lèi)用戶,驗(yàn)證通過(guò)的客戶端將獲得“230”的消息碼,并可進(jìn)入服務(wù)請(qǐng)求流程。否則登錄失敗。連接驗(yàn)證和用戶登錄驗(yàn)證都通過(guò)的用戶才能建立FTP會(huì)話,才能獲取FTP服務(wù)器提供的文件傳輸?shù)确?wù),否則該連接將被服務(wù)器主動(dòng)斷開(kāi),客戶端連接及獲取服務(wù)失敗。設(shè)置對(duì)稱(chēng)加密算法設(shè)置對(duì)稱(chēng)加密算法的命令為CONS,設(shè)置對(duì)稱(chēng)加密算法是為了在用戶安全級(jí)別使用了加密時(shí)有可用的加密算法使用。設(shè)置對(duì)稱(chēng)加密算法時(shí)用戶需要提供對(duì)稱(chēng)加密解密算法名及相應(yīng)的四個(gè)算法參數(shù)(塊大小,初始化向量,密鑰大小,密鑰)

46、。算法名包括DES、AES等,參數(shù)為相應(yīng)算發(fā)支持的塊大小和用戶自己指定的密鑰信息。對(duì)于設(shè)置成功的用戶將獲得“200”的消息碼,否則設(shè)置失敗。這種現(xiàn)象一般由以下五個(gè)方面的原因?qū)е拢?.FTP站點(diǎn)權(quán)限設(shè)置2.NTFS權(quán)限設(shè)置3.用戶權(quán)利設(shè)置4.輸入完整的用戶名5.FTP對(duì)用戶密碼的限制因FTP采用基本驗(yàn)證方式,所以基本驗(yàn)證的用戶權(quán)利要求也適用于FTP驗(yàn)證?;掘?yàn)證方式要求訪問(wèn)的用戶對(duì)目標(biāo)主機(jī)具有從網(wǎng)絡(luò)訪問(wèn)此計(jì)算機(jī)和在本地登錄兩種權(quán)限。這兩種權(quán)限需要在安全策略中設(shè)置。在Windows2000中,存在三種安全策略:域安全策略,本地安全策略,域控制器安全策略,它們的優(yōu)先級(jí)為:域控制器安全策略、域安全策略

47、、本地安全策略。在設(shè)置安全策略時(shí)需注意有效的策略中允許用戶從網(wǎng)絡(luò)訪問(wèn)此計(jì)算機(jī)和在本地登錄兩種權(quán)限。以下為用戶登錄驗(yàn)證的程序設(shè)計(jì)流程如圖7-2所示。圖7-2 圖7-2 用戶登錄驗(yàn)證的程序設(shè)計(jì)流程YYY是否匿名用戶返回消息331是否OS用戶是保存用戶名是密碼驗(yàn)證OS密碼驗(yàn)證返回消息501是否匿名用戶是返回消息230YY允許匿名登錄允許返回消息501FTP密碼驗(yàn)證通過(guò)通過(guò)Y測(cè)試運(yùn)安全FTP服務(wù)器系統(tǒng)具有很強(qiáng)的交互性,在開(kāi)發(fā)中會(huì)有很多問(wèn)題是不能通過(guò)想象和經(jīng)驗(yàn)進(jìn)行預(yù)計(jì)和處理的,因此只能通過(guò)測(cè)試等軟件開(kāi)發(fā)手段來(lái)發(fā)現(xiàn)問(wèn)題并解決問(wèn)題。測(cè)試該系統(tǒng)的主要進(jìn)行了以下幾個(gè)方面的測(cè)試:?jiǎn)卧獪y(cè)試、功能測(cè)試、性能測(cè)試、安裝

48、/部署測(cè)試等11。單元測(cè)試為了確保在開(kāi)發(fā)中實(shí)現(xiàn)了所有的需求,同時(shí)也為了使項(xiàng)目代碼滿足各種編碼規(guī)范,在正式測(cè)試之前對(duì)代碼進(jìn)行了人工排查,對(duì)系統(tǒng)進(jìn)行了靜態(tài)單元測(cè)試代碼審查。程序中有齊全的各種注釋?zhuān)焊鞣N方法都有功能描述,方法中的功能模塊具有功能的相關(guān)描述;參數(shù)和返回值也有相關(guān)的文字描述;除局部變量外都進(jìn)行了變量的含義注釋。方法,變量等都使用了統(tǒng)一的命名規(guī)范。本系統(tǒng)的開(kāi)發(fā)完全遵照C+的編碼規(guī)范,如代碼按行進(jìn)行書(shū)寫(xiě),一行只有一個(gè)語(yǔ)句等等,變量使用camelCase(駝峰) 命名規(guī)范進(jìn)行命名。命名空間也使用了規(guī)范的命名規(guī)則和組織規(guī)則。如上這些規(guī)范都可以提高代碼的可讀性和系統(tǒng)的可維護(hù)性。通過(guò)代碼審查可以發(fā)現(xiàn)

49、一些顯而易見(jiàn)的邏輯錯(cuò)誤和功能缺失,這些先期的處理可以為后面的測(cè)試節(jié)省時(shí)間和測(cè)試代價(jià)12。功能測(cè)試功能測(cè)試主要是對(duì)需求中的各功能要求進(jìn)行測(cè)試性運(yùn)行,保證系統(tǒng)的正確運(yùn)行。在測(cè)試中,首先進(jìn)行了用戶界面和適用性的測(cè)試。使產(chǎn)品更具人性化,人們?cè)谑褂脮r(shí)更加靈活、舒適,提高軟件使用者客戶的體驗(yàn)。使用基于功能需求的回歸測(cè)試對(duì)項(xiàng)目進(jìn)行各個(gè)功能的驗(yàn)證。在測(cè)試中發(fā)現(xiàn)功能缺陷或其他的不足,返回到代碼中修改這些不足,然后繼續(xù)進(jìn)行測(cè)試。直到滿足所有功能需求為止。安裝/部署測(cè)試該系統(tǒng)的設(shè)計(jì)初衷之一就是具有較好的平臺(tái)適用性,能滿足不同的人群不同的需求。安裝部署測(cè)試主要就是為了對(duì)該方面的需求進(jìn)行測(cè)試。該系統(tǒng)采用VS2010開(kāi)發(fā)

50、,采用的框架是Framework3.5,在安裝/部署測(cè)試中分別使用了2.0框架發(fā)布和3.5框架發(fā)布。目標(biāo)系統(tǒng)使用了Windows XP,Windows 2003,Windows Vista及其部分英文版操作系統(tǒng)。在測(cè)試中安全FTP系統(tǒng)都能正確的運(yùn)行。數(shù)據(jù)庫(kù)的選用采用數(shù)據(jù)工廠架構(gòu),在測(cè)試中使用了MS SQL 2000和MS SQL 2005進(jìn)行了該方面需求的測(cè)試,通過(guò)測(cè)試和修改,系統(tǒng)能夠正常地運(yùn)行13,滿足了數(shù)據(jù)庫(kù)由用戶自主選擇的需求。系統(tǒng)綜合測(cè)試在進(jìn)行了如上的各種測(cè)試后,為了確保系統(tǒng)的正確整合,對(duì)系統(tǒng)進(jìn)行了綜合測(cè)試。采用阿爾法測(cè)試對(duì)系統(tǒng)進(jìn)行了綜合測(cè)試。系統(tǒng)測(cè)試將安全FTP系統(tǒng)的所有組成部分綜合

51、在一起進(jìn)行測(cè)試,在系統(tǒng)的實(shí)際運(yùn)行環(huán)境下進(jìn)行測(cè)試,在用戶的直接參與下進(jìn)行。包括功能集成測(cè)試,可靠性與適應(yīng)性測(cè)試,安全性測(cè)試,強(qiáng)度測(cè)試等等。該步驟是先前各階段的綜合,也是系統(tǒng)的最后開(kāi)發(fā)階段。系統(tǒng)運(yùn)行及維護(hù)在進(jìn)行了以上的各種測(cè)試后,系統(tǒng)即已基本確保正常運(yùn)行,于是制作系統(tǒng)安裝程序等后期工作及系統(tǒng)的最終發(fā)布部署等。安全FTP服務(wù)器系統(tǒng)是一個(gè)龐大的數(shù)據(jù)系統(tǒng):一方面是大量的文件,這些文件是提供FTP服務(wù)的基石,這些文件可能是服務(wù)器共享出來(lái)的文件,也可能是由客戶端用戶共享出來(lái)的文件資源;另一方面的數(shù)據(jù)是系統(tǒng)運(yùn)行所需的數(shù)據(jù),如配制文件、數(shù)據(jù)庫(kù)文件、運(yùn)行產(chǎn)生的日志文件等,這些都是系統(tǒng)運(yùn)行寶貴的信息資源。在系統(tǒng)的設(shè)

52、計(jì)與實(shí)現(xiàn)中已經(jīng)考慮到數(shù)據(jù)的維護(hù)問(wèn)題,例如運(yùn)行日志文件的大小限制,在運(yùn)行日志文件達(dá)到一定大小后將產(chǎn)生新的日志文件等等。但這些是不足夠的。系統(tǒng)的運(yùn)行維護(hù)很大程度上取決于管理員的有效管理14。為了保證系統(tǒng)的穩(wěn)定運(yùn)行,系統(tǒng)管理員要保證物理環(huán)境的安全,操作系統(tǒng)的安全,并要實(shí)時(shí)對(duì)系統(tǒng)的安全性進(jìn)行評(píng)估并采用有效的措施防止安全隱患的發(fā)生。另一方面管理員要保證系統(tǒng)在遇到災(zāi)難性事件后能及時(shí)恢復(fù),因此需要定期甚至實(shí)時(shí)對(duì)系統(tǒng)運(yùn)行數(shù)據(jù)的備份。運(yùn)行結(jié)果本設(shè)計(jì)使用的FTPserver,通過(guò)在同一網(wǎng)絡(luò)上的任何一臺(tái)PC與FTP 服務(wù)器連接,進(jìn)行文件或目錄的復(fù)制,移動(dòng)不同類(lèi)型的 HYPERLINK /view/880.htm 操

53、作系統(tǒng),對(duì)不同類(lèi)型的文件進(jìn)行相互傳遞,搭建的服務(wù)器端平臺(tái)如圖9-1所示。圖圖9-1 HYPERLINK /view/106754.htm FTP服務(wù)器 HYPERLINK /view/37.htm 軟件FTPserver點(diǎn)擊Add創(chuàng)建服務(wù)器端的賬戶,Home為選擇服務(wù)器端的根目錄,allow download為允許下載,allow upload上傳功能,allow delete為刪除功能,allow create directory為創(chuàng)建目錄。點(diǎn)擊Save保存服務(wù)器的配置信息,再點(diǎn)擊按鈕啟動(dòng)服務(wù)器。因?yàn)閯?chuàng)建的是服務(wù)器端,所以先登陸自己的服務(wù)器,為了查看服務(wù)器是否能夠運(yùn)行,又配置來(lái)了一個(gè)客戶端,

54、在二臺(tái)電腦中實(shí)現(xiàn)客戶端與服務(wù)器端之間文件的傳輸。首先用客戶端登陸服務(wù)器,與服務(wù)器建立連接,然后上傳,下載文件,看看服務(wù)器端有什么反應(yīng),但是有時(shí)圖圖9-2 FTP客戶端這時(shí)客戶端將會(huì)顯示與服務(wù)器連接成功的信息,表示用戶可以上傳和下載文件,具體如圖9-3所示。圖圖9-3 FTP客戶端與服務(wù)器端連接由于限制了服務(wù)器的端口為21 所以客戶端只有通過(guò)21才可以登陸服務(wù)器。如果服務(wù)器端在信息配置時(shí)設(shè)置了密碼,此時(shí)客戶端也必須輸入相同的密碼才能進(jìn)行連接。現(xiàn)在選中到指定的目錄,如圖9-4所示。圖圖9-4 文件位置選擇找到文件后點(diǎn)擊按鈕或者右鍵就能上傳,如圖9-5所示。圖圖9-5 文件上傳同時(shí)我們也可以選擇在服

55、務(wù)器上下載我們想要的文件,只要選中文件,并且點(diǎn)擊按鈕或者右鍵就能對(duì)文件進(jìn)行下載,如圖9-6所示。圖圖9-6 文件下載結(jié)束語(yǔ)安全FTP服務(wù)器的設(shè)計(jì)與實(shí)現(xiàn)相對(duì)來(lái)說(shuō)還是比較順利的。從最初的RFC959研究到項(xiàng)目的實(shí)施并完成也有遇到不少的問(wèn)題,甚至是知識(shí)難點(diǎn)或技術(shù)瓶頸,但經(jīng)過(guò)深入的學(xué)習(xí)研究和細(xì)致的思考,問(wèn)題最終都迎刃而解。該安全FTP服務(wù)器在常規(guī)FTP服務(wù)器的基礎(chǔ)之上,增加了數(shù)據(jù)加密解密可選功能,數(shù)據(jù)完整性驗(yàn)證可選功能,數(shù)據(jù)簽名可選功能。在這些可選功能上,都提供了多種算法的支持,客戶端用戶可以根據(jù)自己的實(shí)際需要和個(gè)人喜好方便的選取自己滿意的安全算法。為了抵御常見(jiàn)的網(wǎng)絡(luò)攻擊,該FTP服務(wù)器使用了連接數(shù)控制可選功能,可以從一定程度上防止拒絕服務(wù)攻擊等洪水攻擊造成的服務(wù)器假死或合法用戶無(wú)法訪問(wèn)的問(wèn)題。使用了強(qiáng)制IP單連接管理,這對(duì)于絕大多使用場(chǎng)合來(lái)講,是合情合理的,同時(shí)從理論上來(lái)講,單IP地址上(一個(gè)客戶端)多個(gè)控制連接是沒(méi)有必要的,甚至?xí)璧K信息傳輸,單IP單連接管理也可以從一定程度上解決洪水攻擊帶來(lái)的隱患。為了抵御重放攻擊,使用了消息號(hào)可選機(jī)制,可以有效地保證當(dāng)前收到的消息是

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論