53 張圖詳解防火牆的 55 個知識點

語言: CN / TW / HK

大家好,我是小弗。上次寫過一篇《圖解防火牆(上)》,就是本文的前 17 個知識點,現在整理了完整版,共 55 個知識點,53 張配圖,一次看懂防火牆!

1、什麼是防火牆?

防火牆( Firewall )是防止火災發生時,火勢燒到其它區域,使用由防火材料砌的牆。

後來這個詞語引入到了網路中,把從外向內的網路入侵行為看做是火災,防止這種入侵的策略叫做 防火牆 。後來,防火牆不但用於防範外網,例如:對企業內網的 DoS 攻擊或非法訪問等,也開始防範從內部網路向網際網路洩露資訊、把內部網路作為攻擊跳板等行為。

硬體防火牆可以實現 CIA機密性 ( Confidentiality )、 完整性 ( Integrity )、 可用性 ( Availability )這三種類型的對應策略。小企業會在區域網和網際網路的邊界部署防火牆。

2、防火牆有哪些型別?

防火牆可分為 軟體防火牆硬體防火牆 。軟體防火牆又可分為 個人防火牆閘道器防火牆

個人防火牆

個人防火牆執行在 PC 上,用於監控 PC 和外網的通訊資訊。在 Windows 作業系統中集成了 Windows 防火牆。

防毒軟體產品廠家的個人防火牆一般包含在安全軟體套件裡。

閘道器防火牆

在網路中的閘道器上配置防火牆的功能,能對網路中的流量進行策略控制,這就是 閘道器防火牆

閘道器防火牆分為兩種,一種是在 Windows 、Linux 等作業系統上安裝並執行防火牆軟體的 軟體閘道器防火牆 ,另一種是使用專用裝置的 硬體閘道器防火牆

個人防火牆主要監控 PC 的通訊流量,閘道器防火牆是監控網路中所有終端的通訊流量,在閘道器處進行策略控制。

硬體防火牆

通過硬體裝置實現的防火牆叫做 硬體防火牆 ,外形跟路由器相似,介面型別通常有千兆網口、萬兆光口。

3、防火牆有哪些技術型別?

4、什麼是代理伺服器?

代理伺服器是應用閘道器防火牆的一種。假設客戶端和 HTTP 伺服器通訊時, 客戶端傳送請求報文時,代理伺服器會替代客戶端向 HTTP 伺服器傳送請求;HTTP 伺服器回覆響應報文時,代理伺服器會代替 HTTP 伺服器向客戶端回覆。對於客戶端來說,代理伺服器就是 HTTP 伺服器。客戶端和代理伺服器、代理伺服器和 HTTP 伺服器分別建立兩個會話。

  • 從客戶端收到的請求報文、從伺服器收到響應報文,代理伺服器都會在應用層進行檢查,如果有異常就放棄通訊或傳送出錯資訊。

  • 由於代理伺服器是會話的起點,對網際網路的伺服器來說,是看不到客戶端的 IP 地址。

報文過濾防火牆是以 IP 或 TCP/UDP 為物件,判斷是否允許通訊。而應用閘道器防火牆是以應用程式為物件,也就是將 FTP 、HTTP 、Telnet 、DNS 等為物件進行判斷。

5、防火牆有哪些介面模式?

防火牆有四種介面模式,分別是 L3 模式L2 模式L1 模式TAP 模式

L1 ~ L3 模式是將防火牆進行串連,TAP 模式是防火牆進行旁掛。

6、防火牆能防範哪些威脅?

防火牆能夠防範的威脅如下:

  • 竊聽:通過竊聽網路資料獲取銀行卡號、密碼等重要資訊

  • 篡改:將網站主頁、郵件等通訊內容惡意修改

  • 破壞:通過電腦病毒或DoS攻擊等破壞系統的正常工作

  • 冒充:冒充他人傳送郵件,對接收方進行釣魚、詐騙等行為

  • 資訊洩露:電腦或伺服器上的重要資訊或文件洩露

  • 攻擊跳板:作為病毒部署或DoS攻擊的跳板

  • 垃圾郵件:以營利為目的傳送大量郵件

7、有哪些人會威脅安全?

  • 黑客( hacker ):是指精通計算機技術的人,並非特指網路攻擊者。

  • 破解者( cracker ):對網路進行非法訪問、竊聽資訊、篡改等行為的人。

  • 攻擊者( attacker ):使用 DoS 等攻擊系統,以造成系統宕機為目的的人。

  • 妨礙者:傳送大量垃圾郵件、在論壇貼上大量廣告、釋出大量無意義資訊的人。

  • 普通使用者:儘管不會主動攻擊,但在病毒、蠕蟲等感染電腦後,成為威脅網路安全的物件。

  • 殭屍( bot ):作為攻擊跳板的終端,被植入具有攻擊程式的病毒,遭受感染的終端叫做殭屍,由大量殭屍程式組成的網路叫做殭屍網路。

8、防火牆有哪些功能?

防火牆常見的功能有: 會話管理報文結構解析安全區域安全策略NATVPNDoS 防禦報文攻擊防禦內容掃描監控和報告報文抓包

9、什麼是會話?

會話是兩個終端系統之間的邏輯連線,從開始到結束的通訊過程。

TCP 中,客戶端和伺服器通訊,使用 3 次握手建立 1 個 TCP 連線,客戶端傳送請求( request ),伺服器進行迴應( response ),直至結束的過程就是進行了 1 個會話通訊。

UDP 中,客戶端和伺服器的源埠和目的埠一致,之後的一系列通訊都叫做會話。

ICMP 中,Echo request 和對應的 Echo reply 組成 1 個會話。

資料流是一組有序,有起點和終點的資料序列。一個會話有兩個資料流( flow ):一個是 “ 客戶端到伺服器 ”( client to server ),另一個是 “ 伺服器到客戶端 ”( server to client )。

10、什麼是 TCP 連線管理?

在資料通訊前,客戶端傳送一個 SYN 包 作為建立連線的請求。如果伺服器發來迴應,則認為可以開始資料通訊。如果未收到伺服器的迴應,就不會進行資料通訊。在通訊結束時,會使用 FIN 包 進行斷開連線的處理。

