一、 初識網路防火牆1.1、防火牆的基本功能我們這裡說的防火牆(Firewall)是一種網路設備,它在網路中起到兩個最基本的功能:
· 劃分網路的邊界
· 加固內網的安全
**劃分網路的邊界**防火牆設備的其中一個功能,就是劃分網路的邊界,嚴格地將網路分為”外網”和”內網”。”外網”則是防火牆認為的——不安全的網路,不受信任的網路”內網”則是防火牆認為的——安全的網路,受信任的網路你可以這麼打一個比喻:如果把網路比作一個城市,那麼”內網”就是你的小區內部,”外網”就是城市道路小區的圍牆就相當於是防火牆,起到了一個隔離”內部環境”和”外部環境”的功能

並且呢,任何一個防火牆設備,在設計上就會強制把”內部”和”外部”的概念。應用在介面上從內部訪問外部默認情況下是允許的,但是從外部訪問內部默認情況下是禁止的(需要設置相關策略才能從外部到內部訪問。)這種情況就像你到任何一個小區或者單位,你從裡面出來的時候門衛一般不管你,但是如果想從外面進去,那可就不是那麼回事了哦。


**加固網路的安全**剛才說到了防火牆的其中一個功能,就是網路流量流向的問題(內到外可以訪問,外到內默認不能訪問),這就從一定程度上加強了網路的安全性,那就是:”內網屬於私有環境,外人非請莫入!”另外,防火牆還能從另外一些方面來加固內部網路的安全**1、隱藏內部的網路拓撲**這種情況用於互聯網防火牆。因為內網一般都會使用私有IP地址,而互聯網是Internet的IP地址。由於在IPv4環境下IP地址不足,內部使用大量的私有地址,轉換到外部少量的Internet地址,這樣的話,外部網路就不會了解到內部網路的路由,也就沒法了解到內部網路的拓撲了。同時,防火牆上還會使用NAT技術,將內部的伺服器映射到外部,所以從外部訪問伺服器的時候只能了解到映射後的外部地址,根本不會了解到映射前的內部地址。

**2、帶有安全檢測防禦**這種功能並不是每一款防火牆都有安全檢測系統(intrusion detection system,簡稱”IDS”)是一種對網路傳輸進行即時監視,在發現可疑傳輸時發出警報或者採取主動反應措施的網路安全設備。它與其他網路安全設備的不同之處便在於,IDS是一種積極主動的安全防護技術。 **3、會話日誌功能**防火牆都有”會話記錄”功能,每一個數據包在經過防火牆之後,都可以在防火牆的會話表中查詢到歷史訪問記錄。比如10.112.100.101的主機在訪問外部網路的時候,只要它訪問成功,都會被防火牆所記錄下來。如果是外部主機訪問內部呢?當然,在你的內部網路遭受不安全以後,可以在防火牆上查到從外到內,到底是哪個IP地址非法闖入了。如果確實有外部非法闖入內部的訪問,也可以追查防火牆的安全策略設置,看看哪一條安全策略的設置有問題。雖然這看起來是一種”亡羊補牢”的做法,但是能查到危害源,總比你什麼都查不到要好啊。1.2、防火牆在企業環境的應用1、互連網出口設備這估計是大家最能想到的一種用途吧。因為Internet就是一個最典型的”外網”,當企業網路接入Internet的時候,為了保證內部網路不受來自外部的威脅侵害,就會在互聯網出口的位置部署防火牆。

2、分支機構接骨幹網作邊界設備在電力行業、金融行業等大型跨地,跨省的企業時,為了企業中各個省級、地市級單位的內部數據通信通常都會自建一張骨幹網路。在每個省級、地市級單位辦公網路接入骨幹網時,就可以在網路接入點部署防火牆,進一步提高每個單位的辦公網路安全性。

3、數據中心內保護伺服器數據中心(DataCenter)是為企業存放重要數據資料的,同時數據中心內會放置各種各樣功能不一的伺服器。想要保證數據的安全,首先就要保證這些伺服器的安全。物理上的安全嘛,你就防火防水防賊唄,應用上的安全,找殺毒軟體嘛;但是在網路上防止,防止非授權人員操作伺服器,就需要到防火牆來發揮作用了。一般在傳統的數據中心內,會根據不同的功能來決定伺服器的分區,然後在每個分區和核心設備的連接處部署防火牆。

