版權聲明:本內容為原創內容,轉載請聲明出處。
原文地址:http://www.excelib.com/article/286/show
要 想真正用活防火牆,首先需要弄明白防火牆到底是什么、起什么作用,只有這樣才能用的得心應手,不過由於歷史原因,現在普遍對防火牆概念的理解有一 定的誤區,這就影響了對防火牆的靈活使用,所以在正式學習firewalld之前學生先給大家介紹一下防火牆的本質到底是什么。
“防火牆”到底是什么
“防火牆”在我國最早是一種建築,他又叫“封火牆”,其主要作用就是防火,因為那時候的建築都是以木質結構為主,而且又非常密集,所以一個住宅着火就很容易傳播到鄰近的住宅,最初的防火牆就是在這種木質結構上塗上灰泥從而達到將火源隔斷的目的。
網絡中的防火牆來源於英文單詞“firewall”的翻譯,有時候也叫“網絡防火牆”,不過這個詞使用的並不是非常准確,這也就導致了對防火牆的普遍誤解。
一 想到防火牆大家的第一印象大概就是“隔離”,而且很多防火牆的資料也是這么介紹的,比如“將內網和外網進行隔離”、“將本地電腦和外部網絡隔離” 等等, 而且有時候還會配一張示意圖,圖中的防火牆就是一堵牆。以前學生在剛接觸防火牆的時候心里就產生了一些疑問:既然防火牆已經將網絡給隔斷了,那么正常的通 信是怎么進行的呢?是可以穿牆而過還是需要從其他通道進入呢?而且,當時學生甚至認為防火牆是用來防病毒的!
其實這一切的根源都來自對“防火牆”這個詞本身的理解,實際上“網絡防火牆”所起的並不是牆的作用,而是門衛的作用,如果按門衛去理解很多問題就迎刃而解了。
牆 和門衛有哪些區別呢?這個問題雖然看起來有些可笑,不過對於理解網絡防火牆還是有好處的。首先,牆所起的作用是隔斷,無論誰都過不去,但是門衛就 不一樣 了,他的職能是檢查和判斷是否可以通過,只要符合條件就可以通過;其次,牆是死的,而門衛是活的,所以門衛還可以完成很多更加靈活的功能,比如有人要到A 部門辦事,但A部門搬到新的辦公地址去了,這時門衛就可以告訴來人“你要去的部門換地方了,你到XXX去吧”,再比如有的人並不是要進去辦事,只是想從里 邊穿過去抄近道,這種情況門 衛也能處理,但是牆是無論如何都辦不到的。
理解防火牆本質的好處
可能有的讀者會想:你這是在咬文嚼字,不就是個名詞嗎,理解不理解又有什么關系呢?會用不就行了?而且這么多年大家用的不也挺好的嘛!
其 實並不是這樣,我們以前如果要使用一個防火牆一般都是先看他都具有哪些功能,其中我們能用到哪些,怎么去用,然后再去找文檔、找例子。。。。。。 這其實是一 種被動的用法,因為這里我們其實是將防火牆當做一個新事物來學習和使用的(雖然我們一般剛開始都會將其理解為牆,但是慢慢會發現他跟牆的模型並不相符,所 以就會將其當做一個新的事物來學習),但是理解了防火牆的本質就是門衛之后就不一樣了,這時我們在使用防火牆的時候首先就要想:我要給我的服務器(或者自 己的PC)找個門衛,這個門衛需要做什么,然后再去找防火牆、查具體某功能的配置方法等等,這樣就主動了。
不僅如此,在理解了其本質之后 還有更大的好處,比如你想好了想找的“門衛”都需要有哪些功能之后又去找防火牆,然而卻發現沒有一款防火牆可以滿足你 的需求,這時候創新的機會就來了!也就是說通過防火牆和門衛功能的類別更容易設計出更加合理和易用的防火牆。我們來看個例子,比如一個門衛應該可以有按時 間段放行的功能,但是現有防火牆卻很少有這個功能,其實這個功能很多地方都是可以用得到的,比如每天要定時遠程備份一下日志,那么只要在每天在特定的時間 段開放端口就行了,而不需要一直開着,當然這種需求可以通過定時任務很容易地解決,不過只要從“門衛”的角度去思考,這樣的需求還有很多。
真正好的創意其實是建立在扎實的基本功和對事物本質的深層次理解上的,而不是為了創新而創新出來的。
防火牆與殺毒軟件
對於不了解防火牆的用戶來說很多時候都分不清防火牆和殺毒軟件之間的關系,而且往往會認為防火牆就是用來防病毒的,其實這是對防火牆非常大的誤解,這也許跟大家心目中防火牆的“牆”、“保護”、“安全”等特征有關系,但是防火牆其實並不能防病毒。
我 們上面說了,防火牆所起的是門衛的作用,不過這個門衛的邏輯非常簡單,他主要關心的只有兩樣東西:1、從哪來的2、到哪里去,別的東西他一概不管 (實際上還 有一些東西,比如是有預約的——TCP,還是無預約的——UDP,如果是有預約的還會判斷是剛要去預約還是已經預約好了等內容)。而病毒是屬於所攜帶的內 容方面的東西,這部分並不是門衛的職責范圍,而是應該有專人去負責,這就好像有人跟門衛說要去市場部,而且門衛所接到的指令是“所有到市場部的全部放 行”,所以門衛就放行了,但是沒想到此人是到市場部去吵架的!不過這就不是門衛應該管的事情,而是保安所應該管的事情了。其實不僅如此,我們的防火牆這個 “門 衛”即使見到來的人拿着刀、拿着槍,也一樣會放行,因為他只關心兩樣東西:從哪里來和到哪里去。
這種結構雖然“分工明確”,但是我 們總會覺得這種門衛有點不近人情,至少算不上一個好門衛。那么能不能讓他包含查毒、防毒甚至殺毒的功能呢?當然沒 問題,因為防火牆就是一個軟件,軟件都是人寫的, 只要我們把相應的功能給加進去就可以了,非常簡單!不過事實上並非如此,我們還拿門衛的例子來給大家解釋,因為門衛需要負責檢查所有進出的人,而要想知 道某個人是否攜帶了違禁物品(病毒)就需要對其進行收身,如果門衛要對所有人都進行收身,那么大家可以想象一下在上下班這種人流高峰期會是一種什么場景! 而 且對於服務器來說一秒鍾就可能會有成千上萬的訪問,所以哪怕每次檢查多用一點點時間,累計起來就非常可怕了!而且以我們現在這種特征碼的檢查方式來說檢查 病毒所用的並不是“一點點時間”,所以這種想法雖然技術上沒有問題,但是並不可行,至少從現在的技術來看是不可行的。
我們來總結一下,防火牆就像一個門衛,他的職能是負責讓不讓進出,而進去之后干什么那就不是他需要管的事情了,這應該是保安(殺毒軟件)或者其他相關部門的人所需要負責的。
理解了防火牆的本質之后再來學習、使用防火牆就容易了,不過對於Centos7新的防火牆firewalld來說還有一個很多人沒有真正理解透的概念,那就是zone,學生下節再給大家詳細介紹。