簡單了解防火墻
防火墻和路由器一樣,工作在OSI的網(wǎng)絡(luò)層,防火墻也被稱為防護(hù)墻,它是一種位于內(nèi)部網(wǎng)絡(luò)與外部網(wǎng)絡(luò)之間的網(wǎng)絡(luò)安全系統(tǒng),可以將內(nèi)部網(wǎng)絡(luò)和外部網(wǎng)絡(luò)隔離。通常,防火墻可以保護(hù)內(nèi)部/私有局域網(wǎng)免受外部攻擊,并防止重要數(shù)據(jù)泄露。
在沒有防火墻的情況下,路由器會(huì)在內(nèi)部網(wǎng)絡(luò)和外部網(wǎng)絡(luò)之間盲目傳遞流量且沒有過濾機(jī)制,而防火墻技術(shù)的功能主要在于及時(shí)發(fā)現(xiàn)并處理計(jì)算機(jī)網(wǎng)絡(luò)運(yùn)行時(shí)可能存在的安全風(fēng)險(xiǎn)、數(shù)據(jù)傳輸?shù)葐栴},其中處理措施包括隔離與保護(hù),同時(shí)可對(duì)計(jì)算機(jī)網(wǎng)絡(luò)安全當(dāng)中的各項(xiàng)操作實(shí)施記錄與檢測,以確保計(jì)算機(jī)網(wǎng)絡(luò)運(yùn)行的安全性,保障用戶資料與信息的完整性,為用戶提供更好、更安全的計(jì)算機(jī)網(wǎng)絡(luò)使用體驗(yàn)。
防火墻較于路由器,主要多了安全策略,應(yīng)用層網(wǎng)關(guān)以及基于session來轉(zhuǎn)發(fā)數(shù)據(jù)包

防火墻基本部署
除了將內(nèi)網(wǎng)與外部Internet隔離之外,防火墻還可以將局域網(wǎng)中的普通數(shù)據(jù)和重要數(shù)據(jù)進(jìn)行分離,所以也可以避免內(nèi)部入侵。

內(nèi)網(wǎng)隔離
防火墻的工作原理
防火墻有硬件防火墻和軟件防火墻兩種類型,硬件防火墻允許通過端口的傳輸控制協(xié)議(TCP)或用戶數(shù)據(jù)報(bào)協(xié)議(UDP)來定義阻塞規(guī)則,例如:可以禁止不必要的端口和IP地址的訪問。軟件防火墻就像互聯(lián)內(nèi)部網(wǎng)絡(luò)和外部網(wǎng)絡(luò)的代理服務(wù)器,它可以讓內(nèi)部網(wǎng)絡(luò)不直接與外部網(wǎng)絡(luò)進(jìn)行通信,但是很多企業(yè)和數(shù)據(jù)中心會(huì)將這兩種類型的防火墻進(jìn)行結(jié)合,主要是因?yàn)檫@樣做可以更加有效地提升網(wǎng)絡(luò)的安全性。
防火墻的分類
包過濾防火墻
包過濾防火墻控制OSI的三、四層,一般是通過ACL來匹配數(shù)據(jù)包內(nèi)容,以決定哪些包被允許和哪些包被拒絕。
優(yōu)點(diǎn):
- 能以很快的速度處理數(shù)據(jù)包
- 易于匹配絕大多數(shù)的3、4層報(bào)頭信息
缺點(diǎn):
- ACL過多導(dǎo)致配置復(fù)雜
- 不能阻止應(yīng)用層的攻擊
- 不能檢測和阻止某些類型的TCP/IP攻擊,比如TCP SYN泛洪和IP欺騙
狀態(tài)檢測防火墻
控制OSI的三、四、五層
狀態(tài)檢測防火墻工作在數(shù)據(jù)鏈路層和網(wǎng)絡(luò)層之間,對(duì)于新建的應(yīng)用連接,它從這里截取數(shù)據(jù)包提取出的信息,并根據(jù)對(duì)應(yīng)的安全策略及過濾規(guī)則處理數(shù)據(jù)包,生成狀態(tài)表,這樣防火墻確保了截取和檢查所有通過網(wǎng)絡(luò)的原始數(shù)據(jù)包。然后將相關(guān)信息組合起來,進(jìn)行一些邏輯或數(shù)學(xué)運(yùn)算,獲得相應(yīng)的結(jié)論,進(jìn)行相應(yīng)的操作,如允許數(shù)據(jù)包通過、拒絕數(shù)據(jù)包、認(rèn)證連接,加密數(shù)據(jù)等。狀態(tài)檢測防火墻雖然工作在協(xié)議棧較低層,但它檢測所有應(yīng)用層的數(shù)據(jù)包,從中提取有用信息,如IP地址、端口號(hào)等,這樣安全性得到很大提高。另外在這種防火墻中一旦一個(gè)連接建立起來,就不用再對(duì)這個(gè)連接做更多工作,系統(tǒng)可以去處理別的連接,執(zhí)行效率明顯提高。
狀態(tài)檢測防火墻實(shí)現(xiàn)了基于UDP應(yīng)用的安全,通過在UDP通信之上保持一個(gè)虛擬連接來實(shí)現(xiàn)。防火墻保存通過網(wǎng)關(guān)的每一個(gè)連接的狀態(tài)信息,允許穿過防火墻的UDP請(qǐng)求包被記錄,當(dāng)UDP包在相反方向上通過時(shí),依據(jù)連接狀態(tài)表確定該UDP包是否被授權(quán)的,若已被授權(quán),則通過,否則拒絕。如果在指定的一段時(shí)間內(nèi)響應(yīng)數(shù)據(jù)包沒有到達(dá),連接超時(shí),則該連接被阻塞,這樣所有的攻擊都被阻塞。狀態(tài)檢測防火墻可以控制無效連接的連接時(shí)間,避免大量的無效連接占用過多的網(wǎng)絡(luò)資源,可以很好的降低DOS和DDoS攻擊的風(fēng)險(xiǎn)。

