本技術(shù)涉及網(wǎng)絡(luò)安全,特別涉及一種基于netfilter框架防御網(wǎng)絡(luò)攻擊的檢測(cè)方法、系統(tǒng)及裝置。
背景技術(shù):
1、目前防御網(wǎng)絡(luò)攻擊的手段主要有網(wǎng)絡(luò)層防御,應(yīng)用層防御,以及在訪問(wèn)前進(jìn)行身份認(rèn)證和建立通信安全隧道。其中,網(wǎng)絡(luò)層防御在開(kāi)放系統(tǒng)互聯(lián)(open?systeminterconnection,osi)模型的第3和第4層運(yùn)行,可以保護(hù)數(shù)據(jù)傳輸和網(wǎng)絡(luò)流量;應(yīng)用層防御在osi模型的第7層運(yùn)行,防御針對(duì)cookie操控、sql注入和url等攻擊。通常的防御手段是在網(wǎng)絡(luò)環(huán)境里串行部署身份認(rèn)證系統(tǒng)、傳統(tǒng)防火墻和應(yīng)用層防火墻,身份認(rèn)證通過(guò)后,讓訪問(wèn)流量經(jīng)過(guò)兩套防火墻系統(tǒng)的檢測(cè)后再訪問(wèn)后面的服務(wù)。在部署配置這三類設(shè)備時(shí)需要管理員切換平臺(tái),不能根據(jù)具體攻擊情況對(duì)設(shè)備之間的規(guī)則配置進(jìn)行動(dòng)態(tài)互動(dòng)調(diào)整。這樣的話,客戶端、三類設(shè)備之間很難建立安全通信隧道。
技術(shù)實(shí)現(xiàn)思路
1、本技術(shù)實(shí)施例提供了一種基于netfilter框架防御網(wǎng)絡(luò)攻擊的檢測(cè)方法、系統(tǒng)及裝置,用于在提高防御系統(tǒng)部署的靈活性的同時(shí),實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)攻擊的多重檢測(cè)與有效防御。
2、第一方面,本技術(shù)實(shí)施例提供了一種基于netfilter框架防御網(wǎng)絡(luò)攻擊的檢測(cè)方法,應(yīng)用于一防御系統(tǒng),所述防御系統(tǒng)位于客戶端和所述客戶端待訪問(wèn)的服務(wù)器之間,所述方法包括:
3、通過(guò)第一檢測(cè)點(diǎn)將來(lái)自所述客戶端的訪問(wèn)流量送入認(rèn)證隧道模塊,并進(jìn)行認(rèn)證判定,且在認(rèn)證通過(guò)后,所述防御系統(tǒng)啟動(dòng)和所述客戶端建立安全通信隧道的流程;
4、通過(guò)第二檢測(cè)點(diǎn)將上送至應(yīng)用層的數(shù)據(jù)包發(fā)送至應(yīng)用防火墻模塊,并進(jìn)行web攻擊類的檢測(cè);其中,所述第二檢測(cè)點(diǎn)和所述第一檢測(cè)點(diǎn)分別設(shè)置在所述netfilter框架的prerouting鏈上;
5、通過(guò)第三檢測(cè)點(diǎn)將經(jīng)由所述應(yīng)用防火墻模塊檢測(cè)后的數(shù)據(jù)包發(fā)送至包過(guò)濾模塊,并進(jìn)行網(wǎng)絡(luò)層檢測(cè);其中,所述第三檢測(cè)點(diǎn)設(shè)置在所述netfilter框架的forward鏈上。
6、在其中一種可能的實(shí)現(xiàn)方式中,所述防御系統(tǒng)還包括分別與所述認(rèn)證隧道模塊、所述應(yīng)用防火墻模塊和所述包過(guò)濾模塊連接的日志分析生成動(dòng)態(tài)策略模塊,所述方法還包括:
7、通過(guò)所述日志分析生成動(dòng)態(tài)策略模塊獲取來(lái)自所述應(yīng)用防火墻模塊的攻擊日志,以及來(lái)自所述包過(guò)濾模塊的包過(guò)濾日志;
8、對(duì)所述攻擊日志進(jìn)行分析,生成針對(duì)所述第一檢測(cè)點(diǎn)和所述第三檢測(cè)點(diǎn)的防御阻斷策略;
9、對(duì)所述包過(guò)濾日志進(jìn)行分析,生成針對(duì)所述第一檢測(cè)點(diǎn)的控制策略,以在處理流量?jī)?nèi)核協(xié)議棧的最開(kāi)始入口阻斷攻擊。
10、在其中一種可能的實(shí)現(xiàn)方式中,所述對(duì)所述攻擊日志進(jìn)行分析,生成針對(duì)所述第一檢測(cè)點(diǎn)和所述第三檢測(cè)點(diǎn)的防御阻斷策略,包括以下中的一種:
11、通過(guò)所述第一檢測(cè)點(diǎn)通知所述認(rèn)證隧道模塊踢出針對(duì)所述客戶端的訪問(wèn)用戶,并斷開(kāi)所述安全通信隧道;
12、通過(guò)生成針對(duì)網(wǎng)絡(luò)層的包過(guò)濾阻斷策略,在所述第三檢測(cè)點(diǎn)封禁所述訪問(wèn)用戶的ip;
13、在所述第一檢測(cè)點(diǎn)和所述第三檢測(cè)點(diǎn)同時(shí)加強(qiáng)攻擊防御措施。
14、在其中一種可能的實(shí)現(xiàn)方式中,所述通過(guò)第一檢測(cè)點(diǎn)將來(lái)自客戶端的訪問(wèn)流量送入認(rèn)證隧道模塊,并進(jìn)行認(rèn)證判定,包括:
15、在來(lái)自所述客戶端的所述訪問(wèn)流量命中所述第一檢測(cè)點(diǎn)之后,所述訪問(wèn)流量進(jìn)入所述認(rèn)證隧道模塊;
16、通過(guò)所述認(rèn)證隧道模塊對(duì)來(lái)自所述客戶端的訪問(wèn)用戶的身份信息進(jìn)行認(rèn)證;
17、若認(rèn)證不通過(guò),則拒絕登錄;
18、若認(rèn)證通過(guò),則給所述客戶端分配虛擬ip,并將所述虛擬ip和所述防御系統(tǒng)ip發(fā)送至所述客戶端,以使所述客戶端與所述防御系統(tǒng)之間建立安全通信隧道。
19、在其中一種可能的實(shí)現(xiàn)方式中,所述應(yīng)用防火墻模塊包括基于nginx的limit_conn_zone模塊、limit_request模塊、core模塊以及modsecurity模塊,所述通過(guò)第二檢測(cè)點(diǎn)將上送至應(yīng)用層的數(shù)據(jù)包發(fā)送至應(yīng)用防火墻模塊,并進(jìn)行web攻擊類的檢測(cè),包括:
20、通過(guò)所述第二檢測(cè)點(diǎn)將上送至應(yīng)用層的數(shù)據(jù)包發(fā)送至所述limit_conn_zone模塊、所述limit_request模塊、所述core模塊以及所述modsecurity模塊;
21、通過(guò)所述limit_conn_zone模塊限制同一ip地址的并發(fā)連接數(shù);
22、通過(guò)所述limit_request模塊限制同一ip地址在特定時(shí)間段的訪問(wèn)量;
23、通過(guò)所述core模塊提供的limit_rate限制同一ip地址的流量;
24、若檢測(cè)到所述訪問(wèn)流量觸發(fā)了針對(duì)所述limit_conn_zone模塊、所述limit_request模塊和所述core模塊的限制,則告警并記錄相應(yīng)的日志
25、通過(guò)所述modsecurity模塊對(duì)經(jīng)由nginx放過(guò)的url攻擊詳情進(jìn)行分析,記錄、阻止惡意活動(dòng)和攻擊行為。
26、在其中一種可能的實(shí)現(xiàn)方式中,所述通過(guò)第三檢測(cè)點(diǎn)將經(jīng)由所述應(yīng)用防火墻模塊檢測(cè)后的數(shù)據(jù)包發(fā)送至包過(guò)濾模塊,并進(jìn)行網(wǎng)絡(luò)層檢測(cè),包括:
27、通過(guò)所述第三檢測(cè)點(diǎn)將經(jīng)由所述應(yīng)用防火墻模塊檢測(cè)后的數(shù)據(jù)包發(fā)送至所述包過(guò)濾模塊;
28、通過(guò)所述包過(guò)濾模塊檢測(cè)是否有網(wǎng)絡(luò)層dos攻擊,并對(duì)經(jīng)由所述應(yīng)用防火墻模塊檢測(cè)后的數(shù)據(jù)包的五元組進(jìn)行過(guò)濾控制。
29、在其中一種可能的實(shí)現(xiàn)方式中,若所述第二檢測(cè)點(diǎn)和所述第三檢測(cè)點(diǎn)均開(kāi)啟,在所述應(yīng)用防火墻模塊進(jìn)行web攻擊類的檢測(cè)之前,所述方法還包括:
30、若所述客戶端通過(guò)所述防御系統(tǒng)訪問(wèn)的服務(wù)器配置了應(yīng)用防火墻防護(hù)策略,則所述訪問(wèn)流量命中所述第二檢測(cè)點(diǎn),通過(guò)所述應(yīng)用防火墻對(duì)上送至所述應(yīng)用層的數(shù)據(jù)包進(jìn)行過(guò)濾,獲得過(guò)濾后的數(shù)據(jù)包;
31、通過(guò)修改所述prerouting鏈的hook點(diǎn)內(nèi)核代碼,重新調(diào)用所述第三檢測(cè)點(diǎn)的包過(guò)濾策略對(duì)所述過(guò)濾后的數(shù)據(jù)包進(jìn)行過(guò)濾,再被重定向到所述防御系統(tǒng)的本地,以使所述應(yīng)用防火墻模塊進(jìn)行web攻擊類的檢測(cè)。
32、在其中一種可能的實(shí)現(xiàn)方式中,若所述第一檢測(cè)點(diǎn)、第二檢測(cè)點(diǎn)和所述第三檢測(cè)點(diǎn)均開(kāi)啟,在所述通過(guò)第三檢測(cè)點(diǎn)將經(jīng)由所述waf模塊檢測(cè)后的數(shù)據(jù)包發(fā)送至包過(guò)濾模塊之前,所述方法還包括:
33、將經(jīng)由所述應(yīng)用防火墻模塊檢測(cè)后的數(shù)據(jù)包發(fā)送至postrouting鏈,命中snat轉(zhuǎn)換規(guī)則,獲得轉(zhuǎn)換后的數(shù)據(jù)包;其中,所述postrouting鏈位于所述netfilter框架上;
34、通過(guò)修改所述postrouting鏈的hook點(diǎn)內(nèi)核代碼,將所述轉(zhuǎn)換后的數(shù)據(jù)包發(fā)送至所述包過(guò)濾模塊,以使所述包過(guò)濾模塊進(jìn)行網(wǎng)絡(luò)層檢測(cè)。
35、第二方面,本技術(shù)實(shí)施例提供了一種基于netfilter框架防御網(wǎng)絡(luò)攻擊的防御系統(tǒng),所述防御系統(tǒng)位于客戶端和所述客戶端待訪問(wèn)的服務(wù)器之間,所述系統(tǒng)包括:
36、分別設(shè)置在prerouting鏈上的第一檢測(cè)點(diǎn)和第二檢測(cè)點(diǎn),設(shè)置在forward鏈上的第三檢測(cè)點(diǎn);其中,所述prerouting鏈和所述forward鏈位于所述netfilter框架上;
37、通過(guò)所述第一檢測(cè)點(diǎn)與所述netfilter框架連接的認(rèn)證隧道模塊,所述認(rèn)證隧道模塊被配置為通過(guò)所述第一檢測(cè)點(diǎn)接收來(lái)自所述客戶端的訪問(wèn)流量,并進(jìn)行認(rèn)證判定,且在認(rèn)證通過(guò)后,所述防御系統(tǒng)啟動(dòng)和所述客戶端建立安全通信隧道的流程;
38、通過(guò)所述第二檢測(cè)點(diǎn)與所述netfilter框架連接的應(yīng)用防火墻模塊,所述應(yīng)用防火墻模塊被配置為通過(guò)所述第二檢測(cè)點(diǎn)接收上送至應(yīng)用層的數(shù)據(jù)包,并進(jìn)行web攻擊類的檢測(cè);
39、通過(guò)所述第三檢測(cè)點(diǎn)與所述netfilter框架連接的包過(guò)濾模塊,所述包過(guò)濾模塊被配置為通過(guò)所述第三檢測(cè)點(diǎn)接收經(jīng)由所述應(yīng)用防火墻模塊檢測(cè)后的數(shù)據(jù)包,并進(jìn)行網(wǎng)絡(luò)層檢測(cè)。
40、在其中一種可能的實(shí)現(xiàn)方式中,所述系統(tǒng)還包括:
41、分別與所述認(rèn)證隧道模塊、應(yīng)用防火墻模塊和所述包過(guò)濾模塊連接的日志分析生成動(dòng)態(tài)策略模塊,所述日志分析生成動(dòng)態(tài)策略模塊被配置為:
42、通過(guò)所述日志分析生成動(dòng)態(tài)策略模塊獲取來(lái)自所述應(yīng)用防火墻模塊的攻擊日志,以及來(lái)自所述包過(guò)濾模塊的包過(guò)濾日志;
43、對(duì)所述攻擊日志進(jìn)行分析,生成針對(duì)所述第一檢測(cè)點(diǎn)和所述第三檢測(cè)點(diǎn)的防御阻斷策略;
44、對(duì)所述包過(guò)濾日志進(jìn)行分析,生成針對(duì)所述第一檢測(cè)點(diǎn)的控制策略,以在處理流量?jī)?nèi)核協(xié)議棧的最開(kāi)始入口阻斷攻擊。
45、第三方面,本技術(shù)實(shí)施例提供了一種基于netfilter框架防御網(wǎng)絡(luò)攻擊的檢測(cè)裝置,應(yīng)用于一防御系統(tǒng),所述裝置包括:
46、認(rèn)證單元,通過(guò)第一檢測(cè)點(diǎn)將來(lái)自客戶端的訪問(wèn)流量送入認(rèn)證隧道模塊,并進(jìn)行認(rèn)證判定,且在認(rèn)證通過(guò)后,所述防御系統(tǒng)啟動(dòng)和所述客戶端建立安全通信隧道的流程;
47、第一檢測(cè)單元,通過(guò)第二檢測(cè)點(diǎn)將上送至應(yīng)用層的數(shù)據(jù)包發(fā)送至應(yīng)用防火墻模塊,并進(jìn)行web攻擊類的檢測(cè);其中,所述第二檢測(cè)點(diǎn)和所述第一檢測(cè)點(diǎn)分別設(shè)置在所述netfilter框架的prerouting鏈上;
48、第二檢測(cè)單元,通過(guò)第三檢測(cè)點(diǎn)將經(jīng)由所述應(yīng)用防火墻模塊檢測(cè)后的數(shù)據(jù)包發(fā)送至包過(guò)濾模塊,并進(jìn)行網(wǎng)絡(luò)層檢測(cè);其中,所述第三檢測(cè)點(diǎn)設(shè)置在所述netfilter框架的forward鏈上。
49、在其中一種可能的實(shí)現(xiàn)方式中,所述裝置還包括策略調(diào)整單元,所述策略調(diào)整單元用于:
50、通過(guò)所述日志分析生成動(dòng)態(tài)策略模塊獲取來(lái)自所述應(yīng)用防火墻模塊的攻擊日志,以及來(lái)自所述包過(guò)濾模塊的包過(guò)濾日志;
51、對(duì)所述攻擊日志進(jìn)行分析,生成針對(duì)所述第一檢測(cè)點(diǎn)和所述第三檢測(cè)點(diǎn)的防御阻斷策略;
52、對(duì)所述包過(guò)濾日志進(jìn)行分析,生成針對(duì)所述第一檢測(cè)點(diǎn)的控制策略,以在處理流量?jī)?nèi)核協(xié)議棧的最開(kāi)始入口阻斷攻擊。
53、第四方面,本技術(shù)實(shí)施例提供了一種電子設(shè)備,包括:
54、存儲(chǔ)器,用于存放計(jì)算機(jī)程序;
55、處理器,用于執(zhí)行所述存儲(chǔ)器上所存放的計(jì)算機(jī)程序時(shí),實(shí)現(xiàn)如上面任一項(xiàng)所述的方法步驟。
56、第五方面,本技術(shù)實(shí)施例提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)內(nèi)存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如上面任一項(xiàng)所述的方法步驟。
57、本技術(shù)實(shí)施例的有益效果如下:
58、本技術(shù)實(shí)施例提供了一種基于netfilter框架防御網(wǎng)絡(luò)攻擊的檢測(cè)方法、系統(tǒng)及裝置,其中,該檢測(cè)方法應(yīng)用于一防御系統(tǒng),該防御系統(tǒng)位于客戶端和客戶端待訪問(wèn)的服務(wù)器之間,通過(guò)設(shè)置在netfilter框架的prerouting鏈上的第一檢測(cè)點(diǎn),可以將來(lái)自客戶端的訪問(wèn)流量送入認(rèn)證隧道模塊,并進(jìn)行認(rèn)證判定,在認(rèn)證通過(guò)后,防御系統(tǒng)啟動(dòng)和客戶端建立安全通信隧道的流程。這樣的話,通過(guò)防御系統(tǒng)可以進(jìn)行身份認(rèn)證與建立安全通信隧道。而且,通過(guò)設(shè)置在netfilter框架的prerouting鏈上的第二檢測(cè)點(diǎn),可以將上送至應(yīng)用層的數(shù)據(jù)包發(fā)送至應(yīng)用防火墻模塊,并進(jìn)行web攻擊類的檢測(cè)。這樣的話,通過(guò)防御系統(tǒng)可以實(shí)現(xiàn)對(duì)應(yīng)用層的檢測(cè)。此外,通過(guò)設(shè)置在netfilter框架的forward鏈上的第三檢測(cè)點(diǎn),可以將經(jīng)由應(yīng)用防火墻模塊檢測(cè)后的數(shù)據(jù)包發(fā)送至包過(guò)濾模塊,并進(jìn)行網(wǎng)絡(luò)層檢測(cè)。這樣的話,通過(guò)防御系統(tǒng)可以實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)層的檢測(cè)。
59、如此一來(lái),在部署同一防御系統(tǒng)的前提下,可以通過(guò)本技術(shù)實(shí)施例提供的基于netfilter框架防御網(wǎng)絡(luò)攻擊的檢測(cè)方法,實(shí)現(xiàn)對(duì)一次網(wǎng)絡(luò)訪問(wèn)進(jìn)行認(rèn)證判定、應(yīng)用層檢測(cè)、網(wǎng)絡(luò)層檢測(cè)這三個(gè)不同維度的安全檢測(cè),提高了對(duì)網(wǎng)絡(luò)攻擊的防護(hù)等級(jí),減少了傳統(tǒng)多方位檢測(cè)的網(wǎng)絡(luò)延遲,降低了實(shí)現(xiàn)多方位安全防護(hù)的配置復(fù)雜度和工作量。