一種防止惡意攻擊方法及網(wǎng)絡(luò)系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,更具體地說,涉及一種防止惡意攻擊方法及網(wǎng)絡(luò)系統(tǒng)。
【背景技術(shù)】
[0002]隨著互聯(lián)網(wǎng)的蓬勃發(fā)展,對網(wǎng)站的安全性和并發(fā)性都有相應(yīng)的要求或指標(biāo)。以用戶訪問網(wǎng)站的業(yè)務(wù)場景為例,用戶查看網(wǎng)站信息向后端業(yè)務(wù)服務(wù)器發(fā)起請求,業(yè)務(wù)服務(wù)器讀取請求的URL和請求參數(shù),進(jìn)行參數(shù)合法化驗證,如果不合法,返回相應(yīng)錯誤信息,如果合法則返回業(yè)務(wù)處理結(jié)果。如果單臺業(yè)務(wù)服務(wù)器無法承載足夠多業(yè)務(wù)的時候,可以在用戶和業(yè)務(wù)服務(wù)器中間加入反向代理服務(wù)器,部署多臺業(yè)務(wù)服務(wù)器,反向代理服務(wù)器依據(jù)負(fù)載均衡的不同策略,如按照IP分發(fā)或者按照權(quán)重值進(jìn)行分發(fā),減輕單臺業(yè)務(wù)服務(wù)器的壓力。典型的反向代理服務(wù)器如Nginx服務(wù)器。
[0003]上述的應(yīng)用場景是假設(shè)用戶采用正規(guī)渠道查看網(wǎng)站信息,不乏有黑客進(jìn)行惡意攻擊,通過掃描工具或者DDOS等其他軟件在單位時間內(nèi)多次發(fā)送不同的請求報文到網(wǎng)站,惡意加重業(yè)務(wù)服務(wù)器的業(yè)務(wù)處理能力,導(dǎo)致網(wǎng)站無法正常運行。考慮到反向代理服務(wù)器在設(shè)計之初就已經(jīng)考慮到高并發(fā)和高可靠的業(yè)務(wù)場景,同時也經(jīng)歷過業(yè)界的考驗,可以把驗證請求參數(shù)合法化在反向代理服務(wù)器就進(jìn)行實現(xiàn),讓業(yè)務(wù)服務(wù)器更多地關(guān)注實際的業(yè)務(wù),而不是花費大部分性能去處理參數(shù)合法化驗證工作。
【發(fā)明內(nèi)容】
[0004]本發(fā)明要解決的技術(shù)問題在于,針對現(xiàn)有技術(shù)的上述缺陷,提供一種防止惡意攻擊方法及網(wǎng)絡(luò)系統(tǒng)。所述方法包括以下步驟:
[0005]第二服務(wù)器接收所述客戶端發(fā)送的第一數(shù)據(jù),所述第一數(shù)據(jù)為來自各個客戶端的連接請求數(shù)據(jù);
[0006]所述第二服務(wù)器獲取過濾規(guī)則,所述過濾規(guī)則包括請求地址列表和參數(shù)規(guī)則;
[0007]所述第二服務(wù)器根據(jù)所述過濾規(guī)則對所述第一數(shù)據(jù)進(jìn)行過濾,并將滿足過濾規(guī)則的第一數(shù)據(jù)發(fā)送至第一服務(wù)器。
[0008]可選地,所述第二服務(wù)器接收所述客戶端發(fā)送的第一數(shù)據(jù),包括:
[0009]所述第二服務(wù)器解析所述第一數(shù)據(jù),得到所述各個客戶端的請求地址以及請求參數(shù)。
[0010]可選地,所述第二服務(wù)器獲取過濾規(guī)則,包括:
[0011]所述過濾規(guī)則預(yù)先存儲于第三服務(wù)器中,包括請求地址列表和參數(shù)規(guī)則,所述第二服務(wù)器通過配置文件獲取所述過濾規(guī)則。
[0012]可選地,所述第二服務(wù)器根據(jù)所述過濾規(guī)則對所述第一數(shù)據(jù)進(jìn)行過濾,并將滿足過濾規(guī)則的第一數(shù)據(jù)發(fā)送至第一服務(wù)器,包括步驟:
[0013]如果所述客戶端的請求地址在預(yù)設(shè)列表中,則拒絕訪問,并向客戶端返回錯誤信息;
[0014]如果所述客戶端的請求地址不在預(yù)設(shè)列表中,則驗證所述客戶端的請求參數(shù)的合法性;
[0015]獲取參數(shù)規(guī)則,通過所述參數(shù)規(guī)則過濾請求參數(shù),如果所述參數(shù)規(guī)則驗證不合法,則拒絕訪問,并向客戶端返回錯誤信息;如果所述參數(shù)規(guī)則驗證合法,則將對應(yīng)的請求數(shù)據(jù)發(fā)送至第一服務(wù)器。
[0016]可選地,所述第二服務(wù)器根據(jù)所述過濾規(guī)則對所述第一數(shù)據(jù)進(jìn)行過濾,并將滿足過濾規(guī)則的第一數(shù)據(jù)發(fā)送至第一服務(wù)器,包括:
[0017]第二服務(wù)器將滿足過濾規(guī)則的第一數(shù)據(jù)發(fā)送至第一服務(wù)器,建立客戶端與第一服務(wù)器的連接,所述第一服務(wù)器響應(yīng)客戶端發(fā)送的連接請求數(shù)據(jù),進(jìn)行業(yè)務(wù)處理。
[0018]本發(fā)明還提出一種防止惡意攻擊網(wǎng)絡(luò)系統(tǒng),包括至少一個客戶端、第一服務(wù)器以及第二服務(wù)器:
[0019]所述第一服務(wù)器,用于接收第二服務(wù)器發(fā)送的滿足過濾規(guī)則的第一數(shù)據(jù),并響應(yīng)所述第一數(shù)據(jù)進(jìn)行業(yè)務(wù)處理;
[0020]所述第二服務(wù)器,用于接收客戶端發(fā)送的第一數(shù)據(jù),所述第一數(shù)據(jù)為連接請求數(shù)據(jù),第二服務(wù)器獲取過濾規(guī)則并對所述第一數(shù)據(jù)進(jìn)行數(shù)據(jù)過濾。
[0021 ] 可選地,所述系統(tǒng)還包括:
[0022]第三服務(wù)器,用于存儲請求地址列表以及參數(shù)規(guī)則。
[0023]可選地,所述第二服務(wù)器還包括:
[0024]解析模塊,用于根據(jù)獲取的第一數(shù)據(jù),通過解析得到所述連接請求的客戶端請求地址;
[0025]查詢模塊,用于讀取分布于第三服務(wù)器的請求地址列表;
[0026]校驗?zāi)K,用于根據(jù)獲取的第一數(shù)據(jù),通過請求地址列表對解析得到的所述連接請求的客戶端請求地址進(jìn)行匹配校驗,檢測所述請求地址是否在預(yù)設(shè)請求地址列表中,如果在請求地址列表中,則拒絕訪問并向客戶端返回錯誤信息。
[0027]可選地,所述第二服務(wù)器還包括:
[0028]過濾器模塊,用于通過參數(shù)規(guī)則過濾請求鏈接和參數(shù),對于驗證參數(shù)規(guī)則不合法的連接請求數(shù)據(jù)進(jìn)行過濾。
[0029]可選地,所述第三服務(wù)器還包括:
[0030]規(guī)則配置模塊,用于配置參數(shù)規(guī)則和請求地址列表的調(diào)整,并同步更新到數(shù)據(jù)管理模塊;
[0031]數(shù)據(jù)管理模塊,用于請求地址以及參數(shù)規(guī)則的實時更新。
[0032]實施本發(fā)明的一種防惡意攻擊方法及網(wǎng)絡(luò)系統(tǒng),具有以下有益效果:
[0033]用戶訪問網(wǎng)站或者請求報文到服務(wù)器的過程中,通過解析請求的請求鏈接及參數(shù),根據(jù)請求參數(shù)過濾不符合規(guī)則的非法請求,直接在反向代理服務(wù)器返回錯誤信息,不直接進(jìn)入到后端服務(wù)器進(jìn)行參數(shù)合法化驗證,可以減少后端業(yè)務(wù)服務(wù)器的負(fù)載壓力,防止部分惡意攻擊。
【附圖說明】
[0034]下面將結(jié)合附圖及實施例對本發(fā)明作進(jìn)一步說明,附圖中:
[0035]圖1是本發(fā)明實施例一提供的一種防惡意攻擊方法流程圖;
[0036]圖2是本發(fā)明實施例提供的一種防惡意攻擊方法的服務(wù)器分布圖;
[0037]圖3是本發(fā)明實施例二提供的一種防惡意攻擊網(wǎng)絡(luò)系統(tǒng)示意圖;
[0038]圖4是本發(fā)明實施例三提供的一種防惡意攻擊方法流程圖;
[0039]圖5是本發(fā)明實施例四提供的一種防惡意攻擊方法的模塊交互圖;
[0040]圖6是本發(fā)明實施例五提供的一種防惡意攻擊方法的模塊交互圖。
【具體實施方式】
[0041]為了對本發(fā)明的技術(shù)特征、目的和效果有更加清楚的理解,現(xiàn)對照附圖詳細(xì)說明本發(fā)明的【具體實施方式】。
[0042]在通信網(wǎng)絡(luò)中,地址是分配給網(wǎng)絡(luò)上的每個設(shè)備的標(biāo)識符。當(dāng)應(yīng)用于因特網(wǎng)時,設(shè)備的地址通常稱為其“因特網(wǎng)協(xié)議地址”(IP地址),IP地址是設(shè)備在因特網(wǎng)上的虛擬位置的數(shù)字表示。如果設(shè)備承載一個網(wǎng)站,則使用該主機(jī)設(shè)備的IP地址來定位該主機(jī)設(shè)備,并提供從該網(wǎng)站對內(nèi)容的訪問。例如,網(wǎng)頁域名google, com實際上代表數(shù)字IP地址,該數(shù)字IP地址可以是例如73.14.213.99。當(dāng)網(wǎng)頁客戶端在其網(wǎng)頁瀏覽器中鍵入域名時,下游DNS系統(tǒng)將輸入的域名匹配或者路由到IP地址,然后使用該數(shù)字IP地址來定位和提供對與該地址相關(guān)聯(lián)的主機(jī)服務(wù)器設(shè)備的訪問。
[0043]通常,設(shè)備的IP地址由網(wǎng)絡(luò)中的實體為其進(jìn)行分配。例如,在CDMA網(wǎng)絡(luò)中,地址分配實體是分組數(shù)據(jù)服務(wù)節(jié)點(PDSN)。可以靜態(tài)地或動態(tài)地分配IP地址。靜態(tài)IP地址方案為一個客戶/設(shè)備分配一個IP地址,而動態(tài)IP地址方案以選擇的或者隨機(jī)的時間間隔,向給定的客戶/設(shè)備分配不同的IP地址。例如,每次給定的客戶登錄其計算機(jī),一些因特網(wǎng)服務(wù)提供商(ISP)向該客戶分配不同的IP地址。具有靜態(tài)的、唯一 IP地址的主機(jī)設(shè)備上的網(wǎng)站能可靠地訪問,并維持穩(wěn)定的客戶端服務(wù)器會話。相比而言,在動態(tài)分配IP地址方案的情況下,計算機(jī)將可能不得不與該網(wǎng)絡(luò)上的其它計算機(jī)共享IP地址。因此,在動態(tài)分配的IP地址上承載網(wǎng)站易于危及網(wǎng)頁客戶端能夠訪問該動態(tài)分配的地址可靠程度,以及