• 正文
    • Part 01●??IPv6地址可用性?●
    • Part 02●??IPv6 session防火墻?●
    • Part 03●??IPv6白名單機(jī)制?●
    • Part 04●??總結(jié)?●
  • 相關(guān)推薦
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

家庭寬帶IPv6地址使用揭秘

02/02 08:55 來(lái)源:中國(guó)移動(dòng)智慧家庭運(yùn)營(yíng)中心
4454
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

作者:康乾、王曉明

接上一篇“家庭寬帶IPv6地址分配揭秘”,接入家庭網(wǎng)絡(luò)后的終端設(shè)備會(huì)分配到一個(gè)2409開(kāi)頭的IPv6地址,這個(gè)地址被稱為全球單播地址(GUA)。理論上來(lái)說(shuō)這個(gè)地址能夠作為公網(wǎng)地址被訪問(wèn),但為了減少安全風(fēng)險(xiǎn),運(yùn)營(yíng)商在智能網(wǎng)關(guān)側(cè)啟用了防火墻機(jī)制,這使得IPv6地址的受到一定限制。本文將探討家寬IPv6地址的公網(wǎng)可用性,分析智能網(wǎng)關(guān)設(shè)備安全機(jī)制的原理,結(jié)合白名單提出一種終端和服務(wù)器間端到端安全通信的方法。

Part 01●??IPv6地址可用性?

設(shè)備獲取IPv6的全球單播地址后,理論上能夠?qū)崿F(xiàn)設(shè)備和業(yè)務(wù)服務(wù)器的雙向端到端通信,我們使用筆記本電腦接入家寬網(wǎng)絡(luò),分配IPv6地址后并驗(yàn)證時(shí),發(fā)現(xiàn)其公網(wǎng)連通性是不可達(dá)狀態(tài),這是什么原因呢?

bogon:~ root$ telnet 2409:8a28:ec3:51f0:2a12:93ff:fe68:fee5Trying 2409:8a28:ec3:51f0:2a12:93ff:fe68:fee5...telnet: connect to address2409:8a28:ec3:51f0:2a12:93ff:fe68:fee5: Network is unreachable

原來(lái)是考慮到IPv6地址暴露后存在安全風(fēng)險(xiǎn),運(yùn)營(yíng)商在智能網(wǎng)關(guān)標(biāo)準(zhǔn)中,提出了端口權(quán)限最小化和防攻擊功能的要求,在網(wǎng)關(guān)出廠時(shí),廠商會(huì)在網(wǎng)關(guān)中預(yù)置特定的防火墻策略。由于網(wǎng)絡(luò)策略的存在,家寬網(wǎng)絡(luò)中IPv6地址實(shí)際可用性是很差的,直接下行的轉(zhuǎn)發(fā)流量基本都被網(wǎng)關(guān)攔截或丟棄。為了安全有效地使用IPv6地址,結(jié)合白名單機(jī)制的網(wǎng)絡(luò)策略或許是一個(gè)不錯(cuò)的選擇。

圖1 《中國(guó)移動(dòng)智能家庭網(wǎng)關(guān)技術(shù)規(guī)范》-端口權(quán)限最小化

圖2 《中國(guó)移動(dòng)智能家庭網(wǎng)關(guān)技術(shù)規(guī)范》-防攻擊功能

Part 02●??IPv6 session防火墻?

IPv6端到端的通信,由于網(wǎng)絡(luò)策略的原因,導(dǎo)致服務(wù)器到終端設(shè)備的下行流量被攔截。

經(jīng)過(guò)對(duì)智能網(wǎng)關(guān)的分析,發(fā)現(xiàn)上述攔截能力可稱為IPv6 session防火墻,該防火墻功能基于iptables實(shí)現(xiàn),在網(wǎng)關(guān)的iptables轉(zhuǎn)發(fā)鏈中,存在一個(gè)FORWARD_FIREWALL子鏈,用于存儲(chǔ)控制轉(zhuǎn)發(fā)的session防火墻策略。

防火墻策略FORWARD:

Chain FORWARD (policy ACCEPT 107 packets, 14852 bytes)num   pkts bytes target     prot opt in     out     source               destination         1     138K   34M SKIPLOG    all      *      *       ::/0                 ::/0                 mark match ! 0x4000000/0x40000002     3547  290K TCPMSS     tcp      *      ppp0    ::/0                 ::/0                 tcp flags:0x06/0x02 tcpmss match 1300:65535 TCPMSS set 13803     3176  235K TCPMSS     tcp      ppp0   *       ::/0                 ::/0                 tcp flags:0x06/0x02 tcpmss match 1300:65535 TCPMSS set 13804    73122   11M FORWARD_ALG  all      *      !br+    ::/0                 ::/0                5     146K   36M JNI_FILTER  all      *      *       ::/0                 ::/0                6    72710   25M IP_FILTER_IN  all      !br+   *       ::/0                 ::/0                7    73122   11M IP_FILTER_OUT  all      br+    *       ::/0                 ::/0                8    73122   11M PARCTL_MAC  all      br+    *       ::/0                 ::/0                9    73122   11M URL_FILTER  all      br+    *       ::/0                 ::/0                10   73122   11M MAC_FILTER  all      br+    *       ::/0                 ::/0                11    146K   36M FORWARD_FIREWALL  all      *      *       ::/0                 ::/0

