1. 程式人生 > >教程篇(6.0) 12. 撥號IPsec VPN ❀ 飛塔 (Fortinet) 網路安全專家 NSE4

教程篇(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監視器