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

家庭寬帶IPv6地址使用揭秘

02/02 08:55 來源:中國移動智慧家庭運營中心
3461
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

作者:康乾、王曉明

接上一篇“家庭寬帶IPv6地址分配揭秘”,接入家庭網(wǎng)絡(luò)后的終端設(shè)備會分配到一個2409開頭的IPv6地址,這個地址被稱為全球單播地址(GUA)。理論上來說這個地址能夠作為公網(wǎng)地址被訪問,但為了減少安全風(fē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地址后并驗證時,發(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

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

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

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

Part 02●??IPv6 session防火墻?

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

經(jīng)過對智能網(wǎng)關(guān)的分析,發(fā)現(xiàn)上述攔截能力可稱為IPv6 session防火墻,該防火墻功能基于iptables實現(xiàn),在網(wǎng)關(guān)的iptables轉(zhuǎn)發(fā)鏈中,存在一個FORWARD_FIREWALL子鏈,用于存儲控制轉(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)閉時,防火墻策略為空,

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

(2)開啟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

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

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

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

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

- 概念分析

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

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

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

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

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

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

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

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

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

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

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

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

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

iptables可以通過策略添加實現(xiàn)白名單機(jī)制,在智能網(wǎng)關(guān)的轉(zhuǎn)發(fā)策略中加入允許發(fā)起下行請求的IPv6地址,并按照該地址篩選下行的源IP地址的數(shù)據(jù)包并放行。經(jīng)測驗,開啟ipv6 session防火墻,并添加特定白名單后,終端設(shè)備即可支持ipv6地址的下行訪問。以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訪問。

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

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

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

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

中國移動

中國移動

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

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

查看更多

相關(guān)推薦

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

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