SYN 包和 FIN 包是通過 TCP 頭部的控制欄位來管理 TCP 連線。一個連線的建立與斷開,正常過程至少需要來回傳送 7 個包才能完成。建立一個 TCP 連線需要傳送 3 個包,這個過程叫作 三次握手 。斷開一個 TCP 連線需要傳送 4 個包,這個過程也稱作 四次揮手 。建立一個 TCP 連線,會產生一個 32 位隨機序列號,因為每一個新的連線使用一個新的隨機序列號。

  • SYN 檢查

TCP 會話開始時,客戶端會發送一個 SYN 訊息。如果沒有會話資訊,或尚未建立會話,即非 SYN 訊息的 TCP 資料段到達防火牆,防火牆會當做非法訊息而丟棄。

  • ACK 檢查

通過對 SYN-ACK 的 ACK 訊息檢查,確認進行中的 3 次握手是否是非法嘗試,防範 SYN Flood 攻擊。

  • 重複資料段檢查

防火牆收到重複資料段,也就是序列號相同的 TCP 資料段,可以選擇接收或者丟棄。

  • 視窗檢查

防火牆可以檢測 TCP 頭部的序列號和滑動視窗大小,攔截超過滑動視窗容量資料的序列號。

  • 資料段重組

防火牆可以驗證 TCP 資料段序列號是否完整。

11、防火牆如何建立會話?

a.防火牆收到報文後,首先檢查會話表,確認是否有相同的會話。如果有相同會話,那麼會禁止會話建立,確保會話都是唯一的。

b.如果是不同會話,那麼檢查報文,通常是檢視路由表或 MAC 地址表來確定轉發路徑。如果可以轉發,就確定對應的轉發出介面和目的網段。如果不能轉發,就丟棄這個資料。

c.報文檢查目的地址是否需要進行 NAT 。如果需要,就先完成 NAT ,然後轉發到相應出介面和目的網段。

d.對報文和目的資訊進行安全策略檢查,源資訊是源介面、源區域和源地址,目的資訊是目的介面、目的區域和目的地址。如果有匹配的安全策略,就根據策略進行處理,允許通訊就進行轉發,拒絕通訊就進行丟棄。如果沒有匹配的安全策略,就根據預設拒絕的策略丟棄資料。

e.當報文被允許通訊時,防火牆的會話表中就會生成相應的會話資訊。

12、什麼是會話生存時間?

自動生成的會話表資訊,是有一定的 生存時間 。會話建立後,一段時間內一直沒有進行通訊,防火牆會刪除生存時間到期的會話表項。如果長期保留會話表項,這些會話資訊可能會被惡意攻擊。同時,會話表是會佔用防火牆資源,防火牆的會話表項的數量也是有限的,長期保留閒置的會話,會影響新會話的生成。

會話時間可以根據協議的不同,分別進行設定。

TCP 的話,會話的超時時間通常是 30 分鐘到 1 小時,UDP 是 30 秒。比如,Telnet 連線在防火牆上建立會話後,如果在 1 個小時內沒有任何資料通訊,防火牆會自動刪除這個會話表項。客戶端無法再次使用這個 Telnet 會話了。

13、會話如何正常終止?

客戶端完成資料傳輸後,傳送 FIN 訊息,即使用 FIN 標誌位的 TCP 資料段。

伺服器收到 FIN 訊息後,在回覆訊息中,使用 FIN 和 ACK 標誌位,並將 ACK 編號設定為“接收的 Seq 編號 + 1 ” 。

客戶端相同處理方式,在回覆訊息中,使用 ACK 標誌位,並將 ACK 編號設定為“接收的 Seq 編號 + 1 ” 。

如果客戶端或伺服器在連線過程發生故障,只有一方是偵聽狀態,這叫做半偵聽或 半關閉 。如果通訊恢復,接收到故障前的資料段,那麼會回覆 RST 訊息,強制終止 TCP 連線。

當防火牆收到 FIN 或 RST 訊息時,會啟動一個 30 秒的定時器。即使 FIN → FIN-ACK → ACK 的終止過程沒完成,防火牆也會強制刪除會話表項。

14、什麼是 UDP 資料流?

UDP 不需要像 TCP 一樣 3 次握手,客戶端和伺服器直接使用應用程式的 UDP 資料進行互動。

UDP 資料流是指源 IP 地址、源埠號、目的 IP 地址和目的埠號這 4 個引數都相同的一系列 UDP 資料。

DNS 和 SNMP 這類應用程式,只需要 1 個 UDP 資料,就能構成 1 個數據流。

音訊和影片使用的 RTP ,就需要多個 UDP 資料,來構成 1 個數據流。

15、沒有埠號的協議如何生成會話?

像 ICMP 這類沒有埠號的協議,是直接根據 IP 頭部的 協議號 來生成會話。

防火牆通過識別 ICMP 不同的請求訊息和對應的響應訊息,來判斷這些訊息序列是否屬於同一個會話。

16、兩臺防火牆,如何管理會話?

通常兩臺防火牆會使用主備方式的冗餘結構,對主防火牆和備防火牆的會話資訊進行 同步 。主防火牆負責建立使用者通訊的會話,並把會話資訊記錄到會話表中,同時將資訊轉發到備防火牆。

17、會話管理有什麼防禦功能?

防火牆可以通過 限制會話數量 ,能夠防範 DoS 攻擊,還能控制防火牆的負載,提高防火牆的效能。

防火牆可以以 TCP SYN 、UDP 、ICMP 等協議為單位,通過指定源與目的的組合方式,來限制這類會話的數目。

18、如何防範非法報文?

為了防止非法報文的流入和流出,防火牆會對報文的頭部和資料進行解析。常見的有: IP 頭部解析TCP 頭部解析UDP 頭部解析

IP 頭部解析

資料幀和 IPv4 頭部的解析內容如下:

乙太網型別與 IP 版本:乙太網資料幀頭部的型別欄位為 0x0800 時表示 IPv4 ,同時 IPv4 頭部的版本也是 4 。型別欄位為 0x86DD 時表示 IPv6 ,IP 頭部的版本也是 6 。

IP 頭部:確認資料是否完整,並檢查報文長度與實際長度是否一致。

IP 協議號、 TTL :檢查欄位值,如果值為 0 就丟棄報文。

源地址、 目的地址 :確認是否存在 LAND attack 。

資料總長度:確認是否存在 ping of death 攻擊。

標誌位、 分片偏移 :丟棄無法進行分片的報文。

可選項:丟棄無用可選項的報文。

TCP 頭部解析

TCP 頭部的解析內容如下:

TCP 頭部:確認各個欄位是否完整、是否有被中途截斷。

資料偏移:確認資料偏移欄位的值是否是 5 以下,TCP 頭部長度最小是 5 字元 = 20 位元組。

校驗和:確認校驗和是否錯誤。

埠號:確認源埠號和目的埠號是否為 0 。

控制位:檢查 SYN 、ACK 等欄位是否存在組合不正確的情況。

UDP 頭部解析

UDP 頭部的解析內容如下:

UDP 頭部:確認各個欄位是否完整、是否有被中途截斷。

校驗和:確認校驗和是否錯誤。

19、什麼是安全區域?

防火牆有 安全區域 ( Security Zone ,簡稱區域)的概念。防火牆的物理介面和邏輯介面會分配到不同的區域中,也就是將防火牆的網段分別劃分到不同的區域中。一個網路介面只能屬於一個區域。

在同一個區域內,可以自由進行通訊,但是跨區域通訊,必須符合安全策略才行。當然,防火牆也可以設定安全策略,根據源或目的地址等條件,判斷在同一區域內能否允許通訊。

信任區域( Trust Zone ),也叫做內部區域,所屬介面是 G1/1 、tunnel1 、Loopback1 ,是指公司內部網路區域,表示可以信賴的區域。通常區域內是可以自由通訊。

不信任區域( Untrust Zone ),也叫做外部區域,所屬介面是 G1/2 ,是指公司外部網路區域,比如網際網路。與信任區域相對,是不可信任的區域,通常只會攔截通訊,不允許所有通訊。也可以設定安全策略,允許從信任區域到不信任區域的通訊。

DMZ 區域( DeMilitarized Zone ),所屬介面是 G1/4 ,是對外公開的伺服器使用的區域,與信任區域是分開的。

為了防止攻擊,從外部網路訪問內部網路的通訊會被防火牆攔截,但是內部網路中有對外公開的伺服器,比如 Web 伺服器,對於 Web 請求就不能一刀切的攔截。但如果把伺服器放在內部網路中,一旦從外部網路惡意入侵,就會導致內網的重要資料洩露。因此,我們把需要對外公開的伺服器放在 DMZ 中,這樣即使伺服器遭到入侵,DMZ 區域也無法直接訪問內部網路。

自定義區域( Custom Zone),這裡說的是上圖 Sales Zone ,所屬介面是 G1/3 ,只有銷售部門員工才能訪問的區域,是人為劃分和定義的自定義區域。當然,也能根據具體內容、安全策略描述和管理目的自定義其它區域。

20、什麼是安全策略?

防火牆的主要功能是訪問控制,也就是判斷特定源和特定目的之間是否允許進行特定的通訊。訪問控制是通過規則來實現,每一條規則都指定了源、目的和通訊內容等資訊。這些訪問控制規則的集合,在路由器中,叫做 訪問控制列表 ,而在防火牆中,叫做 安全策略 或安全規則。

21、路由器的訪問控制列表是什麼樣的?

通常一個規則是由多條 訪問控制列表 組成,一條訪問控制列表也叫做一個 表項 。一個表項由物件( object )、行為( action )、選型( option )這 3 個元素組成。

舉個栗子:思科 標準訪問控制列表 ,表項只允許源 IP 地址作為物件,而行為是在允許( permit )和拒絕( deny )之間二選一。當滿足條件時,也就是觸發物件時,選項可以指定 “ 記錄日誌 ” 或 “ 表項有效時間 ” 等操作。如果使用了有效時間選項,就可以設定一個只有公司上班時間為物件的表項。

擴充套件訪問控制列表,物件就不僅僅是 IP 地址,還可以是 IP 協議號、源 IP 地址、目的 IP 地址、ToS 資料域、ICMP 型別、ICMP 訊息、源 TCP/UDP 埠號、目的 TCP/UDP 埠號、TCP 會話是否已經建立等。

舉個栗子:允許 IP地址是 10.1.1.2 的客戶端向 IP 地址是 172.16.1.1 的伺服器進行 Telnet 連線,Telnet 的 TCP 埠是 23 ,訪問控制列表如下:

access-list 101 permit tcp host 10.1.1.2 host 172.16.1.1 eq telnet

22、防火牆的安全策略是什麼樣的?

對比路由器的訪問控制列表,防火牆的安全策略最大的不同點是物件,防火牆以 區域 作為物件,還可以以應用程式名稱和使用者名稱稱等資訊作為物件。

舉個栗子:在上圖的安全策略中,192.168.2.1 從信任區域向不信任區域的 80 埠通訊時,防火牆首先執行第 1 條安全策略,發現源地址不匹配,不執行 Allow 。接著執行第 2 條安全策略,發現地址和埠匹配,執行 Deny ,也就是拒絕通訊。防火牆的安全策略從上往下依次執行的行為,也叫做 安全策略查詢 ( policy lookup )。

Any表示任何值都與策略匹配。如果是安全策略中,出現未定義的通訊,比如從信任區到 DMZ 區域的通訊,防火牆預設執行拒絕,這個策略叫做 “ 預設拒絕 ”( implicit deny )。

如果需要在防火牆沒有匹配的情況下,執行 Allow ,可以在安全策略的最後一行設定物件為 Any ,行為為 Allow 的策略。

當然,防火牆的安全策略是會有上限,上限由產品規格決定。而且當表項越多時,裝置效能也會隨之下降。

23、什麼是內容安全策略?

防火牆不僅能夠基於區域、IP 地址、埠號、應用程式等設定安全策略,還可以使用 內容安全策略 進行通訊控制。內容安全策略包括 反病毒IPS (入侵防禦系統)、 URL 過濾DLP (資料洩露防護)等基於內容的安全機制,能夠攔截非法通訊和避免不必要的通訊流量。還可以對這些通訊不進行攔截,而是記錄到告警日誌中後放行。

安全裝置的預設設定是攔截嚴重程度高的攻擊,嚴重程度低的攻擊只記錄到告警日誌中。當然,嚴重程度的高低可以自定義,也可以修改設定為攔截嚴重程度低的攻擊。

反病毒和 IPS 可能會出現誤判,誤判分為 假陽性錯誤假陰性錯誤 兩種。

假陽性錯誤是沒有攻擊行為或病毒入侵,但是被判定為攻擊行為或病毒入侵,並記錄到日誌中,或把通訊攔截。這類錯誤,使用者容易察覺。