## 1.3、並不是任何場合都適合部署防火牆誰都知道安全性和方便性有時候會有那麼一些衝突。你去坐飛機,會經過非常嚴格的安檢,沒個十幾二十分鐘完成不了;但是在坐高鐵,火車或者大巴的時候,安檢可能就沒那麼嚴格了。防火牆作為一種網路安全設備,部署在網路中會對穿過防火牆的數據包進行攔截,然後確定它符合策略要求以後才會放行。這會對網路傳輸效率造成一定影響。所以在一些十幾個人的小公司或者是網路功能單一的環境(網路就是用來上網用的)是不會使用防火牆的。加上企業級防火牆價格一般比較高(十幾萬到一百多萬不等的價格),在那些以節約成本為先的偏小型私人企業一般不會使用防火牆。所以防火牆一般用於數據中心,大型企業總部,國有企業省級、地區級辦公機構,帶有伺服器區域的網路環境或機密性較高的單位。二、防火牆的生廠商根據防火牆的部署方式,防火牆分為硬體防火牆和軟體防火牆兩種。硬體防火牆:防火牆是一台網路設備,獨立上架安裝使用。下圖為大家展示了思科的硬體防火牆,Cisco ASA和Cisco Firepower

軟體防火牆:用一台多網卡伺服器,安裝Windows或Linux操作系統,再在操作系統上安裝與防火牆相關的功能軟體。下圖為大家展示Microsoft ISA正在發布Exchange伺服器

硬體防火牆的生產商很多,但是在國內大多數都是用以下幾種產品:

捷哥列出這些生產商也只是其中一部分,上述廠商的防火牆捷哥都接觸過,但是經常遇到的還是Cisco ASA,Juniper SRX,華為USG,天融信NGFW,迪普DPTec-FW1000這些設備。這裡捷哥本人也不敢亂說誰好誰壞吧,只是經過一段時間的觀察,發現了這樣一個小小規律:一般來說Cisco ASA和Juniper SRX,華為USG,H3C FW,迪普FW系列用作內網防火牆較多,而天融信和深信服系列更多用於互聯網出口。軟體防火牆一般都是由軟體公司生產:Windows 自帶的防火牆(一般Windows都作終端使用,很少讓其作為路由設備轉發數據)Linux自帶的防火牆(Netfilter,管理工具叫IPtables)ISA/TMG(微軟軟體)Squid(開源軟體,更多的情況用於代理伺服器)## 三、防火牆的分類防火牆按照功能和級別的不同,一般分類這麼三類:* 包過濾型防火牆* 狀態檢測型防火牆* 代理型防火牆## 3.1、包過濾型防火牆這種防火牆只能實現最基礎的包過濾功能,按照既定的訪問控制列表對數據包的三、四層信息進行控制,詳細一點就是:三層信息:源IP地址,目標IP地址四層信息:源埠,目標埠這種情況其實用一個路由器或者三層交換機,配置ACL就能實現只有符合了條件的數據包才能被放行,不符合條件的數據包無論如何都不會被放行。但是包過濾型防火牆的性質就是那麼”教條”與”頑固不化”!

如果是使用一個路由器,強行設置”從外部到內部拒絕所有流量”會有什麼後果呢?



當然,外部的流量全部被ACL阻止了,但是這麼設置在某些場合會造成網路通信故障:比如內部的主機訪問外部TCP協議的服務,需要經過三次握手,其中第二次握手的流量就是從外部到內部的,如果單使用一個路由器的ACL實現包過濾,並且在外部介面配置拒絕所有流量進入,就會導致三次握手無法完成,從而內部主機訪問不到外部的服務。

第一次握手,內部主機10.112.100.101使用隨機埠10025訪問外部的WebServer`200.100.1.2的TCP 80`三層信息源IP地址:10.112.100.101目標IP地址:200.100.1.2源埠:TCP 10025目標埠:TCP 80由於內部介面放行所有流量,所以這個第一次握手的流量被放行了

