
隨著信息技術(shù)的飛速發(fā)展,網(wǎng)絡(luò)業(yè)務(wù)迅速興起,然而由于網(wǎng)絡(luò)自身固有的脆弱使網(wǎng)絡(luò)安全存在很多潛在的威脅,其中之一就是IP地址欺騙。本期華云數(shù)據(jù)“智匯華云”專欄將為您奉上“Openvswitch 防火墻是如何防止IP地址欺騙的”。
IP 地址欺騙 (IP Spoofing):
正常情況下,二層數(shù)據(jù)幀的源IP 地址就是發(fā)出數(shù)據(jù)的機(jī)器的 IP 地址,對(duì)方計(jì)算機(jī)接收到以后,向該 IP 地址發(fā)出回復(fù)數(shù)據(jù)幀:

圖一
(圖一例子中,vm1 發(fā)往 vm2 的幀的 IP 地址就是 vm1 的地址,因此 vm2 能夠通過 ARP 獲取 vm1 的 MAC,并將回復(fù)將發(fā)回到vm1)
如果源計(jì)算機(jī)的數(shù)據(jù)幀的源 IP 地址不是它自己的IP地址而是一個(gè)不存在的地址或者另外一臺(tái)機(jī)器的地址,目的計(jì)算機(jī)接受到數(shù)據(jù)幀后,它就會(huì)一直不停的發(fā)出 ARP 廣播,最終也無法獲取到MAC地址,或者發(fā)送返回幀到另一臺(tái)的計(jì)算機(jī)。這就是所謂的(源) IP 地址欺騙。
如果源計(jì)算機(jī)的數(shù)據(jù)幀的源 IP 地址不是它自己的IP地址而是一個(gè)不存在的地址或者另外一臺(tái)機(jī)器的地址,目的計(jì)算機(jī)接受到數(shù)據(jù)幀后,它就會(huì)一直不停的發(fā)出 ARP 廣播,最終也無法獲取到MAC地址,或者發(fā)送返回幀到另一臺(tái)的計(jì)算機(jī)。這就是所謂的(源) IP 地址欺騙。

圖二
(圖二例子中,vm1 將它發(fā)往 vm2 的數(shù)據(jù)幀的源IP設(shè)置為 vm3 的IP,導(dǎo)致 vm2 的回復(fù)發(fā)到了vm3)
如果大量的計(jì)算機(jī)使用另外一臺(tái)計(jì)算機(jī)的 IP 作為源 IP 向很多的計(jì)算機(jī)發(fā)出 ping 命令,那么那一臺(tái)計(jì)算機(jī)將會(huì)收到很多的 ping 回復(fù)。這將導(dǎo)致它的網(wǎng)絡(luò)帶寬被塞滿而不能對(duì)外提供網(wǎng)絡(luò)服務(wù)。
Openvswitch 防火墻是如何防止IP欺騙的呢?
Openvswitch 防火墻基本原理:
Ovs通過br-int橋上的流表規(guī)則控制連接在橋上的端口(ovs port)的進(jìn)出方向的網(wǎng)絡(luò)流量。

圖三
(圖三 tap口 及 patch-port 均為ovs port)
ovs流表規(guī)則:
每條流規(guī)則由一系列字段組成,分為基本字段、條件字段和動(dòng)作字段三部分。
基本字段包括生效時(shí)間duration_sec、所屬表項(xiàng)table_id、優(yōu)先級(jí)priority、處理的數(shù)據(jù)包數(shù)n_packets,空閑超時(shí)時(shí)間idle_timeout等。
條件字段包括輸入端口號(hào)in_port(ovs port)、源目的mac地址dl_src/dl_dst、源目的ip地址nw_src/nw_dst、數(shù)據(jù)包類型dl_type、網(wǎng)絡(luò)層協(xié)議類型nw_proto等,可以為這些字段的任意組合。
動(dòng)作字段包括正常轉(zhuǎn)發(fā)normal、定向到某交換機(jī)端口output:port、丟棄drop、更改源目的mac地址mod_dl_src/mod_dl_dst等,一條流規(guī)則可有多個(gè)動(dòng)作,動(dòng)作執(zhí)行按指定的先后順序依次完成。
ovs防火墻具體規(guī)則流表如下:

圖四
vm 出方向流量由tap口到達(dá)br-int網(wǎng)橋時(shí),首先會(huì)經(jīng)過table 0 表分流至table 3
table 0:
table 0:

Vm tap 對(duì)應(yīng) ovs port 為port1,匹配in_port=1流表,跳轉(zhuǎn)至table 71出方向基礎(chǔ)規(guī)則表
table 3:
table 3:

由table 71 規(guī)則表對(duì)轉(zhuǎn)發(fā)IP報(bào)文做合法性校驗(yàn),要求必須匹配條件為 in_port, dl_src(源mac),nw_src(源IP)
table 71:
table 71:

如無法匹配上述流表,則會(huì)命中默認(rèn)丟包流表。
當(dāng)使用ovs防火墻后, 再次發(fā)生圖二例子時(shí),vm1 將它發(fā)往 vm2 的數(shù)據(jù)幀的源IP設(shè)置為 vm3 的IP,當(dāng)前數(shù)據(jù)包ip與mac 無法與vm1 tap port 71號(hào)表記錄的真實(shí)ip mac匹配,將無法命中table 71號(hào)表,數(shù)據(jù)包被丟包,因?yàn)镮P欺詐被ovs防火墻有效攔截。
當(dāng)使用ovs防火墻后, 再次發(fā)生圖二例子時(shí),vm1 將它發(fā)往 vm2 的數(shù)據(jù)幀的源IP設(shè)置為 vm3 的IP,當(dāng)前數(shù)據(jù)包ip與mac 無法與vm1 tap port 71號(hào)表記錄的真實(shí)ip mac匹配,將無法命中table 71號(hào)表,數(shù)據(jù)包被丟包,因?yàn)镮P欺詐被ovs防火墻有效攔截。