假陰性錯誤是存在攻擊行為,卻判定沒有攻擊行為,而允許通訊,也沒有記錄到日誌中,無法察覺到嚴重後果。只有 PC 上安裝反病毒軟體或防火牆軟體,才能找到沒有被識別的攻擊行為。這種錯誤一般是由於數字簽名本身不存在,或誤認為數字簽名存在而導致的檢測失敗。

24、什麼是 NAT ?

私有 IP 地址只能在內部網路通訊,如果要訪問外部網路(網際網路),可以通過路由器或防火牆把私有 IP 地址轉換為公網 IP 地址,這個過程叫做 NAT ( Network Address Translator )。

NAT 以前是路由器的功能,後來位於網路邊界的防火牆也常常使用這個功能。路由器和防火牆等執行 NAT 功能後,也叫做 閘道器 ( gateway )。

靜態 NAT

靜態 NAT( Static NAT )是指 NAT 轉換前的地址和 NAT 轉換後的地址是一對一的對應關係,通常是一個私網地址對應一個公網地址,手動將對應資訊配置到閘道器中。

動態 NAT

動態 NAT( Dynamic NAT )是在閘道器配置一個 IP 地址池( IP address pool ),地址池裡麵包含多個 IP 地址。在 NAT 建立會話時,在地址池內的 IP 地址按順序分配一個轉換後的 IP 地址。由於地址範圍能夠手動進行設定和更改,因此這種方式應用的比較多。

雖然和靜態 NAT 有點類似,私有地址和公網地址是一對一的對映關係,但不是指定的 NAT 轉換後地址,而是動態分配的、在 IP 地址池中排序靠前的有效地址。

源 NAT

源 NAT( Source NAT )是對傳送方的源 IP 地址進行 NAT 轉換。在公司內部網路的客戶端,要訪問網際網路的伺服器,客戶端的私有地址作為傳送源,把資料傳送到閘道器時,必須將私有 IP 地址轉換成公網 IP 地址才行。

要和網際網路上的伺服器進行通訊,必須使用公網 IP 地址,但是 IPv4 地址有限,無法為每臺客戶端都分配一個公網地址。大部分情況下,源 NAT 能夠通過動態 NAT 方式節約公網地址資源。在閘道器上設定地址池,或在閘道器的介面使用 NAPT ,可以實現私有網路訪問網際網路的功能。

外部網路只能看到公網地址資訊,源 NAT 能夠隱藏客戶端實際使用的 IP 地址,從而降低受到外部網路攻擊的風險。

目的 NAT

目的 NAT( Destination NAT )是接收到的目的 IP 地址進行 NAT 轉換。

網際網路的客戶端,想要通過閘道器訪問內部網路的伺服器時,由於公司內部伺服器使用內網地址,無法直接從網際網路訪問到,需要進行目的 NAT 。閘道器作為內部伺服器的代理,把伺服器的內網地址對映到公網地址,收到外網客戶端訪問公網地址時,閘道器將報文的目的地址轉換為內部伺服器的私有地址,完成路由和訪問。公司內的伺服器通常放置在 DMZ 區域中,能夠對外部網路遮蔽內部伺服器的地址,從而避免內部網路受到攻擊。

NAPT

當有大量的內網客戶端要跟外網通訊,而公網地址只有一個或者少量時,閘道器無法完成私有地址和公網地址的一對一的分配。

這時,閘道器需要結合 TCP 或 UDP 埠號,完成多個私有地址對映成一個公網地址的轉換,這種轉換方式叫做 NAPT ( Network Address Port Translation ,網路地址埠轉換)。

25、什麼是 VPN ?

VPN,全稱是 Virtual Private Network ,也就是虛擬私有網路。VPN 是使用電信運營商提供的公共網路,搭建內部網路的技術。

內部網路的財務、人事等資料,對外而言是屬於機密資訊,必須在內部封閉的傳輸資料。如果只有一個辦公場所,可以通過 LAN 搭建內網。但如果北京和上海都有分支機構時,就需要在不同的辦公場所之間搭建內網。電信運營商有專線服務,可以完成不同地域的內網搭建。專線是單獨使用的線路,不用擔心資料被竊聽,通訊質量也能得到保證,但是專線費用昂貴。

還有 ADSL 這種網際網路接入服務,雖然屬於共享型別網路,但是價格低廉,搭建內網有成本優勢。路由器、防火牆、VPN 裝置都支援 IPsec-VPN 功能,在各個分支機構內,使用這些裝置建立 IPsec 隧道,完成 VPN 的搭建。

26、VPN 有哪幾種網路拓撲?

常見的 VPN 網路拓撲有點對點 VPN 、中心型 VPN 、遠端接入 VPN 。

  • 點對點 VPN

點對點 VPN( site-to-site VPN )是通過 IPsec 隧道連線兩個網路的拓撲結構。網路的閘道器,通常是路由器或防火牆等網路裝置,在兩個網路間,使用點對點的拓撲結構,建立 IPsec 隧道。

這裡的網路,是指不在同一個區域網的網路,比如:成都機構或廣州總部的任意一個站點。因為是站點( site )之間的連線,所以叫做點對點 VPN 。

  • 中心型 VPN

中心型 VPN( hub and spoke VPN )是星型拓撲結構,也就是一箇中心站點的裝置,連線多個遠端站點的裝置,形成的網路結構。中心站點( center site )位於總部的網路,也就是資料中心,成為整個結構的核心站點。一般是電信供應商提供的 VPN 業務,以電信供應商的基礎設施為中心站點,通過 VPN 連線其它站點。

  • 遠端接入 VPN

在家裡,或出差在外時,通過網際網路使用 PC 上的軟體,與公司的 VPN 裝置建立 IPsec 隧道,能夠訪問公司內部網路的拓撲結構,叫做遠端接入 VPN 。

遠端接入的 IPsec-VPN 需要在 PC 上安裝 VPN 客戶端軟體,而 SSL-VPN 是通過 Web 瀏覽器,使用 SSL 連線到公司的 VPN ,通過 SSL( HTTPS )和公司的內部網路進行連線。

27、IPsec VPN 有哪些專用名詞?

SA( Security Association ):IPsec 通訊時建立的邏輯連線。

ESP( Encapsulating Security ):原始報文使用 DES/3DES/AES 中的任意一種演算法進行加密,通過 HMAC 確定資料是否被篡改,使用的 IP 協議號是 50 。