第二次握手,外部主機200.100.1.2的被動地TCP 80發出相應,將第二次握手的數據包傳回到10.112.100.101的TCP 10025埠上,此時三層信息源IP地址:200.100.1.2目標IP地址:10.112.100.101源埠:TCP 80目標埠:TCP 10025但是外部介面拒絕了所有流量的進入,所以這個第二次握手的包無法送到內部主機,導致三次握手無法完成。從而主機就沒法訪問外部Web Server了

由於TCP連接時,內部主機在發起第一次握手時總是以隨機埠進行連接,所以你在外部也沒法針對相應的埠進行流量的放行,但是如果把外部介面也改為permit ip any any,又會導致內部主機容易受到外部的侵害。

說到這裡,捷哥想說一句題外話曾經有一個學員網友問了我一個問題,說是在企業部署了一台Cisco 6509交換機作為匯聚設備。但是他又想實現這樣的一個功能,看圖吧:

網友的意思是,想在Gi 2/1介面上做一些控制,只允許來自核心方面的流量訪問辦公區域的一些特定埠,其他的全部禁止訪問,問我在這個Cisco 6509上怎麼做。我告訴他的是:”如果設備是交換機的話,你這個操作沒法做。因為辦公區的電腦訪問外網或者內網伺服器的時候,會打開一些隨機埠,你就沒法知道這些隨機埠是什麼。如果你隨便在Gi 2/1介面上去做限制,會導致你辦公區域的電腦根本沒法上網。”## 3.2、狀態檢測型防火牆狀態檢測型防火牆就是為了解決”傻×”的包過濾型防火牆而存在的。它比包過濾型防火牆還多了一層”狀態檢測”功能。狀態化檢測型防火牆可以識別出主動流量和被動流量,如果主動流量是被允許的,那麼被動流量也是被允許的。例如TCP的三次握手中,第一次流量是主動流量,從內到外,第二次流量就是從外到內的被動流量,這可以被狀態監測型防火牆識別出並且放行。狀態監測型防火牆會有一張”連接表”,裡面記錄合法流量的信息。當被動流量彈回時,防火牆就會檢查”連接表”,只要在”連接表”中查到匹配的記錄,就會放行這個流量

第一次握手,內部主機10.112.100.101使用隨機埠10025訪問外部的WebServer200.100.1.2的TCP 80三層信息源IP地址:10.112.100.101目標IP地址:200.100.1.2源埠:TCP 10025目標埠:TCP 80由於內部介面放行所有流量,所以這個第一次握手的流量被放行了但此時,防火牆在連接表中生成了如下內容:

第二次握手時,是外部主機被動彈回的流量源地址(外部):200.100.1.2源埠(外部):TCP 80目標地址(內部):10.112.100.101目標埠(內部):TCP 10025此時,防火牆會暫時攔截流量,然後檢查連接表,看看內部主機的IP和埠,外部主機的IP和埠是否與連接表中記錄的相同,如果相同,它就會放行這個流量。當然,形成連接表記錄的先決條件是:主動發起訪問一端的流量要符合防火牆的安全策略要求,也就是說內部網路向外部網路不被明確拒絕,外部網路訪問內部網路被明確允許。只有連接表內記錄了內外主機和IP埠信息的,被動彈回的流量才會被防火牆放行。如果是外部主動發起的流量,而防火牆又沒有允許它訪問內部,由於是外部主動發起的流量,所以防火牆的連接表裡沒有相應的信息,這就會遭到防火牆的拒絕。從而達到既保證了內部到外部的正常通信,又使得內部主機不受到外部的侵犯,這就是狀態檢測型防火牆的魅力所在。目前主流的硬體防火牆幾乎都支持狀態監測功能。## 3.3、代理型防火牆代理型防火牆一般是一個安裝在多網卡伺服器上的軟體,擁有狀態監測的功能,但是多了一項功能就是代理伺服器功能。一般有正向代理和反向代理兩種功能:**正向代理**正向代理用於內部主機訪問Internet伺服器的時候,特別是Web服務的時候很管用。當內部主機第一次訪問外部的Web伺服器時,代理伺服器會將訪問後的內容放在自己的”高速緩存”中,當內部主機再次訪問該Web伺服器的時候,如果有相同的內容,代理伺服器就會將這個訪問定位到自己的高速緩存,從而提升內部主機的訪問速度。


