網(wǎng)絡(luò)安全設(shè)備Bypass功能介紹及分析
網(wǎng)絡(luò)安全平臺(tái)廠商往往需要用到一項(xiàng)比較特殊的技術(shù),那就是Bypass,那么到底什么是Bypass呢,Bypass設(shè)備又是如何來(lái)實(shí)現(xiàn)的?下面我就對(duì)Bypass技術(shù)做一下簡(jiǎn)單的介紹和說(shuō)明。
一、 什么是Bypass。
大家知道,網(wǎng)絡(luò)安全設(shè)備一般都是應(yīng)用在兩個(gè)或更多的網(wǎng)絡(luò)之間,比如內(nèi)網(wǎng)和外網(wǎng)之間,網(wǎng)絡(luò)安全設(shè)備內(nèi)的應(yīng)用程序會(huì)對(duì)通過(guò)他的網(wǎng)絡(luò)封包來(lái)進(jìn)行分析,以判斷是否有威脅存在,處理完后再按照一定的路由規(guī)則將封包轉(zhuǎn)發(fā)出去,而如果這臺(tái)網(wǎng)絡(luò)安全設(shè)備出現(xiàn)了故障,比如斷電或死機(jī)后,那連接這臺(tái)設(shè)備上所以網(wǎng)段也就彼此失去聯(lián)系了,這個(gè)時(shí)候如果要求各個(gè)網(wǎng)絡(luò)彼此還需要處于連通狀態(tài),那么就必須Bypass出面了。
Bypas顧名思義,就是旁路功能,也就是說(shuō)可以通過(guò)特定的觸發(fā)狀態(tài)(斷電或死機(jī))讓兩個(gè)網(wǎng)絡(luò)不通過(guò)網(wǎng)絡(luò)安全設(shè)備的系統(tǒng),而直接物理上導(dǎo)通。所以有了 Bypass后,當(dāng)網(wǎng)絡(luò)安全設(shè)備故障以后,還可以讓連接在這臺(tái)設(shè)備上的網(wǎng)絡(luò)相互導(dǎo)通,當(dāng)然這個(gè)時(shí)候這臺(tái)網(wǎng)絡(luò)設(shè)備也就不會(huì)再對(duì)網(wǎng)絡(luò)中的封包做處理了。
下面一個(gè)圖示說(shuō)明了Bypass的方式。左邊是正常狀態(tài)下,兩個(gè)網(wǎng)絡(luò)的封包都經(jīng)過(guò)應(yīng)用軟件處理后再傳播。右邊是設(shè)備處于Bypass后,設(shè)備的應(yīng)用程序已經(jīng)不再對(duì)網(wǎng)絡(luò)封包處理了。
二、 Bypass分類(lèi)即應(yīng)用方式:
Bypass一般按照控制方式或者稱(chēng)為觸發(fā)方式來(lái)分,可以分為以下幾個(gè)方式
1、 通過(guò)電源觸發(fā)。這種方式下,一般是在設(shè)備沒(méi)有通電的情況下,Bypass功能打開(kāi),如果設(shè)備一旦通電后,Bypass立即調(diào)整為關(guān)閉狀態(tài)。
2、 由GPIO來(lái)控制。在進(jìn)入OS后,可以通過(guò)GPIO來(lái)對(duì)特定的端口操作,從而實(shí)現(xiàn)對(duì)Bypass開(kāi)關(guān)的控制。
3、 由Watchdog來(lái)控制。這種情況實(shí)際是對(duì)方式2的一種延伸應(yīng)用,可以通過(guò)Watchdog來(lái)控制GPIO Bypass程序的啟用與關(guān)閉,從而實(shí)現(xiàn)對(duì)Bypass狀態(tài)的控制。使用這種方式后,平臺(tái)如果死機(jī)就可以由Watchdog來(lái)打開(kāi)Bypass。
在實(shí)際的應(yīng)用中,這3種狀態(tài)往往是同時(shí)存在的,尤其是1和2兩種方式。
下圖是研華FWA-3140系列的Bypass狀態(tài)說(shuō)明,大家可以參考一下。
在實(shí)際的應(yīng)用中,這3種狀態(tài)往往是同時(shí)存在的,尤其是1和2兩種方式。一般的應(yīng)用方法為:在斷電的情況下,設(shè)備處于Bypass打開(kāi)狀態(tài),然后設(shè)備上電后,由于BIOS可以對(duì)Bypass作操作,所以在BIOS接管設(shè)備后,Bypass仍然處于打開(kāi)狀態(tài),然后OS啟動(dòng),當(dāng)OS啟動(dòng)后,一般會(huì)執(zhí)行GPIO 的Bypass程序,將Bypass關(guān)閉,這樣可以應(yīng)用程序就可以發(fā)揮作用了。
也就是說(shuō)在整個(gè)啟動(dòng)過(guò)程中,幾乎不會(huì)造成網(wǎng)絡(luò)的斷開(kāi)。只有在設(shè)備剛剛上電到 BIOS接管這短短的2-3秒鐘的時(shí)間會(huì)使網(wǎng)絡(luò)斷開(kāi)。關(guān)于更具體的應(yīng)用,大家可以參考一下下面這篇文章,這篇文章是以研華FWA-3140為例,做的一個(gè)應(yīng)用,地址為:http://www.panabit.com/document/panabit_bypass.html
三、 Bypass實(shí)現(xiàn)的原理分析
上面簡(jiǎn)單說(shuō)明了一下Bypass的控制方式,下面針對(duì)Bypass工作原理作一下簡(jiǎn)要的說(shuō)明,主要從硬件和軟件兩個(gè)層面來(lái)分析。以研華的FWA-3140系列產(chǎn)品為研究對(duì)象
1、 硬件層面。
在硬件層面上,要實(shí)現(xiàn)Bypass,主要使用的就是繼電器。這些繼電器主要連接兩個(gè)Bypass網(wǎng)口的各個(gè)網(wǎng)口信號(hào)線上,下圖以其中一根信號(hào)線來(lái)說(shuō)明繼電器在其中的工作方式。
以電源觸發(fā)為例,當(dāng)斷電的情況下,繼電器內(nèi)的開(kāi)關(guān)將會(huì)跳撥到1的狀態(tài),即將LAN 1 的RJ45接口上的Rx直接和LAN2 的RJ45 Tx 導(dǎo)通,而當(dāng)設(shè)備上電以后,開(kāi)關(guān)就會(huì)導(dǎo)通到2上,這樣如果要使LAN1和LAN2 上的網(wǎng)絡(luò)間通訊,就需要通過(guò)這臺(tái)設(shè)備上的應(yīng)用程序來(lái)實(shí)現(xiàn)了。
2、 軟件層面。
之前在Bypass的分類(lèi)中談到了GPIO和Watchdog兩種方式來(lái)控制、觸發(fā)Bypass,實(shí)際上這兩種方式都是對(duì) GPIO作操作,然后由GPIO來(lái)控制硬件上的繼電器作相應(yīng)的跳轉(zhuǎn)。具體一點(diǎn),就是相應(yīng)的GPIO如果被置成高電平,那么繼電器就相應(yīng)的跳轉(zhuǎn)到位置1,相反如果GPIO杯置成了低電平,則繼電器就跳轉(zhuǎn)到位置2。以研華FWA-3140為例,下圖說(shuō)明了FWA-3140的GPIO所控制的方式。
以上圖為例,如果對(duì)GPIO27 的Bit3 寫(xiě)入“0”或“1”,就可以對(duì)LAN 1/2 所組成的Bypass進(jìn)行開(kāi)關(guān)的控制,同理如果操作對(duì)象為GPIO 28 ,則可以實(shí)現(xiàn)對(duì)LAN3/4 Bypass的控制。
在DOS下可以用如下的Debug程序來(lái)才測(cè)試Bypass的控制方法和狀態(tài)。
有了上面的實(shí)例,就可以完全實(shí)現(xiàn)由軟件來(lái)控制Bypass的狀態(tài)了。
另外對(duì)于Watchdog Bypass,實(shí)際上是在上面的GPIO控制的基礎(chǔ)上,增加Watchdog控制Bypass。首先系統(tǒng)激活Watchdog功能,傳統(tǒng)上,當(dāng) Watchdog生效后,系統(tǒng)會(huì)Reset ,但如果你使用了Watchdog Bypass功能,則在Watchdog生效后,系統(tǒng)不會(huì)Reset,而是將相對(duì)應(yīng)的網(wǎng)口Bypass打開(kāi),使設(shè)備呈現(xiàn)為Bypass狀態(tài)。實(shí)際是這種 Bypass,也是通過(guò)GPIO來(lái)控制Bypass的,只不過(guò)這種情況下,向GPIO寫(xiě)入低電平的工作由Watchdog來(lái)執(zhí)行,不需要另外編程來(lái)寫(xiě) GPIO。
值得注意的事,如果你使用了Watchdog Bypass,則Watchdog將不能再實(shí)現(xiàn)讓系統(tǒng)Reset了。以研華FWA-3140為例,F(xiàn)WA-3140在主板上,會(huì)有一個(gè)3PIN的跳線,如果跳成1-2則Watchdog實(shí)現(xiàn)傳統(tǒng)的Reset動(dòng)作,如果將跳線設(shè)定為2-3,那么就會(huì)選擇到Watchdog Bypass功能,這種情況下如果Watchdog生效后,系統(tǒng)就會(huì)打開(kāi)Bypass功能。
【編輯推薦】