AH( Authentication Header ):根據 HMAC 資訊確定報文是否被篡改的認證協議。不對報文加班,使用的 IP 協議號是 51 。

IKE( Internet Key Exchange ):IPsec 協議用來交換 key 資訊的協議,也叫做 ISAKMP/Oakley 。在 ISAKMP 協議上實現 Oakley 的 key 交換過程。使用的是 UDP 埠號 500 。分為階段一和階段二進行處理。

HMAC( Keyed-Hashing for Message Authentication code ):用來驗證資訊是否被篡改的一種 MAC ,也就是訊息認證碼,通過雜湊函式與金鑰資訊的組合計算得出,其中雜湊函式使用的演算法一般是 MD5 或 SHA-1 。

SPI( Security Pointer Index ):表示 SA 的編號,32 位元。在對報文加密時,用這個值表示使用了什麼加密演算法和金鑰資訊。

NAT traversal:通過 ESP 加密的報文,由於沒有 TCP/UDP 頭部,因此無法使用 NAPT 。可以使用 NAT traversal 技術,給 ESP 加密後的報文新增 UDP 頭部,從而在 NAPT 環境下進行 IPsec 通訊。一般使用 500 或 4500 的埠號。

IPsec-VPN 連線:在建立 IPsec 隧道時,發起協商的叫做發起方( initiator ),另一方叫做應答方( responder )。傳送方是最先發出通過 IPsec 隧道報文的裝置。

更新 key( rekey ) :IPsec 隧道建立後,每過一段時間,或經過一定量的資料,就會進行 rekey 操作。VPN 裝置有修改 rekey 時間的功能。

28、點對點 VPN 的處理過程是什麼樣的?

舉個栗子:網路 A 與網路 B 通過 IPsec 隧道連線時,網路 A 的 PC1 想和網路 B 的 PC2 進行通訊。

PC1 傳送請求,到達網路 A 的閘道器,也就是 VPN 裝置 A ,這時的報文還未加密,是明文狀態。VPN 裝置 A 對報文進行加密,並新增 ESP 頭部和在隧道中使用的 IP 頭部(叫做外層 IP 地址),再通過 IPsec 隧道傳送出去。

網路 B 的 VPN 裝置 B 通過 IPsec 隧道收到加密的報文,會檢查 ESP 頭部和 AH 頭部。如果 ESP 序列號不正確,VPN 裝置 B 就會認為是重放攻擊,並輸出錯誤資訊,SPI 值不正確,會輸出 “ Bad SPI ” 的錯誤通知資訊。

如果加密報文正常,就進行解密操作,去除外部 IP 、ESP 、AH 等頭部,並對原來 IP 頭部的目的地址進行路由,從而到達 PC2 。

PC2 向 PC1 回覆訊息時,由 VPN 裝置 B 進行加密處理,由 VPN 裝置 A 進行解密處理。

中心型 VPN 的遠端站點客戶端和中央站點伺服器的 VPN 通訊也是這種處理流程。

29、遠端站點之間的通訊過程是什麼樣的?

舉個栗子:遠端站點 A 、遠端站點 B 和中央站點 VPN 裝置 C 。A 的 PC1 和 B 的 PC2 進行通訊。

報文通過 VPN 裝置 A 和 VPN 裝置 C 的 IPsec 隧道,再經過 VPN 裝置 C 和 VPN 裝置 B 的 IPsec 隧道,最終到達 PC2 。

如果中央站點是路由器或 VPN 裝置,一般只會解密、加密和路由選擇處理。如果中央站點是防火牆,就會在報文解密後進行檢查,只對安全的報文進行加密,然後再向遠端站點發送。

30、什麼是基於策略的 VPN ?

路由器和 VPN 裝置通常使用基於策略的 VPN 。 基於策略的 VPN 是指根據策略(訪問控制列表)控制經過 IPsec 隧道的流量,這樣即使路徑發生變化,也不會對 IPsec 通訊造成影響。

基於策略的 VPN 需要設定 IPsec 策略和 proxyID 資訊。proxyID 指定 IPsec 隧道傳輸報文的本地網路和遠端網路。

舉個栗子:站點 A 和站點 B 使用點對點 VPN 組成網路,其中站點 A 網路是 192.168.1.0/24 和 192.168.2.0/24 ,站點 B 網路是 192.168.3.0/24 和 192.168.4.0/24 。如果只有 192.168.1.0/24 和 192.168.3.0/24 進行加密通訊,那麼在站點 A 的 VPN 裝置設定本地 proxyID 為 192.168.1.0/24 ,遠端 proxyID 為 192.168.3.0/24 。在站點 B 的 VPN 裝置設定本地 proxyID 為 192.168.3.0/24 ,遠端 proxyID 為 192.168.1.0/24 。

31、什麼是基於路由的 VPN ?

基於路由的 VPN通常是防火牆產品使用的 VPN 型別。防火牆會對 IPsec 報文進行精確的控制。

在基於路由的 VPN 中,IPsec 隧道是使用的虛擬介面,又叫做隧道介面( tunnel interface ),流量通過這個介面進入 IPsec 隧道。如果有流量需要在 IPsec 隧道內傳輸,可以設定路由選擇,轉發到隧道介面就行。

基於策略的 VPN 使用策略來控制 IPsec 通訊的流量,而基於路由的 VPN 通過隧道介面的路由資訊來控制 IPsec 通訊的流量。所以在進行 IPsec 通訊時,可以和處理普通報文一樣,通過策略定義報文過濾和防火牆處理等。

32、什麼是階段 1 ?

在 IPsec 通訊中,為了建立加密隧道的 SA ,需要在裝置之間使用 IKE 協議完成金鑰的交換。

為了提高安全性,IKE 協議分為 階段 1階段 2 兩個部分。 IKE 階段 1 是完成鑑別和保護 SA 通訊的雙方,同時生成階段 2 需要的公有金鑰,建立 IKE SA 等工作。

33、什麼是階段 2 ?

IKE 階段 2負責生成 IPsec 通訊使用的金鑰,並建立 IPsec SA 。

34、什麼是 SSL-VPN ?

SSL-VPN是通過瀏覽器使用 HTTPS( HTTP over SSL )進行 Web 訪問的遠端接入 VPN 。