(1)當(dāng)關(guān)閉時(shí),防火墻策略為空,

Chain FORWARD_FIREWALL (1 references)pkts bytes target prot opt in out source destination

(2)開(kāi)啟ipv6 session防火墻后,F(xiàn)orward鏈策略中新增了兩條策略:

Chain FORWARD_FIREWALL (1 references)pkts bytes target prot opt in out source destination 252 26905 ACCEPT all br+ * ::/0 ::/0 234 72274 ACCEPT all * br+ ::/0 ::/0 ctstate RELATED,ESTABLISHED

這兩條策略即為實(shí)現(xiàn)IPv6 Session防火墻的核心,基于iptables狀態(tài)跟蹤實(shí)現(xiàn),其實(shí)現(xiàn)的轉(zhuǎn)發(fā)控制能力如下:

(1)接收從任意br開(kāi)頭的網(wǎng)卡到其它網(wǎng)卡的流量(上行);

(2)接收從網(wǎng)卡到任意br開(kāi)頭的網(wǎng)卡的流量,該流量的狀態(tài)必須是已經(jīng)建立雙向連接或該連接的衍生連接(下行)。

簡(jiǎn)單來(lái)說(shuō),就是終端設(shè)備往外訪問(wèn)的一律放行,外部服務(wù)器來(lái)訪問(wèn)終端設(shè)備,如果之前沒(méi)建立過(guò)連接,直接攔截,反之則放行。具體的狀態(tài)信息可參考如下概念:

- 概念分析

(1)iptables狀態(tài)跟蹤

Linux2.6.15的內(nèi)核版本后,iptables開(kāi)始支持狀態(tài)跟蹤(conntrack),該功能依賴于netfilter的內(nèi)核模塊nf_conntrack。此后,iptables可以根據(jù)包的狀態(tài)進(jìn)行二次的過(guò)濾攔截和狀態(tài)跟蹤。它也是state/ctstate和nat的主要依賴模塊。

conntrack將數(shù)據(jù)流的狀態(tài)信息以Hash表的形式儲(chǔ)存在內(nèi)存中,包括五元組信息以及超時(shí)時(shí)間等。這里說(shuō)的狀態(tài)跟蹤并非是指狀態(tài)協(xié)議(如TCP)中連接狀態(tài)的跟蹤,而是conntrack特有的與網(wǎng)絡(luò)傳輸協(xié)議無(wú)關(guān)的狀態(tài)的跟蹤。

(2)conntrack五種狀態(tài)

conntrack共可以為連接標(biāo)記五種狀態(tài),分別如下:

? NEW:新建連接請(qǐng)求的數(shù)據(jù)包,且該數(shù)據(jù)包沒(méi)有和任何已有連接相關(guān)聯(lián)。判斷的依據(jù)是conntrack當(dāng)前“只看到一個(gè)方向數(shù)據(jù)包(UNREPLIED)”,沒(méi)有回包。

? ESTABLISHED:該連接是某NEW狀態(tài)連接的回包,也就是完成了連接的雙向關(guān)聯(lián)。

? RELATED:匹配那些屬于helper模塊定義的特殊協(xié)議的網(wǎng)絡(luò)連接,該連接屬于已經(jīng)存在的一個(gè)ESTABLISHED連接的衍生連接。簡(jiǎn)而言之,A連接已經(jīng)是ESTABLISHED,而B(niǎo)連接如果與A連接相關(guān),那么B連接就是RELATED。這部分不理解沒(méi)有關(guān)系,也很難一句話說(shuō)清,后面章節(jié)會(huì)用大量筆墨來(lái)闡明它。

? INVALID:匹配那些無(wú)法識(shí)別或沒(méi)有任何狀態(tài)的數(shù)據(jù)包。這可能是由于系統(tǒng)內(nèi)存不足或收到不屬于任何已知連接的ICMP錯(cuò)誤消息,也就是垃圾包,一般情況下我們都會(huì)DROP此類狀態(tài)的包。

? UNTRACKED :這是一種特殊狀態(tài),或者說(shuō)并不是狀態(tài)。它是管理員在raw表中,為連接設(shè)置NOTRACK規(guī)則后的狀態(tài)。這樣做,便于提高包過(guò)濾效率以及降低負(fù)載。

conntrack是一種狀態(tài)跟蹤和記錄的機(jī)制,本身并不能過(guò)濾數(shù)據(jù)包,只是提供包過(guò)濾的依據(jù)。有狀態(tài)是一種過(guò)濾依據(jù),無(wú)狀態(tài)實(shí)際也是一種過(guò)濾依據(jù)。

Part 03●??IPv6白名單機(jī)制?

