<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 讓關(guān)閉的Linux操作系統實(shí)現防火墻功能

讓關(guān)閉的Linux操作系統實(shí)現防火墻功能

作者: 時(shí)間:2007-05-09 來(lái)源:網(wǎng)絡(luò ) 收藏
一次在網(wǎng)上閑逛,突然看到論壇有一條消息說(shuō)有一種方法,可以讓已經(jīng)關(guān)閉的Linux機器繼續運行ipchains,并且讓這臺機器繼續實(shí)現防火墻的功能。當時(shí)我的第一反映是不屑一顧,難道一個(gè)防火墻還可以在關(guān)機的狀態(tài)下工作?依照論壇中所指的鏈接,我找到了一個(gè)帖子,上面說(shuō)在2.0.x內核中,使用Shutdown ?h(關(guān)機)命令可以使防火墻仍處于激活狀態(tài),而此時(shí)沒(méi)有掛載驅動(dòng)器,也沒(méi)有進(jìn)程在運行。也就是說(shuō)防火墻將在Level 0下運行,但仍然可以進(jìn)行包過(guò)濾。不過(guò),貼子說(shuō)該功能在2.2.x系統的內核中已經(jīng)不具備了。

  看到這兒,我有些坐不住了,我決定在內核為2.2.x的機器上也實(shí)現類(lèi)似的功能,并且我希望不在內核中增加任何補丁。事實(shí)證明,我做到了。

  安全的防火墻

  我認為安全意味著(zhù)這樣一種可能性,也就是假設防火墻已經(jīng)被完全關(guān)閉,并且已經(jīng)清除了所有進(jìn)程空間和文件系統,這樣就不會(huì )有任何黑客可以對該系統進(jìn)行訪(fǎng)問(wèn)。因為該機器上已經(jīng)完全沒(méi)有了進(jìn)程空間,也沒(méi)有掛載驅動(dòng)器。因此,黑客就無(wú)法在系統外使代碼運行在內核空間中。因為這需要寫(xiě)解釋代碼來(lái)產(chǎn)生所需要的結果,而這是一項非常艱苦的工作。

  不過(guò)需要提請注意的是,該防火墻并不能避免“拒絕服務(wù)式”的攻擊。事實(shí)上,對于“拒絕服務(wù)式”攻擊以及其它的專(zhuān)門(mén)耗盡資源的攻擊,該防火墻并不比任何其它的防火墻有效。當然,現實(shí)中,一般來(lái)說(shuō)系統并不容易受到這種攻擊。

  因為這種方法可以確保沒(méi)有一個(gè)用戶(hù)可以控制該機器,因此可以使安全性大大的提高。這正好應了IT業(yè)安全領(lǐng)域常說(shuō)的一句話(huà),要想讓一臺機器絕對安全,就應該把它關(guān)機,然后將其鎖在一間屋子里。

  開(kāi)始實(shí)施

  我用于測試的是一臺基于x86的Red Hat 6.2機器,它安裝有兩個(gè)網(wǎng)卡。整個(gè)過(guò)程無(wú)需特殊的系統或者對內核進(jìn)行增改。開(kāi)始,我嘗試著(zhù)在控制運行的腳本中搜索,希望能找到一點(diǎn)相關(guān)的線(xiàn)索。最后,我把焦點(diǎn)定格在rc0(該腳本在機器關(guān)閉時(shí)運行)腳本上。事實(shí)證明,這正是我要找的地方。于是我開(kāi)始從中刪除一些腳本,并且進(jìn)行了一系列測試。

  經(jīng)過(guò)一段相對較短的時(shí)間,我得出結論,對于Red Hat Linux 6.2,刪除以下腳本就可以實(shí)現上述的功能:

  /etc/rc.d/rc0.d/S00killall

  /etc/rc.d/rc0.d/K90network

  /etc/rc.d/rc0.d/K92ipchains

  刪除這三個(gè)腳本以后,我們就可以使網(wǎng)絡(luò )仍然可以工作,并且使ipchains仍然運行。切記,一定要把killall腳本刪除,因為它的任務(wù)是尋找/etc/rc.d/rc0.d/中所有的目錄,并且運行所有以K為開(kāi)頭的腳本。也就是說(shuō)該腳本會(huì )運行K90網(wǎng)絡(luò )和K92ipchains腳本,而這兩個(gè)腳本會(huì )刪除網(wǎng)絡(luò )和ipchains。

  一些解釋

  實(shí)際上,我們是把Linux設置成了一個(gè)內核子集。當機器暫停時(shí),甚至是機器運行了Shutdown以后,這一部分內核仍駐留在內存中。這種方法可以避免在關(guān)機的過(guò)程中,機器會(huì )中止所有的進(jìn)程,關(guān)閉所有網(wǎng)卡以及卸載所有的文件系統。此外,這種方法使得機器在關(guān)閉以后,不能再執行任何內部的任務(wù)。然而,內核仍然在運行,內存管理器也還在運行。

  由于內核仍然在運行,所以在關(guān)機以后,所有我們運行的,基于內核的任務(wù)都可以被運行。當然,由于大部分的任務(wù)都需要進(jìn)行一些I/O操作(正如本例一樣)。因此,我們必須讓機器關(guān)閉以后,仍然使這些端口存在。這是通過(guò)K90network來(lái)實(shí)現。它使得網(wǎng)卡在關(guān)機以后也不會(huì )停止工作。

  此外,任何需要使用到的基于內核的服務(wù)都必須要處于運行狀態(tài)(比如ipchains)。在缺省情況下,當系統關(guān)閉時(shí),會(huì )把所有的ipchains規則都中止。如果這樣的話(huà),在本例中,防火墻將無(wú)法工作,所以必須要把清除ipchains規則的腳本刪除。在本例中即要刪除K92ipchains腳本。

  局限性

  在關(guān)閉系統以后,只讓部分程序運行,這顯然會(huì )有一些局限性。在本例中,最明顯的局限性就是如果客戶(hù)端的IP地址是通過(guò)后臺程序(比如PPP、DHCP)等獲得的,那么就將無(wú)法實(shí)現該功能。這就限制了那些使用動(dòng)態(tài)連接用戶(hù)的使用。此外,由于在關(guān)系系統過(guò)程中,所有的用戶(hù)代理空間(比如Socks5)都將被關(guān)閉,因此在本例的設置中,只能實(shí)現包過(guò)慮和NAT功能。

  此外要考慮的一點(diǎn)是,由于所有的驅動(dòng)器都被卸載了,所有的交換空間都從機器上被刪除,所以如果機器的內存足夠大的話(huà),那么在處理的信息量很大時(shí)也不會(huì )有問(wèn)題。但是如果使用的是一臺性能比較差的老機器,那么在傳輸的信息量過(guò)大時(shí)就會(huì )出現一些問(wèn)題。

  總結

  作為一個(gè)Linux愛(ài)好者,我覺(jué)得這一小發(fā)現很有意思。此外,在我們完成特定的安全任務(wù)時(shí),這也給了我們一種特定的解決模式。目前,我最想知道的,是否其它的自由Unix(比如OpenBSD)也可以做成功類(lèi)似的實(shí)驗。此外,雖然我是在家中做的實(shí)驗,但是如果將其用于中小型公司的話(huà),我想可以為公司提供安全極高的數據包過(guò)濾功能。此外,也可以為一些大的商業(yè)任務(wù)提供一個(gè)非常安全的、高帶寬的防火墻或者路由器




評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>