如果要使用 IPsec-VPN ,需要在 PC 上安裝專用的客戶端軟體。這個客戶端軟體不一定支援 Mac OS 、手機等作業系統。同時 IPsec-VPN 連線過程,可能會因為防火牆過濾了 IPsec-VPN 的協議號或 NAT traversal 的埠號,而導致連線失敗。

SSL-VPN 就方便很多,只要裝置帶有瀏覽器,就能夠通過反向代理的方式完成 VPN 的連線。而且防火牆幾乎不會攔截,因為使用的是 HTTPS 的 443 埠,讓 VPN 遠端連線擺脫了作業系統和連線方式的限制。

IPsec-VPN 是在網路層實現的,能夠完成傳輸層 TCP 和 UDP 的加密和隧道傳輸處理。而 SSL-VPN 是在會話層實現的,基於 TCP 的 443 埠執行。只有特定的幾種 TCP 能夠使用反向代理和埠轉發方式,而 ICMP 和 UDP 等傳輸層通訊,只能選擇隧道方式。

35、什麼是反向代理?

反向代理,又叫做無客戶端 SSL-VPN 。SSL-VPN 的終端在 443 埠號上,通過 HTTPS 完成解密工作後,轉換為 80 埠號的 HTTP 通訊,與內部網路上的 Web 伺服器進行互動。這種方式只有使用 80 埠號、通過瀏覽器訪問 Web 的應用程式才能使用。

在內部客戶端訪問網際網路時,進行中繼的代理伺服器,叫做 轉發代理伺服器 。如果訪問方向相反,也就是在網際網路上的客戶端訪問內部網路伺服器時,進行中繼的代理伺服器叫做 反向代理伺服器 ( reverse proxy )。

36、什麼是埠轉發?

埠轉發,又叫做瘦客戶端 SSL-VPN 。使用 ActiveX 或 Java applet 等瀏覽器外掛來建立 PC 和伺服器的 SSL 隧道。使用者只要登入 Web 門戶( SSL-VPN 閘道器),並完成認證,就能夠下載相關外掛。使用者能夠使用公司內網伺服器上的特定應用程式,也能夠使用埠固定且無需瀏覽器支援的 TCP 應用程式,比如 E-mail 。有些產品還能夠支援埠號變動的應用和 UDP 應用程式等。

37、什麼是隧道?

隧道方式是使用 SSL-VPN 客戶端軟體的方式。和 IPsec-VPN 一樣,支援網路層以上協議的隧道傳輸。

使用者通過瀏覽器訪問 SSL-VPN 裝置,並完成認證,就可以下載應用程式,並安裝在使用者的 PC 上。接下來就是通過客戶端軟體建立 PC 和 SSL-VPN 裝置的隧道。由於使用了客戶端軟體,還是會不可避免的受到作業系統的限制。

38、什麼是主機檢查?

支援 主機檢查 ( Host Checker )功能的 SSL-VPN ,在客戶端與 SSL-VPN 裝置連線時,能夠對連線的客戶端主機進行檢查,檢查資訊如下圖。

如果主機檢查結果 OK ,就允許客戶端的 SSL-VPN 連線,就能夠從外部網路訪問公司內網。如果結果是 NO ,就拒絕客戶端的 SSL-VPN 連線,或只能進行軟體升級等特定範圍的訪問操作。

39、什麼是 DoS 攻擊?

DoS全稱是 Denial of Service ,也就是無法繼續提供服務的意思。這裡的服務是指伺服器的應用程式服務,比如客戶端發起 HTTP 請求時,伺服器能夠發出 HTTP 響應就說明完成了 HTTP 服務。DoS 攻擊是針對伺服器和網路裝置發起的攻擊,製造遠超預先設計的訪問量,讓伺服器和網路裝置無法正常的回覆響應報文,導致被攻擊的系統無法提供服務。DoS 攻擊也可以利用作業系統或程式的安全漏洞等,以少量流量使系統發生異常。在 DoS 中,通過殭屍網路的多個跳板,對伺服器發起攻擊的方式叫做 DDoS ( Distributed Denial of Service )攻擊。

40、DoS 攻擊有哪些型別?防火牆有什麼防範措施?

Syn Flood:傳送大量 TCP SYN 報文,導致伺服器資源消耗過度,一段時間內無法提供服務的狀態。在防火牆內,定義每秒允許通過的 SYN 報文數量,當網路中的 SYN 報文超過這個值時,就會執行 SYN Cookie 的策略。SYN Cookie 策略是當伺服器收到客戶端的 SYN 報文時,不建立 TCP 連線,而是將 TCP 頭部內容的雜湊值當做序列號放入 SYN-ACK 報文中返回。之後收到包含正確響應編號的 ACK 報文時,才將會話資訊儲存在記憶體中,有效防止攻擊對伺服器記憶體的消耗。

ICMP Flood:也叫做 ping flood ,傳送大量的 ICMP echo request 報文來消耗伺服器記憶體,讓伺服器暫時無法提供服務。防火牆通過定義一秒內允許的最大 ICMP 報文數量,對超過這個值的 ICMP 報文暫時不處理。

UDP Flood:傳送大量的 UDP 報文來消耗伺服器的記憶體,使得伺服器暫時無法提供服務。防火牆通過定義一秒內允許的最大 UDP 報文數量,對超過這個值的 UDP 報文暫時不處理。

IP Flood:傳送大量的 IP 報文來消耗伺服器的記憶體,使得伺服器暫時無法提供服務。防火牆通過定義一秒內允許的最大 IP 報文數量,對超過這個值的 IP 報文暫時不處理。

Land:傳送源地址和目的地址相同的報文。受到這種攻擊、又有安全漏洞的裝置,會不斷向自己轉發資料而導致宕機。防火牆對於這類報文,一律丟棄。

Tear Drop:傳送偽造的、含有 offset 的非法 IP 分片報文。這類攻擊對於有安全漏洞的裝置而言,會發生無法重新生成報文的現象發生,導致宕機。防火牆對於這類報文,一律丟棄。

Ping of Death:傳送超過 IP 報文最大長度 65535 的 ping 。這類攻擊對於有安全漏洞的裝置而言,會導致無法執行的情況發生。防火牆對於這類報文,一律丟棄。

Smurf:把攻擊物件的地址設定成源地址,並廣播發送 ICMP echo request 報文,使得攻擊物件收到大量 ICMP echo reply 報文而消耗頻寬資源。

