教程篇(6.0) 12. 撥號IPsec VPN ❀ 飛塔 (Fortinet) 網路安全專家 NSE4
在這節課中,你將瞭解IPsec VPN的架構元件,以及如何設定撥號IPsec VPN。
在本次課程中,你將探討以下主題:
- IPsec的介紹
- IKE階段1和IKE階段2
- 撥號IPsec VPN
- 最佳實踐和VPN日誌
在完成這節課程之後,你應該能夠:
- 描述IPsec VPN的好處
- 熟悉IPsec協議
- 瞭解IPsec是如何工作的
通過展示IPsec基礎知識的能力,你將能夠理解IPsec的概念和好處。
IPsec是什麼?你應該什麼時候使用?
IPsec是一組與供應商無關的標準協議集,用於連線兩個物理上不同的區域網。區域網被連線起來,就好像它 們是一個單一的邏輯網路一樣,儘管被網際網路分隔開了。
理論上,IPsec確實支援零加密——也就是說,您可以建立不加密流量的VPN。IPsec還支援零資料完整性。但 這是否比單純的流量更有優勢呢?不。沒有人能相信可能有攻擊者注入攻擊的流量。人們很少想要一個不知名 的人傳送的資料。大多數人還希望私人網路資料,比如信用卡交易和醫療記錄,保持私有。
所以,在現實中,不管供應商是什麼,IPsec VPN幾乎總是有三個重要的好處:
- 身份驗證——驗證兩端的標識
- 資料完整性,或HMAC——來證明封裝的資料沒有被篡改,因為它跨越了一個潛在的敵對網路。
- 機密性或加密——以確保只有預期的接收者能夠讀取訊息。
如果您正在通過防火牆傳遞您的VPN,那麼它有助於瞭解允許哪些協議。
IPsec是一套單獨的協議。它包括:
- Internet金鑰交換(IKE):IKE用於對對等體進行身份驗證,交換金鑰,並協商將使用的加密和校驗和;本質上,它是控制通道。
- 身份驗證頭(AH):AH包含認證頭——驗證資料完整性的校驗和。
- 封裝安全有效負載(ESP):ESP是封裝的安全有效負載——加密有效負載,本質上是資料通道。
因此,如果你需要通過防火牆傳遞IPsec流量,請記住:只允許一個協議或埠號通常是不夠的。
請注意,IPsec RFC提到了AH;然而,AH不提供加密,這是一個重要的好處。所以,AH沒有被FortiGate使用。 因此,您不需要允許IP協議51。
要建立VPN,必須在兩端配置匹配設定——VPN是在兩個FortiGate裝置之間、一個FortiGate和FortiClient,還 是一個第三方裝置和一個FortiGate。如果設定不匹配,隧道設定將會失敗。
IPsec在IP(網路)層提供服務。在隧道的建立過程中,雙方都在協商加密和認證演算法的使用。
在隧道被協商並升級之後,資料被加密並封裝到ESP資料包中。
封裝是什麼?這取決於模式。IPsec可以在兩種模式下執行:傳輸模式和隧道模式。
- 傳輸模式直接封裝和保護第四層(transport)和上面。原始的IP報頭不受保護,不新增額外的IP報頭。
- 隧道模式是一條真正的隧道。整個IP包被封裝起來,在開始時新增一個新的IP報頭。IPsec包到達遠端LAN 後,未包裝,原始資料包可以繼續其旅程。
注意,在刪除了VPN相關的標頭檔案之後,傳輸模式資料包不能再傳輸了;它裡面沒有第二個IP報頭,所以它是不 可路由的。出於這個原因,這種模式通常只用於端到端(或客戶端到客戶端)VPN。
為了建立IPsec隧道,這兩種裝置都必須建立它們的安全聯盟(SA)和金鑰,這些金鑰是由Internet金鑰交換 (IKE)協議促成的。
IPsec架構使用SA作為將安全功能構建到IPsec的基礎。SA僅僅是用於加密和驗證通過隧道傳輸的資料的演算法 和引數的集合。在正常的雙向通訊中,這個交換是由一對SA來保護的,一個用於每個流量方向。從本質上說, 隧道的兩邊必須就安全規則達成一致。如果雙方不能就傳送資料和驗證彼此身份的規則達成一致,那麼隧道將 無法建立。
IKE使用兩個不同的階段:階段1和階段2。
小測驗。
你現在已經瞭解了IPsec的介紹了。接下來,你將瞭解到IKE階段1和階段2。
在完成這一節之後,您將能夠識別並理解IKEv1的階段。通過展示識別IKE不同元件的能力,您將能夠成功地確定用於VPN部署的適當元件選擇。
IKE使用埠UDP 500。(如果NAT-T在NAT場景中啟用,IKE使用UDP埠4500)。
IKE建立了一個IPsec VPN隧道。FortiGate使用IKE與同伴協商並確定安全聯盟(SA)。SA定義了用於加密和 解密對等資料包的身份驗證、金鑰和設定。它基於網際網路安全聯盟和關鍵管理協議(ISAKMP)。
IKE定義了兩個階段。在階段2中,每一個IPsec SA都是特定的方向。因此,在雙向通訊中,每個階段2有兩個 SA。
對於階段1,有兩種可能的協商模式:主模式和野蠻模式
階段2只有一種模式:快速模式。
階段1是在隧道的每個端點——發起者和響應者——連線並開始建立VPN時發生的。
當端點第一次連線時,通道是不安全的。中間的攻擊者可以攔截未加密的金鑰。這兩個端點都不能保證對方的 身份,那麼他們如何交換敏感的私鑰呢?他們不能。首先,兩個端點都必須建立一個安全的隧道。他們將使用 這個安全通道來保護強大的身份驗證,並在以後協商隧道的真正鑰匙。
現在您將研究階段1是如何工作的。
在階段1,對等體說hello並建立一個SA來定義一個安全通道。SA被稱為IKE SA,是雙向的。
在IKEv1中,有兩種可能的模式可以進行SA協商。
- 主模式
- 野蠻模式
設定必須一致;否則,階段1將會失敗。(每一方都無法解密或驗證來自另一方的流量)。
在階段1結束時,協商的IKE SA被用來協商在階段2中使用的“Diffie-Hellman”(DH)金鑰。
這張幻燈片顯示了主模式的操作,其中交換了6個數據包。
首先,客戶端提出,隧道將使用一個或多個安全策略。響應者選擇它同意使用的安全策略,並回答。然後,發 起者傳送它的鑰匙。響應者用自己的鑰匙回答。最後,發起者傳送對等體ID和雜湊有效負載,響應者以同樣的 方式應答。
在主模式下,響應者不能通過它的對等ID來識別發起者,這是因為第一個包不包含對等ID,所以源IP地址被用 作識別對等體的標準之一。這種方法適用於站到站的VPN(點對點VPN),因為響應者知道每個對等體的IP地 址。因此,響應者知道為每個案例提出的安全策略。
這種模式對於只有一個撥號VPN的響應者來說也很有效。在這種情況下,響應者不需要識別對等體。對於所有 的安全策略,只有一套安全策略。
然而,對於具有多個撥號VPN的響應者來說,這種方法可能無法很好地工作。在這種情況下,響應者可能需要 用除源IP地址以外的其他東西來標識發起者,因為對等IP地址是未知的,並且可以更改。如果沒有這些資訊, 響應者可能不知道每個發起者屬於哪個撥號VPN,也不知道哪些安全策略適用。
現在您將檢查野蠻模式協商。在野蠻模式下,只交換三包。
首先,客戶端通過提出一個安全策略來發起,並提供它的金鑰和對等ID。響應者以相同的資訊應答,加上一個 雜湊。最後,發起者傳送它的雜湊有效負載。
第一個包包含發起者的對等ID。因此,響應者可以使用這個ID(不僅僅是源IP地址)來確定對等體是誰,以及 使用哪種安全策略。對於有多個撥號VPN的響應者來說,這是最好的解決方案。
Diffie-Hellman使用公鑰(兩端都知道)加上一個稱為nonce的數學因素,以生成一個普通的私鑰。
這是至關重要的。有了Diffie-Hellman,即使攻擊者可以監聽包含公共金鑰的資訊,他們也無法確定金鑰。
新的私鑰用於計算對稱加密和身份驗證的附加鑰匙。
ESP協議通常在執行NAT的裝置上遇到問題,其中一個原因是ESP沒有像TCP和UDP那樣的埠號來區分來自 一個隧道或另一個隧道的流量。
為了解決這個問題,NAT穿越(NAT-T)被新增到IPsec規範中。當NAT-T在兩端都啟用時,對等體可以在路徑 上檢測任何NAT裝置。如果發現了NAT,那麼接下來會發生以下情況:
- 階段2和階段1的包都更改為UDP埠4500。
- 在UDP埠4500中,兩端都封裝了ESP。
所以,如果你有兩個在後面的FortiGate裝置,例如,一個有NAT的ISP調變解調器,你可能需要啟用這個設定。
當NAT穿越設定被設定為強制時,總是使用UDP埠4500,即使在路徑上沒有NAT裝置的情況下也是如此。
在階段1建立了一個安全的通道和私鑰之後,階段2開始了。
階段2為兩個IPsec SA協商安全引數——不要與IKE SA混淆。它們是階段2SA——而不是階段1SA——ESP用 於在LAN之間傳輸資料。
當ESP開始時,IKE階段2不會結束。階段2定期重新協商密碼以維護安全。另外,如果你設定了Perfect Forward Secrecy ,每個階段2都將到期,FortiGate將會使用“Diffie-Hellman”來重新計算新的金鑰。通過這 種方式,新鑰匙不是從舊的鑰匙中派生出來的,這使得攻擊者更難破解隧道。
每個階段1可以有多個階段2。這是什麼時候發生的?
例如,您可能想要為通過隧道每個子網的流量都使用不同的加密金鑰。FortiGate如何選擇階段2的使用?通過 檢查哪個快速模式選擇器,流量匹配。
在階段2中,您必須配置一對名為quick mode selectors的設定。他們識別並引導流量到適當的階段2。換句話 說,它們允許粒度SA。
選擇器的行為類似於防火牆策略。VPN流量必須在階段2的SA中匹配選擇器。如果沒有,流量就會被丟棄。
在配置選擇器時,指定將匹配每個階段2的源和目標IP子網。您還可以為允許的流量指定協議號、源和目的端 口。在點對點的VPN中,比如將一個分支機構的FortiGate連線到一個總部的FortiGate,兩邊的配置必須相互映 射。
小測驗。
你現在瞭解了IKE階段1和階段2。接下來,您將瞭解到撥號IPsec VPN。
在完成本節之後,你應該能夠:
- 理解撥號的IPsec VPN拓撲
- 在兩個FortGate裝置之間部署一個撥號VPN
- 為FortiClient部署一個撥號VPN
通過演示撥號IPsec VPN配置的能力,你將更好地理解在FortiGate和FortiClient之間部署一個撥號VPN。
當對等體的IP地址是動態的,並且沒有動態DNS時,就會使用撥號VPN。這通常是分支機構和移動VPN客戶端 的情況。因為一個帶有撥號VPN的對等體不知道其他對等體的IP地址,所以它不能啟動VPN連線請求。
當您不知道遠端對等體將在哪裡連線時,就會使用撥號VPN,例如在筆記本上有FortiClient的旅行員工,或者 是一個用於遠端辦公室的FortiGate裝置當做撥號客戶端。
在您的FortiGate裝置上的一個撥號VPN配置可以用於許多遠端辦公室或使用者的IPsec隧道。這是另一個名字, 來自點對多點。
請記住,在撥號中,客戶端的IP是動態的,所以FortiGate無法預測它的位置。這意味著FortiGate不能啟動VPN, 只有遠端對等體才能啟動。
現在您將配置點對多點(在GUI上稱為撥號VPN)。
您必須配置的設定如下:
- 一個階段1
- 至少一個階段2
- 防火牆策略
- 如果需要,靜態路由或動態路由協議
你將從配置撥號伺服器的階段1開始。
Remote Gateway 必須設定為Dialup User。
如果撥號伺服器包含多個撥號VPN,則選擇Aggressive。需要使用對等ID。
接下來,您將看到撥號客戶端的階段1。
首先,指定這個撥號客戶機的撥號伺服器是否使用Static IP或Dynamic DNS。
如果撥號伺服器有多個撥號VPN,則必須將Mode設定為Aggressive。然後,在Local ID中,您必須輸入這個 撥號客戶機將用來標識自己到撥號伺服器的名稱。這個ID必須與撥號伺服器上配置的ID相匹配。
通常,撥號伺服器中的本地(源)快速模式選擇器被設定為撥號伺服器的子網。撥號伺服器中的遠端(目標) 快速模式選擇器通常設定為0.0.0.0/0,以匹配所有撥號客戶端子網。
客戶端中快速模式選擇器的情況下,本地地址必須是撥號客戶端的子網。
撥號客戶機中的遠端快速模式選擇器通常是撥號伺服器的子網。
點對多點的快速模式選擇器不需要相互映象。
在每個FortiGate上通常有兩個策略來允許和檢查來自和進入IPsec虛擬介面的流量。
撥號VPN伺服器的兩個防火牆策略
撥號VPN客戶端的兩個防火牆策略
介面不匹配WAN介面;它與虛擬介面相匹配,在本例中,它被命名為ToRemote。
撥號伺服器將在VPN建立後立即向該子網新增一條靜態路由。(這樣,您就不需要手動配置FortiGate撥號服務 器,併為每個FortiGate撥號客戶端提供了了所有的靜態路由。)
當隧道出現時,撥號伺服器的子網的靜態路由不會被動態新增到撥號伺服器中。這條路由必須新增到配置中。
現在,您將配置IPsec撥號客戶端到FortiGate。
您必須配置的設定如下:
- 階段1
- 階段2的配置將與您之前配置的FortiGate撥號伺服器相同。
- 防火牆策略配置將與您先前配置的FortiGate撥號伺服器相同。
- 在VPN建立後,將為雙方的FortiGate和FortiClient裝置動態新增路由。(你將在實驗中演示這一技術,用於撥號IPsec VPN。)。
您將從配置撥號伺服器的階段1開始。FortClient的撥號伺服器配置或多或少與您早先對作為客戶端的撥號服務 器的FortiGate類似,並添加了一些附加選項。
Remote Gateway 必須設定為Dialup User。
如果撥號伺服器包含多個撥號VPN,則選擇Aggressive。需要使用對等ID。
為了加強認證,您可以啟用XAuth。撥號伺服器FortiGate將使用Enable as Server。(每一個FortiClient或撥號 客戶端都將使用Enable as Client。)如果您在撥號伺服器上啟用XAuth,您還必須在撥號客戶機上啟用XAuth, 並配置使用者名稱和密碼。
此外,如果您的撥號客戶機是移動撥號使用者,您應該啟用NAT穿越(NAT Traversal ),因為它們通常在機場 終端、家庭路由器和酒店防火牆NAT後面。
果撥號客戶機是移動使用者,比如FortiClient使用者,您可能會在撥號伺服器的階段1啟用和配置Mode Config。 這是用於IPsec的副檔名為IKE模式配置。
為什麼?將靜態IP分配給每個筆記本和行動電話通常是不現實的。IKE模式配置是另一種選擇。
與DHCP一樣,Mode Config會自動配置客戶端的網路設定。與DHCP一樣,您為VPN虛擬IP和DNS設定定義 了一個範圍。
另一個階段1選項是XAuth。
階段1支援兩種型別的認證:預共享金鑰和數字證書。對IPsec的XAuth擴充套件迫使遠端使用者使用他們的憑證(用 戶名和密碼)進行身份驗證。因此,如果啟用的話,還會交換額外的認證包。
有什麼好處?更強的身份驗證。
有兩種方法可以配置被授權連線到VPN的使用者列表。一種方法是選擇一個包含這些使用者的特定使用者組。當您使 用這種方法時,您需要配置多個撥號VPN,如果您想要應用不同的訪問策略,這取決於使用者組。這也意味著使 用野蠻模式和對等ID。
配置授權VPN使用者列表的另一種方法是選擇Inherit from policy。有了這個設定,就可以授權所有屬於任何用 戶組的使用者,這些使用者組被分配到任何允許VPN傳輸的防火牆策略中。在這個例子中,VPN流量有兩個防火牆 策略。其中一個允許來自使用者組Administrator的流量。另一個策略允許來自使用者組training)的流量。在這種 情況下,所有屬於管理員或培訓的使用者都可以連線到VPN。
這種方法的優點是,您可以為不同的使用者組提供不同的訪問策略,並且在配置中只保留一個撥號VPN。
如果您的客戶只是FortiClient,那麼配置撥號伺服器還有一個更簡單的選擇:使用VPN嚮導。它將使用基於路 由的VPN,並啟用IKE Mode Config、XAuth和其他適當的設定。
小測驗。
你現在瞭解了撥號IPsec VPN。接下來,您將學習一些最佳實踐,並分析IPsec VPN日誌。
在完成本節之後,你應該能夠:
- 使用最佳實踐來部署撥號IPsec
- 分析VPN日誌和VPN監視器
通過展示最佳實踐和日誌的能力,您將能夠應用最佳實踐,並使用基本技術來分析和監控VPN日誌。
在存在多個遠端撥號VPN隧道的情況下,每個隧道必須有一個對等的ID集。
確保FortiClient版本與Fortigate OS版本相容。
如果你的FortiGate在NAT裝置的後面,比如路由器,為UDP埠500和4500配置埠轉發。
確保開啟硬體加速為IPsec提供最好的效能。
檢查IPsec VPN最大傳輸單元(MTU)大小。1500位元組MTU將超過支援ESP頭的開銷,包括額外的IP頭,等等。
在1436的3DES / SHA1和1412的AES128 / SHA1的MTU中,該FortiGate設定了IPsec隧道最大傳輸單元 (MTU)1436。您可以使用CLI命令診斷VPN隧道列表來驗證這一點。這表明,FortiGate將為AES128 / SHA1的 3DES / SHA1和88位元組分配64位元組的架空,如果您將MTU從一個典型的乙太網MTU中減去1500位元組,這就是區別。
您可以配置FortiGate來記錄VPN事件。對於IPsec VPN,階段1和階段2的認證和加密事件被記錄。有關如何解 釋日誌訊息的資訊,請參閱https://docs.fortinet.com。
要檢視IPsec VPN事件日誌,請單擊 Log & Report > VPN Events.
樣本日誌表示階段2的協商失敗。
這個示例日誌是用於撥號的IPsec VPN使用者。這個移動使用者使用FortiClient連線。
日誌訊息表明使用者已成功地進行了身份驗證,並建立了隧道。
這張幻燈片展示了另一個撥號IPsec VPN日誌的例子,其中使用者身份驗證失敗,因此隧道沒有建立。使用者輸入了錯誤的密碼。
你可以監控在IPsec Monitor中有哪些撥號IPsec VPN使用者連線。這顯示了所有撥號的IPsec VPN使用者的名字,這些使用者目前連線到FortiGate,以及他們的IP地址。
你已經完成了這一課。現在,您將回顧本課程所涵蓋的目標。
這一課涵蓋了以下目標:
- 描述IPsec VPN的好處
- 熟悉IPsec協議
- 瞭解IPsec是如何工作的
- 識別和理解IKEv1的階段
- 理解撥號的IPsec VPN拓撲
- 在兩個FortiGate之間部署一個撥號VPN
- FortiClient部署一個撥號VP
- 使用最佳實踐來部署撥號IPsec
- 分析VPN日誌和VPN監視器