狀態(tài)檢測防火墻規(guī)則
缺點(diǎn):
狀態(tài)檢測防火墻雖然繼承了包過濾防火墻和應(yīng)用網(wǎng)關(guān)防火墻的優(yōu)點(diǎn),克服了它們的缺點(diǎn),但它仍只是檢測數(shù)據(jù)包的第三層信息,無法徹底的識(shí)別數(shù)據(jù)包中大量的垃圾郵件、廣告以及木馬程序等。
應(yīng)用網(wǎng)關(guān)防火墻
控制OSI的三、四、五、七層
能截獲用戶的初始化連接請(qǐng)求,并發(fā)送給用戶一個(gè)認(rèn)證信息的請(qǐng)求
所以進(jìn)出網(wǎng)絡(luò)的應(yīng)用程序報(bào)文都必須通過應(yīng)用網(wǎng)關(guān)。當(dāng)某應(yīng)用客戶進(jìn)程向服務(wù)器發(fā)送一份請(qǐng)求報(bào)文時(shí),先發(fā)送給應(yīng)用網(wǎng)關(guān),應(yīng)用網(wǎng)關(guān)在應(yīng)用層打開該報(bào)文,查看該請(qǐng)求是否合法(可根據(jù)應(yīng)用層用戶標(biāo)識(shí)ID或其他應(yīng)用層信息來確定)。如果請(qǐng)求合法,應(yīng)用網(wǎng)關(guān)以客戶進(jìn)程的身份將請(qǐng)求報(bào)文轉(zhuǎn)發(fā)給原始服務(wù)器。如果不合法,報(bào)文則被丟棄。例如,一個(gè)郵件網(wǎng)關(guān)在檢查每一個(gè)郵件時(shí),根據(jù)郵件地址,或郵件的其他首部,甚至是報(bào)文的內(nèi)容(如有沒有"哈哈","呵呵"等自定義敏感詞)來確定該郵件能否通過防火墻。
雖然這種類型的防火墻是很安全的,但因?yàn)檫@種類型的防火墻必須為每個(gè)傳輸層服務(wù)設(shè)置一個(gè)代理,任何要使用新服務(wù)必須安裝一個(gè)相應(yīng)的代理,并通過該代理來操作發(fā)起連接。每個(gè)應(yīng)用都需要一個(gè)不同的應(yīng)用網(wǎng)關(guān)(可以運(yùn)行在同一臺(tái)主機(jī)上)。其次在應(yīng)用層轉(zhuǎn)發(fā)和處理報(bào)文,處理負(fù)擔(dān)比較重。另外,對(duì)應(yīng)用程序不透明,需要在應(yīng)用程序客戶端配置應(yīng)用網(wǎng)關(guān)地址。