IPv6 ?Session防火墻通過(guò)兩條策略實(shí)現(xiàn)了轉(zhuǎn)發(fā)防護(hù)的能力,那么是否可以在此基礎(chǔ)上實(shí)現(xiàn)白名單機(jī)制,答案是肯定的,使用白名單機(jī)制將限定通道兩端的發(fā)送者和接受者,同時(shí)又保持原有的網(wǎng)絡(luò)策略開(kāi)啟,符合智能網(wǎng)關(guān)的標(biāo)準(zhǔn)。

iptables可以通過(guò)策略添加實(shí)現(xiàn)白名單機(jī)制,在智能網(wǎng)關(guān)的轉(zhuǎn)發(fā)策略中加入允許發(fā)起下行請(qǐng)求的IPv6地址,并按照該地址篩選下行的源IP地址的數(shù)據(jù)包并放行。經(jīng)測(cè)驗(yàn),開(kāi)啟ipv6 session防火墻,并添加特定白名單后,終端設(shè)備即可支持ipv6地址的下行訪問(wèn)。以6.ipw.cn為例,我們新增策略如下:

ip6tables -t filter -I FORWARD -s 6.ipw.cn -j ACCEPT ip6tables -t filter -I FORWARD -d 6.ipw.cn -j ACCEPT 

新增后的iptables策略清單。

Chain FORWARD (policy DROP 3 packets, 246 bytes)pkts bytes target     prot opt in     out     source               destination 7  1833 ACCEPT     all      *      *       ::/0                 2409:8928:e20:84fe:a11b:b839:66ae:84a7 101  7226 ACCEPT     all      *      *       2409:8928:e20:84fe:a11b:b839:66ae:84a7  ::/0     

外網(wǎng)獲取ipv6地址結(jié)果 ,即設(shè)備IPv6地址能夠被6.ipw.cn訪問(wèn)。

curl 6.ipw.cn2409:8a28:efb:b8a6:d1b6:9c3b:2f2e:c3ee

上述結(jié)果即說(shuō)明該IPv6地址可被公網(wǎng)訪問(wèn),說(shuō)明白名單機(jī)制在理論上可行。

Part 04●??總結(jié)?

本文從實(shí)際家庭網(wǎng)絡(luò)環(huán)境出發(fā),分析家庭寬帶網(wǎng)絡(luò)中設(shè)備的IPv6實(shí)際可用性和安全分析,并嘗試了一種基于白名單的IPv6地址使用方式,能夠保證地址在防火墻開(kāi)啟的前提下使用公網(wǎng)的訪問(wèn)能力,但從家庭網(wǎng)絡(luò)全局角度來(lái)看,目前缺少整體的安全發(fā)現(xiàn)和分析的能力,特別是在IPv6開(kāi)放的情況下,原有的安全分析設(shè)備的支持性和分析能力,需要適配提升。下一篇文章我們來(lái)談一談,如何提供一種針對(duì)家庭網(wǎng)絡(luò)的安全監(jiān)測(cè)能力。

中國(guó)移動(dòng)

中國(guó)移動(dòng)

中國(guó)移動(dòng)有限公司(「本公司」,包括子公司合稱為「本集團(tuán)」)于1997年9月3日在香港成立,本集團(tuán)在中國(guó)內(nèi)地所有三十一個(gè)省、自治區(qū)、直轄市以及香港特別行政區(qū)提供通信和信息服務(wù),業(yè)務(wù)主要涵蓋個(gè)人、家庭、政企和新興市場(chǎng)的語(yǔ)音、數(shù)據(jù)、寬帶、專線、IDC、云計(jì)算、物聯(lián)網(wǎng)等,是中國(guó)內(nèi)地最大的通信和信息服務(wù)供應(yīng)商,亦是全球網(wǎng)絡(luò)和客戶規(guī)模最大、盈利能力領(lǐng)先、市值排名位居前列的世界級(jí)通信和信息運(yùn)營(yíng)商。

中國(guó)移動(dòng)有限公司(「本公司」,包括子公司合稱為「本集團(tuán)」)于1997年9月3日在香港成立,本集團(tuán)在中國(guó)內(nèi)地所有三十一個(gè)省、自治區(qū)、直轄市以及香港特別行政區(qū)提供通信和信息服務(wù),業(yè)務(wù)主要涵蓋個(gè)人、家庭、政企和新興市場(chǎng)的語(yǔ)音、數(shù)據(jù)、寬帶、專線、IDC、云計(jì)算、物聯(lián)網(wǎng)等,是中國(guó)內(nèi)地最大的通信和信息服務(wù)供應(yīng)商,亦是全球網(wǎng)絡(luò)和客戶規(guī)模最大、盈利能力領(lǐng)先、市值排名位居前列的世界級(jí)通信和信息運(yùn)營(yíng)商。收起

查看更多

相關(guān)推薦

登錄即可解鎖
  • 海量技術(shù)文章
  • 設(shè)計(jì)資源下載
  • 產(chǎn)業(yè)鏈客戶資源
  • 寫文章/發(fā)需求
立即登錄

移動(dòng)Labs是中國(guó)移動(dòng)的社交化新媒體平臺(tái),是面向外部行業(yè)及產(chǎn)業(yè)鏈合作伙伴的信息發(fā)布、業(yè)務(wù)發(fā)展和產(chǎn)業(yè)推進(jìn)門戶。