本申請(qǐng)涉及安全防護(hù)領(lǐng)域,特別涉及一種防m(xù)ac泛洪攻擊的方法及裝置。
背景技術(shù):
當(dāng)交換機(jī)接收到報(bào)文,無(wú)法在本地查找到對(duì)應(yīng)于該報(bào)文的源mac的mac表項(xiàng)時(shí),可以通過(guò)保存該報(bào)文的源mac與接收該報(bào)文的端口的映射關(guān)系,來(lái)學(xué)習(xí)對(duì)應(yīng)于該報(bào)文的源mac的mac表項(xiàng)。
mac泛洪攻擊正是基于上述交換機(jī)學(xué)習(xí)mac表項(xiàng)的機(jī)制產(chǎn)生的。在典型的mac泛洪攻擊中,攻擊者通過(guò)局域網(wǎng)中與交換機(jī)連接的主機(jī)向交換機(jī)發(fā)送大量具有偽造出的無(wú)效源mac的報(bào)文,導(dǎo)致交換機(jī)內(nèi)存或芯片資源學(xué)習(xí)到大量對(duì)應(yīng)于無(wú)效mac地址的mac表項(xiàng),從而在后續(xù)沒(méi)有足夠的交換機(jī)內(nèi)存或芯片資源來(lái)存放有效的mac地址與端口的映射關(guān)系。
當(dāng)交換機(jī)內(nèi)存或芯片資源被完全占用時(shí),交換機(jī)在后續(xù)無(wú)法學(xué)習(xí)新的mac表項(xiàng),mac泛洪攻擊成功,此時(shí),交換機(jī)進(jìn)入失效開(kāi)放(failopen)模式。交換機(jī)進(jìn)入失效開(kāi)放模式后,在后續(xù)接收到報(bào)文時(shí),會(huì)將后續(xù)接收到的報(bào)文廣播至除接收該報(bào)文的端口以外的所有端口。在這種情況下,正常的報(bào)文都會(huì)被泛洪處理,降低了交換機(jī)的工作效率。此外,攻擊者可以進(jìn)一步通過(guò)嗅探工具,對(duì)在局域網(wǎng)內(nèi)廣播的報(bào)文進(jìn)行捕獲,從而得到機(jī)密信息或者各類(lèi)業(yè)務(wù)敏感信息。
在現(xiàn)有技術(shù)中,通過(guò)限制交換機(jī)學(xué)習(xí)對(duì)應(yīng)于各端口的mac地址的數(shù)量來(lái)防范mac泛洪攻擊。當(dāng)交換機(jī)的任一端口遭受到mac泛洪攻擊時(shí),交換機(jī)會(huì)學(xué)習(xí)對(duì)應(yīng)于該端口的mac表項(xiàng),當(dāng)學(xué)習(xí)到的mac表項(xiàng)達(dá)到預(yù)設(shè)的數(shù)量上限后,交換機(jī)不再學(xué)習(xí)對(duì)應(yīng)于該端口的新的mac表項(xiàng)。在這種情況下,若交換機(jī)的任一端口遭受mac泛洪攻擊,交換機(jī)內(nèi)存或芯片資源不會(huì)被無(wú)效的mac表項(xiàng)占滿(mǎn),交換機(jī)從其它未受mac泛洪攻擊的端口接收到報(bào)文后,仍可以正常學(xué)習(xí)新的mac表項(xiàng),以及在查找到對(duì)應(yīng)的表項(xiàng)后單播該報(bào)文。
然而,現(xiàn)有技術(shù)中,當(dāng)交換機(jī)的任一端口遭受到mac泛洪攻擊,且交換機(jī)學(xué)習(xí)到的對(duì)應(yīng)于該端口的mac表項(xiàng)達(dá)到預(yù)設(shè)的數(shù)量上限后,由于無(wú)法學(xué)習(xí)到對(duì)應(yīng)于該端口的新的mac表項(xiàng),交換機(jī)在后續(xù)接收到正常的報(bào)文時(shí),如果該報(bào)文的目的mac與上述遭受攻擊的端口相對(duì)應(yīng),由于交換機(jī)不再學(xué)習(xí)對(duì)應(yīng)于該端口的mac表項(xiàng),因此,交換機(jī)無(wú)法查找到對(duì)應(yīng)于該報(bào)文的目的mac的mac表項(xiàng),會(huì)泛洪該報(bào)文。
可見(jiàn),現(xiàn)有技術(shù)在防護(hù)mac泛洪攻擊時(shí),會(huì)導(dǎo)致正常的報(bào)文被泛洪處理,降低了局域網(wǎng)的通信效率。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本申請(qǐng)?zhí)峁┮环N防m(xù)ac泛洪攻擊的方法及裝置,用于解決現(xiàn)有技術(shù)在防護(hù)mac泛洪攻擊時(shí),會(huì)導(dǎo)致正常的報(bào)文被泛洪處理,降低局域網(wǎng)的通信效率的問(wèn)題。
具體地,本申請(qǐng)是通過(guò)如下技術(shù)方案實(shí)現(xiàn)的:
一種防m(xù)ac泛洪攻擊的方法,應(yīng)用于網(wǎng)管服務(wù)器,所述網(wǎng)管服務(wù)器與目標(biāo)局域網(wǎng)中的網(wǎng)關(guān)設(shè)備對(duì)接;所述目標(biāo)局域網(wǎng)還包括若干個(gè)接入交換機(jī)以及若干個(gè)終端設(shè)備,包括:
接收到所述網(wǎng)關(guān)設(shè)備上傳的mac地址;所述mac地址包括所述網(wǎng)關(guān)設(shè)備的mac地址,以及所述網(wǎng)關(guān)設(shè)備所在網(wǎng)段的終端設(shè)備的mac地址;
基于所述網(wǎng)關(guān)設(shè)備上傳的mac地址創(chuàng)建mac地址集;
向各接入交換機(jī)下發(fā)所述mac地址集,以使得各接入交換機(jī)基于所述mac地址集生成防m(xù)ac泛洪攻擊的mac地址白名單。
在所述防m(xù)ac泛洪攻擊的方法中,所述接入交換機(jī)預(yù)先配置許可arp報(bào)文以及dhcp報(bào)文通過(guò)的acl表項(xiàng);
所述網(wǎng)關(guān)設(shè)備所在網(wǎng)段的終端設(shè)備的mac地址,為所述網(wǎng)關(guān)設(shè)備周期性掃描所述接入交換機(jī)上送的arp報(bào)文學(xué)習(xí)到的mac地址。
在所述防m(xù)ac泛洪攻擊的方法中,所述方法還包括:
基于所述mac地址集生成防m(xù)ac泛洪攻擊的mac地址白名單,并將所述mac地址白名單下發(fā)至各接入交換機(jī)。
在所述防m(xù)ac泛洪攻擊的方法中,所述mac地址白名單,包括以所述mac地址集中的mac地址分別作為源mac和目的mac而創(chuàng)建的acl白名單表項(xiàng)。
在所述防m(xù)ac泛洪攻擊的方法中,所述許可arp報(bào)文以及dhcp報(bào)文通過(guò)的acl表項(xiàng)的優(yōu)先級(jí)大于以所述mac地址集中的mac地址創(chuàng)建的acl白名單表項(xiàng)的優(yōu)先級(jí)。
一種防m(xù)ac泛洪攻擊的裝置,應(yīng)用于網(wǎng)管服務(wù)器,所述網(wǎng)管服務(wù)器與目標(biāo)局域網(wǎng)中的網(wǎng)關(guān)設(shè)備對(duì)接;所述目標(biāo)局域網(wǎng)還包括若干個(gè)接入交換機(jī)以及若干個(gè)終端設(shè)備,包括:
接收單元,用于接收到所述網(wǎng)關(guān)設(shè)備上傳的mac地址;所述mac地址包括所述網(wǎng)關(guān)設(shè)備的mac地址,以及所述網(wǎng)關(guān)設(shè)備所在網(wǎng)段的終端設(shè)備的mac地址;
創(chuàng)建單元,用于基于所述網(wǎng)關(guān)設(shè)備上傳的mac地址創(chuàng)建mac地址集;
下發(fā)單元,用于向各接入交換機(jī)下發(fā)所述mac地址集,以使得各接入交換機(jī)基于所述mac地址集生成防m(xù)ac泛洪攻擊的mac地址白名單。
在所述防m(xù)ac泛洪攻擊的裝置中,所述接入交換機(jī)預(yù)先配置許可arp報(bào)文以及dhcp報(bào)文通過(guò)的acl表項(xiàng);
所述網(wǎng)關(guān)設(shè)備所在網(wǎng)段的終端設(shè)備的mac地址,為所述網(wǎng)關(guān)設(shè)備周期性掃描所述接入交換機(jī)上送的arp報(bào)文學(xué)習(xí)到的mac地址。
在所述防m(xù)ac泛洪攻擊的裝置中,所述下發(fā)單元,進(jìn)一步用于:
基于所述mac地址集生成防m(xù)ac泛洪攻擊的mac地址白名單,并將所述mac地址白名單下發(fā)至各接入交換機(jī)。
在所述防m(xù)ac泛洪攻擊的裝置中,所述mac地址白名單,包括以所述mac地址集中的mac地址分別作為源mac和目的mac而創(chuàng)建的acl白名單表項(xiàng)。
在所述防m(xù)ac泛洪攻擊的裝置中,所述許可arp報(bào)文以及dhcp報(bào)文通過(guò)的acl表項(xiàng)的優(yōu)先級(jí)大于以所述mac地址集中的mac地址創(chuàng)建的acl白名單表項(xiàng)的優(yōu)先級(jí)。
在本申請(qǐng)實(shí)施例中,網(wǎng)管服務(wù)器接收到網(wǎng)關(guān)設(shè)備上傳的mac地址,其中,該mac地址包括所述網(wǎng)關(guān)設(shè)備的mac地址和所述網(wǎng)關(guān)設(shè)備所在網(wǎng)段的終端設(shè)備的mac地址;網(wǎng)管服務(wù)器可以基于所述網(wǎng)關(guān)設(shè)備上傳的mac地址創(chuàng)建mac地址集,然后,向各交換機(jī)下發(fā)所述mac地址集,以使得各交換機(jī)基于所述mac地址集生成防m(xù)ac泛洪攻擊的mac地址白名單;
由于所述mac地址白名單中僅包括所述目標(biāo)局域網(wǎng)中的所有設(shè)備的mac地址,所以各交換機(jī)基于所述mac地址白名單過(guò)濾后,不會(huì)因?qū)W習(xí)具有無(wú)效的源mac的報(bào)文,而導(dǎo)致交換機(jī)內(nèi)存或芯片資源被占滿(mǎn);也不會(huì)因泛洪大量具有無(wú)效目的mac的報(bào)文,而導(dǎo)致局域網(wǎng)的通信效率下降。因此,本申請(qǐng)可以有效地防護(hù)mac泛洪攻擊。
附圖說(shuō)明
圖1是現(xiàn)有技術(shù)的一種局域網(wǎng)架構(gòu)圖;
圖2是本申請(qǐng)示出的一種局域網(wǎng)架構(gòu)圖;
圖3是本申請(qǐng)示出的一種防m(xù)ac泛洪攻擊的方法的流程圖;
圖4是本申請(qǐng)示出的一種防m(xù)ac泛洪攻擊的裝置的實(shí)施例框圖;
圖5是本申請(qǐng)示出的一種防m(xù)ac泛洪攻擊的裝置的硬件結(jié)構(gòu)圖。
具體實(shí)施方式
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明實(shí)施例中的技術(shù)方案,并使本發(fā)明實(shí)施例的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖對(duì)現(xiàn)有技術(shù)方案和本發(fā)明實(shí)施例中的技術(shù)方案作進(jìn)一步詳細(xì)的說(shuō)明。
交換機(jī)上保存有記錄mac地址的表,用以完成數(shù)據(jù)的快速轉(zhuǎn)發(fā)。交換機(jī)接收到報(bào)文后,會(huì)根據(jù)報(bào)文的目的mac查找該表,獲得對(duì)應(yīng)于該目的mac的mac表項(xiàng),然后從該mac表項(xiàng)中的端口將報(bào)文轉(zhuǎn)發(fā)出去。其中,該表可以是cam(contentaddressablememory,內(nèi)容可尋址存儲(chǔ)器)表。
當(dāng)交換機(jī)接收到報(bào)文后,首先會(huì)檢查本地是否已保存對(duì)應(yīng)于該報(bào)文的源mac的mac表項(xiàng),如果否,則可以通過(guò)保存該報(bào)文的源mac與接收該報(bào)文的端口的映射關(guān)系,來(lái)學(xué)習(xí)對(duì)應(yīng)于該報(bào)文的源mac的mac表項(xiàng)。
mac泛洪攻擊正是基于上述交換機(jī)學(xué)習(xí)mac表項(xiàng)的機(jī)制產(chǎn)生的。在典型的mac泛洪攻擊中,攻擊者通過(guò)局域網(wǎng)中與交換機(jī)連接的主機(jī)向交換機(jī)發(fā)送大量具有偽造出的無(wú)效源mac的報(bào)文,導(dǎo)致交換機(jī)內(nèi)存或芯片資源學(xué)習(xí)到大量對(duì)應(yīng)于無(wú)效mac地址的mac表項(xiàng),從而在后續(xù)沒(méi)有足夠的交換機(jī)內(nèi)存或芯片資源來(lái)存放有效的mac地址與端口的映射關(guān)系。
參見(jiàn)圖1,為現(xiàn)有技術(shù)的一種局域網(wǎng)架構(gòu)圖,如圖1所示,交換機(jī)分別通過(guò)端口1、端口2、端口3與計(jì)算機(jī)a、計(jì)算機(jī)b、計(jì)算機(jī)c連接。
當(dāng)攻擊者通過(guò)計(jì)算機(jī)b對(duì)交換機(jī)進(jìn)行mac泛洪攻擊時(shí),會(huì)向交換機(jī)發(fā)送大量具有偽造出的無(wú)效源mac的報(bào)文。交換機(jī)接收到計(jì)算機(jī)b發(fā)送的報(bào)文后,會(huì)學(xué)習(xí)大量對(duì)應(yīng)于無(wú)效mac地址的mac表項(xiàng),并存儲(chǔ)在交換機(jī)內(nèi)存或芯片資源中。當(dāng)交換機(jī)學(xué)習(xí)到的mac表項(xiàng)達(dá)到一定的數(shù)量后,交換機(jī)內(nèi)存或芯片資源被mac表項(xiàng)占滿(mǎn),交換機(jī)無(wú)法再學(xué)習(xí)新的mac表項(xiàng)。此時(shí),mac泛洪攻擊成功。
交換機(jī)無(wú)法學(xué)習(xí)新的mac表項(xiàng)后,進(jìn)入失效開(kāi)放模式,在后續(xù)接收到報(bào)文時(shí),將報(bào)文廣播至所有端口。在這種情況下,正常的報(bào)文都會(huì)被泛洪處理,降低了交換機(jī)的工作效率。
仍以圖1為例,當(dāng)計(jì)算機(jī)b向交換機(jī)進(jìn)行mac泛洪攻擊成功后,如果計(jì)算機(jī)a與計(jì)算機(jī)c之間互相通信,由于交換機(jī)無(wú)法學(xué)習(xí)對(duì)應(yīng)于計(jì)算機(jī)a和計(jì)算機(jī)c的mac表項(xiàng),因此會(huì)將計(jì)算機(jī)a發(fā)送至計(jì)算機(jī)c的報(bào)文廣播至除端口1以外的所有端口。
在這種情況下,計(jì)算機(jī)b會(huì)接收到計(jì)算機(jī)a發(fā)送至計(jì)算機(jī)c的報(bào)文。如果攻擊者通過(guò)嗅探工具(例如:wireshark)捕獲局域網(wǎng)內(nèi)廣播的報(bào)文,則可以得到機(jī)密信息或者各類(lèi)業(yè)務(wù)敏感信息。
可見(jiàn),mac泛洪攻擊的后果十分嚴(yán)重?,F(xiàn)有技術(shù)通過(guò)限制交換機(jī)學(xué)習(xí)對(duì)應(yīng)于各端口的mac地址的數(shù)量來(lái)防范mac泛洪攻擊。如果交換機(jī)的任一端口遭受mac泛洪攻擊,且交換機(jī)學(xué)習(xí)到的對(duì)應(yīng)于該端口的mac表項(xiàng)達(dá)到預(yù)設(shè)的數(shù)量上限后,交換機(jī)從該端口接收到報(bào)文后,不再學(xué)習(xí)新的mac表項(xiàng)。在這種情況下,不會(huì)因?yàn)橐粋€(gè)端口遭受mac泛洪攻擊,而導(dǎo)致交換機(jī)內(nèi)存或芯片資源全部被無(wú)效mac表項(xiàng)占滿(mǎn),因此,其它端口仍可以正常學(xué)習(xí)mac表項(xiàng)。現(xiàn)有技術(shù)有效地減少了mac泛洪攻擊的攻擊范圍。
然而,當(dāng)交換機(jī)從未受攻擊的端口接收到報(bào)文,且該報(bào)文發(fā)往通過(guò)遭受攻擊的上述端口接入交換機(jī)的終端設(shè)備時(shí),如果交換機(jī)沒(méi)有學(xué)習(xí)過(guò)對(duì)應(yīng)于該終端設(shè)備的mac表項(xiàng),則交換機(jī)將報(bào)文廣播至所有端口。
可見(jiàn),在現(xiàn)有技術(shù)中,遭遇mac泛洪攻擊后,交換機(jī)仍舊會(huì)泛洪正常業(yè)務(wù)的報(bào)文,可能影響正常業(yè)務(wù)的處理時(shí)延。
為解決上述問(wèn)題,本申請(qǐng)技術(shù)方案將局域網(wǎng)內(nèi)所有終端設(shè)備和網(wǎng)關(guān)設(shè)備的mac地址下發(fā)至局域網(wǎng)中的各交換機(jī);各交換機(jī)基于接收到的mac地址生成防m(xù)ac泛洪攻擊的mac地址白名單。當(dāng)交換機(jī)接收到具有無(wú)效源mac的報(bào)文后,可以直接丟棄報(bào)文,不再學(xué)習(xí)對(duì)應(yīng)于無(wú)效源mac的mac表項(xiàng)。
請(qǐng)參見(jiàn)圖2,為本申請(qǐng)示出的一種局域網(wǎng)架構(gòu)圖,如圖2所示,該局域網(wǎng)(下文稱(chēng)為目標(biāo)局域網(wǎng))中存在網(wǎng)管服務(wù)器、網(wǎng)關(guān)設(shè)備、交換機(jī)e、交換機(jī)f、計(jì)算機(jī)a、計(jì)算機(jī)b、計(jì)算機(jī)c和計(jì)算機(jī)d;其中,網(wǎng)管服務(wù)器與網(wǎng)關(guān)設(shè)備對(duì)接。
請(qǐng)繼續(xù)參見(jiàn)圖3,為本申請(qǐng)示出的一種防m(xù)ac泛洪攻擊的方法的流程圖,該方法應(yīng)用于網(wǎng)管服務(wù)器,所述網(wǎng)管服務(wù)器與目標(biāo)局域網(wǎng)中的網(wǎng)關(guān)設(shè)備對(duì)接;所述目標(biāo)局域網(wǎng)還包括若干個(gè)接入交換機(jī)以及若干個(gè)終端設(shè)備,該方法包括以下步驟:
步驟301:接收到所述網(wǎng)關(guān)設(shè)備上傳的mac地址;所述mac地址包括所述網(wǎng)關(guān)設(shè)備的mac地址,以及所述網(wǎng)關(guān)設(shè)備所在網(wǎng)段的終端設(shè)備的mac地址。
步驟302:基于所述網(wǎng)關(guān)設(shè)備上傳的mac地址創(chuàng)建mac地址集。
步驟303:向各接入交換機(jī)下發(fā)所述mac地址集,以使得各接入交換機(jī)基于所述mac地址集生成防m(xù)ac泛洪攻擊的mac地址白名單。
其中,上述接入交換機(jī)指的是直接連接終端設(shè)備的交換機(jī)。
在本申請(qǐng)實(shí)施例中,初始狀態(tài)下,目標(biāo)局域網(wǎng)內(nèi)的接入交換機(jī)預(yù)先配置對(duì)應(yīng)于arp(addressresolutionprotocol,地址解析協(xié)議)協(xié)議的acl(accesscontrollist,訪問(wèn)控制列表)表項(xiàng),該表項(xiàng)許可arp報(bào)文通過(guò),以及,接入交換機(jī)預(yù)先配置對(duì)應(yīng)于dhcp(dynamichostconfigurationprotocol,動(dòng)態(tài)主機(jī)配置協(xié)議)協(xié)議的acl表項(xiàng),該表項(xiàng)許可dhcp報(bào)文通過(guò)。
目標(biāo)局域網(wǎng)內(nèi)的接入交換機(jī)經(jīng)配置上述acl表項(xiàng)后,接入交換機(jī)的轉(zhuǎn)發(fā)芯片在接收到終端設(shè)備發(fā)送的報(bào)文時(shí),首先可以判斷該報(bào)文是否為arp報(bào)文或dhcp報(bào)文;
一方面,如果該報(bào)文不是arp報(bào)文或dhcp報(bào)文,轉(zhuǎn)發(fā)芯片可以直接丟棄該報(bào)文,并且不學(xué)習(xí)對(duì)應(yīng)于該報(bào)文的源mac的mac表項(xiàng);
另一方面,如果該報(bào)文是arp報(bào)文或dhcp報(bào)文中的任一一種,轉(zhuǎn)發(fā)芯片可以將該報(bào)文上送至接入交換機(jī)的處理器,以由處理器轉(zhuǎn)發(fā)該報(bào)文,轉(zhuǎn)發(fā)芯片并不學(xué)習(xí)對(duì)應(yīng)于該報(bào)文的源mac的mac表項(xiàng)。
由于轉(zhuǎn)發(fā)芯片在接收到arp報(bào)文或dhcp報(bào)文時(shí),不學(xué)習(xí)對(duì)應(yīng)于報(bào)文的源mac的mac表項(xiàng),避免了接入交換機(jī)遭受終端設(shè)備通過(guò)arp報(bào)文或dhcp報(bào)文進(jìn)行mac泛洪攻擊的情況。
同時(shí),由于目標(biāo)局域網(wǎng)中的接入交換機(jī)預(yù)先配置了許可arp報(bào)文通過(guò)的acl表項(xiàng),因此,目標(biāo)局域網(wǎng)中的網(wǎng)關(guān)設(shè)備可以通過(guò)arp報(bào)文學(xué)習(xí)目標(biāo)局域網(wǎng)中的終端設(shè)備的arp表項(xiàng),進(jìn)而獲得終端設(shè)備的mac地址。以及,由于上述接入交換機(jī)預(yù)先配置了許可dhcp報(bào)文通過(guò)的acl表項(xiàng),因此,目標(biāo)局域網(wǎng)內(nèi)各終端設(shè)備可以正常地被分配ip地址。
在本申請(qǐng)實(shí)施例中,上述網(wǎng)關(guān)設(shè)備可以開(kāi)啟arp掃描功能,然后基于預(yù)設(shè)的周期時(shí)長(zhǎng)周期性地掃描上述接入交換機(jī)上送的arp報(bào)文,進(jìn)而學(xué)習(xí)其所在網(wǎng)段的終端設(shè)備的arp表項(xiàng)。其中,上述周期時(shí)長(zhǎng)可以根據(jù)應(yīng)用環(huán)境進(jìn)行配置。
一方面,如果上述網(wǎng)關(guān)設(shè)備已保存其所在網(wǎng)段的終端設(shè)備的ip地址,則上述網(wǎng)關(guān)設(shè)備可以向其所在網(wǎng)段的終端設(shè)備發(fā)送arp請(qǐng)求報(bào)文。終端設(shè)備接收到arp請(qǐng)求報(bào)文后,通過(guò)上述接入交換機(jī)向上述網(wǎng)關(guān)設(shè)備返回arp應(yīng)答報(bào)文。上述網(wǎng)關(guān)設(shè)備基于接收到的arp應(yīng)答報(bào)文,學(xué)習(xí)對(duì)應(yīng)于各終端設(shè)備的arp表項(xiàng)。
以圖2為例,網(wǎng)關(guān)設(shè)備可以每隔30秒向其所在網(wǎng)段192.168.1.1/24的終端設(shè)備發(fā)送arp請(qǐng)求報(bào)文,計(jì)算機(jī)a、計(jì)算機(jī)b、計(jì)算機(jī)c和計(jì)算機(jī)d接收到arp請(qǐng)求報(bào)文后,分別向網(wǎng)關(guān)設(shè)備返回arp應(yīng)答報(bào)文。網(wǎng)關(guān)設(shè)備接收到arp應(yīng)答報(bào)文后,學(xué)習(xí)到對(duì)應(yīng)于計(jì)算機(jī)a、計(jì)算機(jī)b、計(jì)算機(jī)c和計(jì)算機(jī)d的arp表項(xiàng)。
另一方面,當(dāng)上述網(wǎng)關(guān)設(shè)備所在網(wǎng)段的終端設(shè)備之間互相發(fā)送arp報(bào)文時(shí),上述網(wǎng)關(guān)設(shè)備同樣可以收到上述接入交換機(jī)上送的arp報(bào)文,并學(xué)習(xí)終端設(shè)備的arp表項(xiàng)。
上述網(wǎng)關(guān)設(shè)備學(xué)習(xí)到其所在網(wǎng)段的終端設(shè)備的arp表項(xiàng)后,可以提取arp表項(xiàng)中的mac地址,過(guò)濾出合法mac地址后。上述網(wǎng)關(guān)設(shè)備可以將其所在網(wǎng)段的終端設(shè)備的mac地址以及其本地的mac地址上傳至上述網(wǎng)管服務(wù)器。
在本申請(qǐng)實(shí)施例中,上述網(wǎng)管服務(wù)器接收到上述網(wǎng)關(guān)設(shè)備上傳的mac地址后,可以基于上述網(wǎng)關(guān)設(shè)備上傳的mac地址創(chuàng)建mac地址集
需要指出的是,如果目標(biāo)局域網(wǎng)中存在多個(gè)網(wǎng)關(guān)設(shè)備,則多個(gè)網(wǎng)關(guān)設(shè)備向上述網(wǎng)管服務(wù)器上傳mac地址后,上述網(wǎng)管服務(wù)器會(huì)將接收到的所有mac地址,創(chuàng)建一個(gè)統(tǒng)一的mac地址集。
在本申請(qǐng)實(shí)施例中,上述網(wǎng)管服務(wù)器在創(chuàng)建得到mac地址集后,可以向目標(biāo)局域網(wǎng)中的所有接入交換機(jī)下發(fā)mac地址集。
目標(biāo)局域網(wǎng)中的各接入交換機(jī)接收到上述網(wǎng)管服務(wù)器下發(fā)的mac地址集后,可以基于該mac地址集生成防m(xù)ac泛洪攻擊的mac地址白名單。
在示出的一種實(shí)施方式中,上述mac地址白名單包括以上述mac地址集中的mac地址分別作為源mac和目的mac而創(chuàng)建的acl白名單表項(xiàng);
具體地,如果上述mac地址集中有n個(gè)mac地址,則以這n個(gè)mac地址分別作為源mac和目的mac,最終可以創(chuàng)建n*n個(gè)acl白名單表項(xiàng);其中,該acl白名單表項(xiàng)許可源mac和目的mac都匹配的報(bào)文通過(guò);
或者,如果上述mac地址集中有n個(gè)mac地址,則以這n個(gè)mac地址作為源mac創(chuàng)建n個(gè)acl白名單表項(xiàng),該acl白名單表項(xiàng)許可源mac匹配的報(bào)文通過(guò);以及,以這n個(gè)mac地址作為目的mac創(chuàng)建n個(gè)acl白名單表項(xiàng),該acl白名單表項(xiàng)許可目的mac匹配的報(bào)文通過(guò),最終可以創(chuàng)建2n個(gè)acl白名單表項(xiàng);其中,前者的優(yōu)先級(jí)大于后者的優(yōu)先級(jí)。接入交換機(jī)先匹配報(bào)文的源mac,若匹配成功,則進(jìn)一步匹配報(bào)文的目的mac,并在匹配成功后許可報(bào)文通過(guò)。這種創(chuàng)建acl白名單表項(xiàng)的方式可以大大降低acl白名單表項(xiàng)的總數(shù)量。
通過(guò)上述措施,接入交換機(jī)只允許目標(biāo)局域網(wǎng)內(nèi)的終端設(shè)備之間互相通信。
在本申請(qǐng)實(shí)施例中,上述網(wǎng)管服務(wù)器也可以不向接入交換機(jī)下發(fā)mac地址集,而是基于mac地址集生成防m(xù)ac泛洪攻擊的mac地址白名單,然后通過(guò)上述網(wǎng)關(guān)設(shè)備向各接入交換機(jī)下發(fā)該mac地址白名單。由上述網(wǎng)管服務(wù)器生成mac地址白名單,可以使得接入交換機(jī)直接根據(jù)mac地址白名單防護(hù)mac泛洪攻擊,也適用于接入交換機(jī)不具有基于mac地址集生成mac地址白名單的功能的情況。
在示出的一種實(shí)施方式中,上述mac地址白名單包括以上述mac地址集中的mac地址分別作為源mac和目的mac而創(chuàng)建的acl白名單表項(xiàng);其中,該acl白名單表項(xiàng)許可源mac和目的mac都匹配的報(bào)文通過(guò)。
通過(guò)上述措施,接入交換機(jī)可以直接獲得mac地址白名單,并根據(jù)mac白名單的規(guī)則只允許目標(biāo)局域網(wǎng)內(nèi)的終端設(shè)備之間互相通信。
在本申請(qǐng)實(shí)施例中,當(dāng)接入交換機(jī)上的mac地址白名單是acl白名單表項(xiàng)時(shí),接入交換機(jī)上預(yù)配置的許可arp報(bào)文以及dhcp報(bào)文通過(guò)的acl表項(xiàng)的優(yōu)先級(jí)大于以mac地址集中的mac地址創(chuàng)建的acl白名單表項(xiàng)的優(yōu)先級(jí)。
因此,接入交換機(jī)接收到報(bào)文后,首先會(huì)判斷該報(bào)文是否為arp報(bào)文或dhcp報(bào)文,如果該報(bào)文不是arp報(bào)文或dhcp報(bào)文,則將該報(bào)文的源mac和目的mac在上述acl白名單表項(xiàng)中進(jìn)行匹配,若能配到acl白名單表項(xiàng),則轉(zhuǎn)發(fā)該報(bào)文,同時(shí)學(xué)習(xí)對(duì)應(yīng)于源mac的mac表項(xiàng);如果不能匹配到acl表項(xiàng),則丟棄該報(bào)文,避免了潛在的mac泛洪攻擊。
綜上所述,在本申請(qǐng)實(shí)施例中,網(wǎng)管服務(wù)器接收到網(wǎng)關(guān)設(shè)備上傳的mac地址后,可以基于上述網(wǎng)關(guān)設(shè)備上傳的mac地址創(chuàng)建mac地址集,然后向各接入交換機(jī)下發(fā)該mac地址集;其中,該mac地址集包括上述網(wǎng)關(guān)設(shè)備學(xué)習(xí)到的其所在網(wǎng)段的終端設(shè)備的mac地址和上述網(wǎng)關(guān)設(shè)備的mac地址;各接入交換機(jī)接收到網(wǎng)管服務(wù)器下發(fā)的mac地址集后,基于該mac地址集生成防m(xù)ac泛洪攻擊的mac地址白名單;
或者,網(wǎng)管服務(wù)器直接基于上述mac地址集生成mac地址白名單,并通過(guò)上述網(wǎng)關(guān)設(shè)備向各接入交換機(jī)下發(fā)該mac地址白名單;
由于網(wǎng)管服務(wù)器下發(fā)至各接入交換機(jī)的mac地址集中包括目標(biāo)局域網(wǎng)中的所有終端設(shè)備和網(wǎng)關(guān)設(shè)備的mac地址,所以接入交換機(jī)基于由上述mac地址集生成的mac地址白名單進(jìn)行防m(xù)ac泛洪攻擊時(shí),實(shí)際上只允許目標(biāo)局域網(wǎng)內(nèi)的終端設(shè)備之間互相通信;如果有攻擊者利用目標(biāo)局域網(wǎng)內(nèi)的終端設(shè)備向接入交換機(jī)發(fā)送具有偽造出的無(wú)效源mac的攻擊報(bào)文,則接入交換機(jī)根據(jù)mac地址白名單會(huì)直接丟棄攻擊報(bào)文,從而達(dá)到防m(xù)ac泛洪攻擊的效果;并且,由于本申請(qǐng)中接入交換機(jī)始終不會(huì)學(xué)習(xí)無(wú)效的mac表項(xiàng),因此,接入交換機(jī)內(nèi)存或芯片資源不會(huì)被無(wú)效的mac表項(xiàng)占滿(mǎn),進(jìn)而避免了正常的報(bào)文被泛洪處理,導(dǎo)致目標(biāo)局域網(wǎng)的通信效率下降的問(wèn)題。
與前述防m(xù)ac泛洪攻擊的方法的實(shí)施例相對(duì)應(yīng),本申請(qǐng)還提供了防m(xù)ac泛洪攻擊的裝置的實(shí)施例。
參見(jiàn)圖4,為本申請(qǐng)示出的一種防m(xù)ac泛洪攻擊的裝置的實(shí)施例框圖:
如圖4所示,該防m(xù)ac泛洪攻擊的裝置40包括:
接收單元410,用于接收到所述網(wǎng)關(guān)設(shè)備上傳的mac地址;所述mac地址包括所述網(wǎng)關(guān)設(shè)備的mac地址,以及所述網(wǎng)關(guān)設(shè)備所在網(wǎng)段的終端設(shè)備的mac地址。
創(chuàng)建單元420,用于基于所述網(wǎng)關(guān)設(shè)備上傳的mac地址創(chuàng)建mac地址集。
下發(fā)單元420,用于向各接入交換機(jī)下發(fā)所述mac地址集,以使得各接入交換機(jī)基于所述mac地址集生成防m(xù)ac泛洪攻擊的mac地址白名單。
在本例中,所述接入交換機(jī)預(yù)先配置許可arp報(bào)文以及dhcp報(bào)文通過(guò)的acl表項(xiàng);
所述網(wǎng)關(guān)設(shè)備所在網(wǎng)段的終端設(shè)備的mac地址,為所述網(wǎng)關(guān)設(shè)備周期性掃描所述接入交換機(jī)上送的arp報(bào)文學(xué)習(xí)到的mac地址。
在本例中,所述下發(fā)單元420,進(jìn)一步用于:
基于所述mac地址集生成防m(xù)ac泛洪攻擊的mac地址白名單,并將所述mac地址白名單下發(fā)至各接入交換機(jī)。
在本例中,所述mac地址白名單,包括以所述mac地址集中的mac地址分別作為源mac和目的mac而創(chuàng)建的acl白名單表項(xiàng)。
在本例中,所述許可arp報(bào)文以及dhcp報(bào)文通過(guò)的acl表項(xiàng)的優(yōu)先級(jí)大于以所述mac地址集中的mac地址創(chuàng)建的acl白名單表項(xiàng)的優(yōu)先級(jí)。
本申請(qǐng)防m(xù)ac泛洪攻擊的裝置的實(shí)施例可以應(yīng)用在網(wǎng)管服務(wù)器上。裝置實(shí)施例可以通過(guò)軟件實(shí)現(xiàn),也可以通過(guò)硬件或者軟硬件結(jié)合的方式實(shí)現(xiàn)。以軟件實(shí)現(xiàn)為例,作為一個(gè)邏輯意義上的裝置,是通過(guò)其所在網(wǎng)管服務(wù)器的處理器將非易失性存儲(chǔ)器中對(duì)應(yīng)的計(jì)算機(jī)程序指令讀取到內(nèi)存中運(yùn)行形成的。從硬件層面而言,如圖5所示,為本申請(qǐng)防m(xù)ac泛洪攻擊的裝置所在網(wǎng)管服務(wù)器的一種硬件結(jié)構(gòu)圖,除了圖5所示的處理器、內(nèi)存、網(wǎng)絡(luò)接口、以及非易失性存儲(chǔ)器之外,實(shí)施例中裝置所在的網(wǎng)管服務(wù)器通常根據(jù)該防m(xù)ac泛洪攻擊的裝置的實(shí)際功能,還可以包括其他硬件,對(duì)此不再贅述。
上述裝置中各個(gè)單元的功能和作用的實(shí)現(xiàn)過(guò)程具體詳見(jiàn)上述方法中對(duì)應(yīng)步驟的實(shí)現(xiàn)過(guò)程,在此不再贅述。
對(duì)于裝置實(shí)施例而言,由于其基本對(duì)應(yīng)于方法實(shí)施例,所以相關(guān)之處參見(jiàn)方法實(shí)施例的部分說(shuō)明即可。以上所描述的裝置實(shí)施例僅僅是示意性的,其中所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開(kāi)的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部模塊來(lái)實(shí)現(xiàn)本申請(qǐng)方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動(dòng)的情況下,即可以理解并實(shí)施。
以上所述僅為本申請(qǐng)的較佳實(shí)施例而已,并不用以限制本申請(qǐng),凡在本申請(qǐng)的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本申請(qǐng)保護(hù)的范圍之內(nèi)。