Fraggle:同 Smurf 類似,UDP 替代 ICMP 發起攻擊,同時利用 echo 、Chargen 、daytime 、qotd 等多種埠。防火牆一般關閉這類埠,或使用安全策略進行攔截。

Connection Flood:反覆生成大量長時間為 open 狀態的連線,佔據攻擊物件的 socket 資源。如果伺服器端沒有最大連線數目的限制,就會發生系統崩潰。

Reload:在 Web 瀏覽器中連續按下 F5 鍵,讓 Web 頁面反覆執行重新整理操作,也叫做 F5 攻擊。在 Web 通訊量大時,會讓伺服器負載加重。

41、如何防禦 DoS ?

防禦 DoS就是限制異常高速通訊流量,一般通過設定區域、網路介面、網路等單位來實現。

DoS 防禦也可以攔截含有非法內容或安全性低的報文,這類報文讓防火牆或路由器處理的話,會導致資源的浪費,因此需要使用專門的 DoS 防禦功能來阻擋這類攻擊。

42、什麼是埠掃描?

攻擊者在發起攻擊前,會對攻擊物件的裝置情況進行調查,最基礎也是最常用的手段就是 埠掃描 ( port scan )。埠掃描可分為 TCP 埠掃描和 UDP 埠掃描兩大類,對 TCP 埠和 UDP 埠按照順序傳送報文,探測目的裝置是否開啟了對應的服務。比如,某臺裝置的掃描結果是開啟了 22 號埠,攻擊者就會知道裝置開啟了 SSH 服務,從而利用 SSH 服務訪問這個裝置,併發起後續攻擊。

防火牆能夠探測出埠掃描行為,可以阻斷這個行為。

43、埠掃描有哪些型別?

TCP 埠掃描:對 TCP 的 0 ~ 65535 號埠全部進行掃描,或在一定範圍內掃描埠,從而探測伺服器有哪些埠可以使用。掃描過程是向伺服器傳送 TCP( SYN )分組,如果收到了響應 TCP( SYN + ACK )報文,那麼說明埠是開啟狀態。如果埠關閉,就會從伺服器收到 TCP( RST + ACK )報文。

SYN 埠掃描:屬於 TCP 埠掃描的一種,無需完成 3 次握手,直接針對 SYN 報文進行埠掃描,也叫做半掃描。在 3 次握手過程中,根據伺服器回覆的是 ACK 報文還是 RST 報文來判斷埠是否開啟。

ACK 埠掃描:為規避防火牆對 SYN 埠掃描的檢測,向伺服器傳送 ACK 報文,根據回覆的 RST 報文視窗大小來判斷埠是否開啟。只對埠開啟或關閉時傳送不同視窗大小報文的伺服器有效。

Null 埠掃描:向伺服器傳送 TCP 頭部所有欄位為 0 的報文,通過伺服器是否返回 RST + ACK 報文來判斷伺服器埠是否開啟。

FIN 埠掃描:向伺服器傳送 FIN 報文,根據是否收到 RST + ACK 報文來判斷埠是否開啟。

Xmas 埠掃描:向伺服器傳送 TCP 頭部所有欄位為 1 的報文,根據是否收到 RST + ACK 報文來判斷埠是否開啟。

UDP 埠掃描:對 UDP 的 0 ~65535 號埠全部進行掃描,或是在一定範圍內掃描埠,從而探測伺服器有哪些埠可以使用。

Host Sweep:向大量主機發送 ICMP 報文或 TCP 報文,如果返回應答,就根據返回的應答報文判斷主機是否存在,並得知主機上運行了哪些應用程式等資訊。TCP SYN Host Sweep 會同時向多臺主機的相同埠傳送 TCP SYN 報文。

44、有哪些非法報文攻擊?

IP 地址欺騙( IP Spoofing ):為了通過防火牆,避免被監控日誌記錄,偽造 IP 頭部中源 IP 地址的攻擊方式。

分片報文:分片的 IP 報文,由於安全性弱,常用於攻擊,因此防火牆會有攔截分片報文的功能。如果報文和通訊鏈路的 MTU 大小一致,就不會發送分片,這個功能也不會影響正常的通訊。

ICMP 分片:跟 IP 分片報文類似,防火牆也有攔截 ICMP 分片報文的功能。

巨型 ICMP 報文:防火牆通過攔截一定大小以上的 ICMP 報文,就能避免 Ping of Death 攻擊。

非法 ICMP 報文:如果接收的 ICMP 報文中,頭部出現未定義的值時,需要進行額外的異常處理。防火牆會對這類非法的 ICMP 報文進行攔截。

SYN 以外的 TCP 報文控制:TCP 會話開始前,會發送 SYN 報文。如果在未確認的 TCP 會話中,收到了除 SYN 以外的欄位位是 1 的 TCP 報文,很有可能就是埠掃描等攻擊,就需要通過防火牆攔截這類報文。

45、什麼是 IDS/IPS ?

IDS,全稱 Intrusion Detection System ,即入侵檢測系統。IPS ,全稱 Intrusion Prevention System ,即入侵防禦系統,合稱為 IDS/IPS 。

IDS 負責檢測非法入侵,並告知系統管理員,而 IPS 是通過設定對非法入侵使用的協議和應用程式進行攔截。

IDS/IPS 能夠檢測的威脅有:

  • DoS 攻擊

  • P2P 造成的資訊洩露

  • 執行蠕蟲、特洛伊木馬、鍵盤記錄器等惡意軟體

  • 入侵區域網和入侵偵查行為

當 IDS/IPS 檢測到入侵行為後,會進行相應處理:

  • 通知管理員,通過電子郵件或 SNMP 等方式

  • 記錄日誌

  • 攔截通訊,向攻擊方傳送 TCP RST 報文

46、什麼是 Deep Inspection ?

防火牆的 Deep Inspection 功能,能夠針對特定的應用層協議,重組應用程式資料流的 TCP 資料段,檢測其中是否包含了非法應用程式引數。

47、IDS/IPS 和 Deep Inspection 能夠檢測和攔截哪些型別的攻擊?

資訊洩露:攻擊者利用帶有惡意指令碼的郵件,或附帶惡意軟體的 URL 地址發起的攻擊。攻擊成功的話,能夠獲取對方的機密資訊。

執行程式碼:向伺服器傳送非法資料,讓伺服器接受並執行遠端的程式碼。

DoS 攻擊:傳送大量報文,讓伺服器的 CPU 、記憶體使用率上升,妨礙伺服器正常提供服務的攻擊。