隨著信息技術(shù)的飛速發(fā)展,網(wǎng)絡(luò)業(yè)務(wù)迅速興起,然而由于網(wǎng)絡(luò)自身固有的脆弱使網(wǎng)絡(luò)安全存在很多潛在的威脅,其中之一就是IP地址欺騙。本期華云數(shù)據(jù)“智匯華云”專欄將為您奉上“Openvswitch 防火墻是如何防止IP地址欺騙的”。
IP 地址欺騙 (IP Spoofing):
正常情況下,二層數(shù)據(jù)幀的源IP 地址就是發(fā)出數(shù)據(jù)的機(jī)器的 IP 地址,對(duì)方計(jì)算機(jī)接收到以后,向該 IP 地址發(fā)出回復(fù)數(shù)據(jù)幀:

圖一
(圖一例子中,vm1 發(fā)往 vm2 的幀的 IP 地址就是 vm1 的地址,因此 vm2 能夠通過 ARP 獲取 vm1 的 MAC,并將回復(fù)將發(fā)回到vm1)
如果源計(jì)算機(jī)的數(shù)據(jù)幀的源 IP 地址不是它自己的IP地址而是一個(gè)不存在的地址或者另外一臺(tái)機(jī)器的地址,目的計(jì)算機(jī)接受到數(shù)據(jù)幀后,它就會(huì)一直不停的發(fā)出 ARP 廣播,最終也無法獲取到MAC地址,或者發(fā)送返回幀到另一臺(tái)的計(jì)算機(jī)。這就是所謂的(源) IP 地址欺騙。

圖二
(圖二例子中,vm1 將它發(fā)往 vm2 的數(shù)據(jù)幀的源IP設(shè)置為 vm3 的IP,導(dǎo)致 vm2 的回復(fù)發(fā)到了vm3)
如果大量的計(jì)算機(jī)使用另外一臺(tái)計(jì)算機(jī)的 IP 作為源 IP 向很多的計(jì)算機(jī)發(fā)出 ping 命令,那么那一臺(tái)計(jì)算機(jī)將會(huì)收到很多的 ping 回復(fù)。這將導(dǎo)致它的網(wǎng)絡(luò)帶寬被塞滿而不能對(duì)外提供網(wǎng)絡(luò)服務(wù)。
Openvswitch 防火墻是如何防止IP欺騙的呢?
Openvswitch 防火墻基本原理:
Ovs通過br-int橋上的流表規(guī)則控制連接在橋上的端口(ovs port)的進(jìn)出方向的網(wǎng)絡(luò)流量。

圖三
(圖三 tap口 及 patch-port 均為ovs port)
ovs流表規(guī)則:
每條流規(guī)則由一系列字段組成,分為基本字段、條件字段和動(dòng)作字段三部分。
基本字段包括生效時(shí)間duration_sec、所屬表項(xiàng)table_id、優(yōu)先級(jí)priority、處理的數(shù)據(jù)包數(shù)n_packets,空閑超時(shí)時(shí)間idle_timeout等。
條件字段包括輸入端口號(hào)in_port(ovs port)、源目的mac地址dl_src/dl_dst、源目的ip地址nw_src/nw_dst、數(shù)據(jù)包類型dl_type、網(wǎng)絡(luò)層協(xié)議類型nw_proto等,可以為這些字段的任意組合。
動(dòng)作字段包括正常轉(zhuǎn)發(fā)normal、定向到某交換機(jī)端口output:port、丟棄drop、更改源目的mac地址mod_dl_src/mod_dl_dst等,一條流規(guī)則可有多個(gè)動(dòng)作,動(dòng)作執(zhí)行按指定的先后順序依次完成。
ovs防火墻具體規(guī)則流表如下:

圖四
vm 出方向流量由tap口到達(dá)br-int網(wǎng)橋時(shí),首先會(huì)經(jīng)過table 0 表分流至table 3
table 0:
table 0:

Vm tap 對(duì)應(yīng) ovs port 為port1,匹配in_port=1流表,跳轉(zhuǎn)至table 71出方向基礎(chǔ)規(guī)則表
table 3:
table 3:

由table 71 規(guī)則表對(duì)轉(zhuǎn)發(fā)IP報(bào)文做合法性校驗(yàn),要求必須匹配條件為 in_port, dl_src(源mac),nw_src(源IP)
table 71:
table 71:

如無法匹配上述流表,則會(huì)命中默認(rèn)丟包流表。
當(dāng)使用ovs防火墻后, 再次發(fā)生圖二例子時(shí),vm1 將它發(fā)往 vm2 的數(shù)據(jù)幀的源IP設(shè)置為 vm3 的IP,當(dāng)前數(shù)據(jù)包ip與mac 無法與vm1 tap port 71號(hào)表記錄的真實(shí)ip mac匹配,將無法命中table 71號(hào)表,數(shù)據(jù)包被丟包,因?yàn)镮P欺詐被ovs防火墻有效攔截。
當(dāng)使用ovs防火墻后, 再次發(fā)生圖二例子時(shí),vm1 將它發(fā)往 vm2 的數(shù)據(jù)幀的源IP設(shè)置為 vm3 的IP,當(dāng)前數(shù)據(jù)包ip與mac 無法與vm1 tap port 71號(hào)表記錄的真實(shí)ip mac匹配,將無法命中table 71號(hào)表,數(shù)據(jù)包被丟包,因?yàn)镮P欺詐被ovs防火墻有效攔截。