代理型防火牆的代理功能可以在內部主機訪問Web數據的時候,起到一個緩存加速的情況。但是這種防火牆因為是安裝在一台伺服器上的軟體,其性能受到伺服器本身的限制。所以對於一些實時性的數據,或者是從網上下載文件到本地,就可能會被防火牆拖慢網速。目前代理型防火牆在企業一般很少用於正向代理或者是出口網關設備,倒是反向代理更多。**反向代理**反向代理和正向代理有點類似,只不過訪問的方向是外部到內部。當外部主機要訪問內部發布的某個伺服器的時候,不會讓它把訪問目標定位到內部伺服器上,而是反向代理設備上。反向代理設備會從真實的伺服器上抽取數據到自己的緩存中,起到保護真實伺服器的功能。反向代理一般單獨部署,不和狀態檢測防火牆部署在一起,各自實現各自的功能。

反向代理在一定程度上可以保護內部的真實伺服器,即使遭到危險,也是反向代理被危及被破壞的數據也是緩存。並且反向代理伺服器上可能會記錄對方的危險方式,找出網路系統中存在的缺陷,提醒管理員即使封阻漏洞,修復缺陷。

# 四、關於防火牆的學習方法## 4.1、理解原理,掌握技巧(了解原理,查閱手冊)因為防火牆生產廠商比較多,把每個廠商的防火牆的配置命令和設置方式都拿出來一個一個的說,這個非常不現實。因為在企業內部的防火牆都是生產環境,我不可能那生產環境的防火牆來給大家做試驗品,一來這可能導致網路故障(責任我背不起啊!)二來我和客戶簽了保密協議,出於職業道德我也不能把這些配置都展示給大家。進口防火牆產品因為是全英文的手冊複雜,但是有著一套比較完善的模擬器系統,可以幫助大家理解防火牆的特性和配置方式,所以,捷哥在這個專欄裡面,著重用兩款進口產品(Cisco和Juniper)為大家展示防火牆特性的一些配置及驗證。國內的防火牆產品,捷哥也會在專欄的文章裡面體現到。因為國內的產品缺少模擬器,而且實際環境多半是Web界面進行配置,所以對於國內的防火牆產品捷哥重點是教大家如何去查閱手冊(國內產品一定是全中文手冊,非常容易看懂)。## 2、抓住重點,切勿混淆這一點是針對於學過路由交換的讀者說的。曾經捷哥在51cto學院出了一個跟Juniper相關的視頻課程,結果被人打了差評,原因就是我沒有講在防火牆上如何配置OSPF、BGP這些路由協議。在這裡我必須給大家強調一下,因為防火牆從最初的設計上來講,就是為了作為網路邊界設備和安全設備。防火牆的工作重點是在處理包過濾及狀態化會話,以及兼顧一些安全檢測的功能,對路由處理能力並不強。在實際的企業部署中,一般是不會在防火牆上去跑動態路由的。所以,學習防火牆,重點技術就是在安全策略,NAT,以及一些安全的配置還有防火牆雙機熱備上面。## 3、經驗只可借鑒不可照搬防火牆位於網路的關鍵位置,特別是數據中心的防火牆。一般來說,在企業中運維防火牆的話,防火牆的變更操作會很多,一般都會在安全策略,ACL的地方進行變更操作。所以要玩好防火牆,技術之外的技巧,例如腳本技巧,文本技巧要大於技術之內。捷哥會給大家介紹一些如何去對一些陌生的防火牆廠商的快速上手技巧,大家可以靈活借鑒,但不可生搬硬套哦。還有呢,防火牆很多時候查看多餘配置。對於進口防火牆來說,如何在全英文的界面下抓住重點,從查看到的內容中找到關鍵信息和關鍵參數,這也是需要一點點小小的技巧的。當然啦,大家不要只盯著configure,學會show和display也同樣重要。
原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/212987.html
微信掃一掃
支付寶掃一掃