快取溢位( Buffer Overflow ):通過惡意程式誘導伺服器執行記憶體超過上限,導致快取溢位的攻擊。

SQL 注入:針對 Web 應用程式,使用資料庫 SQL 語言,對資料庫進行非法操作的攻擊。

暴力破解( Brute Force Attack ):也叫迴圈攻擊,使用密碼字典等工具,反覆嘗試管理員密碼的攻擊。為了防止這類攻擊,需要執行輸錯 3 次密碼就切斷會話的類似策略。

跨站指令碼攻擊( Cross-site Scripting ):簡稱 CSS 或 XSS 。利用 Web 應用程式的漏洞,在提交頁面表單時,通過伺服器執行攜帶 HTML 標籤的指令碼,到達劫持會話或釣魚的目的。

exploit 攻擊:利用軟體安全漏洞發起的攻擊中使用的程式或指令碼。

瀏覽器劫持:通過操作攜帶惡意軟體的瀏覽器,在使用者瀏覽 Web 頁面時,篡改顯示的頁面形式和內容。一般會導致持續彈出廣告欄、自動新增 URL 連線、跳轉其它網頁失敗的情況。

釣魚:使用偽造官方網站站點 URL 連線的郵件或網站,騙取使用者的個人信用卡和銀行賬號資訊。

殭屍網路:通過殭屍程式感染多臺 PC ,並根據攻擊方命令,同時傳送垃圾和實施 DoS 等攻擊。主要通過使用 IRC 對殭屍下達攻擊命令。

48、什麼是 CVE ?

CVE( Common Vulnerabilities Exposures ,通用漏洞披露)是美國非盈利機構 MIRTE 公司識別已知漏洞的專案。機構會為發現的安全漏洞問題分配一個 CVE 識別編號( CVE-ID ),當安全廠家提供多個漏洞防範對策時,通過使用這個編號告知使用者是哪個安全漏洞問題。以 “ CVE-(公元紀年)-(4字元編號) ” 的格式記錄,表明使用這個編號的安全漏洞問題已經廣為人知。

49、什麼是反病毒?

反病毒也叫做防病毒策略,通過在個人電腦和伺服器上安裝防病毒軟體,來保護裝置免遭病毒侵襲。

在終端上安裝防病毒軟體的方式叫做 主機型防病毒 。而通過網際網路閘道器的防火牆以及專用裝置,對網路上所有的通訊資料進行掃描的方式叫做 閘道器型防病毒 。使用閘道器型防病毒,能夠防止區域網中病毒的蔓延以及跳板機攻擊網路的發生。

確認是否存在病毒的操作叫做 掃描 。主機型防病毒的掃描是在主機內進行,而閘道器型病毒的掃描在通訊流量中完成。

50、什麼是反垃圾郵件?

垃圾郵件是指騷擾郵件、廣告郵件和詐騙郵件等,很多產品都有過濾這類垃圾郵件的反垃圾郵件功能,但是反垃圾郵件很容易引發誤檢。有可能出現正常郵件歸檔到騷擾軟體中,誤以為沒收到郵件,這個需要注意。

51、什麼是 DLP ?

DLP,全稱 Data Loss Prevention ,也就是防範資訊洩露功能。

這個功能是檢測網路中交換的應用程式資料,當發現特定檔案或資料時,及時執行告警、斷開會話、記錄日誌等操作。主要由檔案過濾和資料過濾兩個部分組成。

52、什麼是 URL 過濾?

URL 過濾功能是在 HTTP 通訊中,當客戶端向伺服器發起請求時,能夠對 URL 資訊進行檢查,判斷 URL 能否訪問,並對有害的 Web 站點進行攔截的功能,通常作為伺服器上的軟體、防火牆和代理伺服器的功能之一,提供給使用者。

53、防火牆有哪些監控功能?

防火牆有監控、告警通知、日誌記錄和報告等監控功能。

監控( monitoring ):對網路和網路裝置的實時狀態進行監控,及時觀察流量狀態和故障資訊,當發生故障、異常情況時,能夠及時告警通知管理員。

告警通知( alerting ):發生故障和出現定義事件時,向管理員發生告警通知。告警方式可以是傳送 SNMP Trap 、向 Syslog 伺服器傳送 syslog 通訊和向伺服器傳送電子郵件等。

日誌記錄( logging ):記錄流量日誌、事件日誌等各類日誌的功能。日誌能夠匯出為純文字格式、CSV 格式、PDF 格式等。

報告( reporting ):通過 Web 對日誌進行加工處理,提供一目瞭然的圖表等資訊。有些防火牆是傳送 Syslog 日誌或專用日誌到管理伺服器,在管理伺服器上展示報告。

54、什麼是報文抓包功能?

有些安全裝置有 報文抓包 功能。抓到的報文可以在裝置上流量,也可以匯出為 WinPcap 格式的檔案,在 Wireshark 這個應用程式中進行瀏覽。當發生通訊故障時,可以根據抓包的資訊進行分析。

55、防火牆效能有哪些要素?

同時線上會話數:防火牆通過管理會話表,以會話為單位來控制通訊流量。會話表能夠記錄的表項數目說明了防火牆能夠處理的同時線上會話數量。小型防火牆裝置一般管理幾萬個會話,而電信服務供應商使用的防火牆能夠同時管理數百萬個會話。

NAT 表數目:有些防火牆或路由器會分別維護會話表和 NAT 表。NAT 表的數量表示同時線上 NAT 的會話數,這個數值表示裝置能夠建立 NAT 會話數的最大值。沒有 NAT 表數上限的防火牆,一般使用會話數的上限。

每秒新建的會話數目:路由器的效能一般使用每秒能夠傳輸的 bit 數 bit/s 和每秒轉發報文數 pps 這兩個引數來描述。而防火牆還增加了一條每秒新建會話數這個引數,表示在 1 秒內能夠完成多少次完整的會話建立過程。1 個完整的會話建立過程包括:監控 TCP 連線的 3 次握手,握手正常則生成會話資訊,將資訊記錄到會話表等操作。也引入另一個指標,表示在 1 秒內能夠完成會話從建立到結束的次數,這個指標叫做每秒連線數。

結束語

公司線上年會結束,小弗提前請假,回家過年,提前祝各位讀者新春快樂!

速加  K 8s學習 交流 群,與大 共卷!

掃碼加我微信 群和 零距離