有關IPsec預共享密鑰的注意事項


IPSec中的預共享密鑰

預共享密鑰(PSK)是站點到站點IPsec VPN隧道最常用的身份驗證方法。那么關於PSK的安全性呢?它對網絡安全起什么作用?PSK應該有多復雜?是否應該另外存儲它們?如果攻擊者獲得了我的PSK,會發生什么?

以下部分僅與站點到站點VPN有關,與遠程訪問VPN不相關。

  1. 預共享密鑰僅用於身份驗證,不用於加密!IPsec隧道依靠ISAKMP / IKE協議來交換密鑰以進行加密等。但是,在IKE正常工作之前,兩個對等方都需要彼此進行身份驗證(相互身份驗證)。這是使用PSK的唯一部分(RFC 2409)。
  2. 如果雙方都使用靜態IP地址(=可以使用主模式),則擁有PSK的攻擊者還必須在自己身上進行欺騙/重定向這些公共地址,以建立VPN連接。即:即使攻擊者擁有PSK,他也必須欺騙公共IP地址以使用它對另一方進行身份驗證。對於具有普通ISP連接的普通人來說,這是非常不現實的。甚至熟練的黑客也必須能夠注入偽造的BGP路由或位於客戶默認網關/路由器附近。
  3. 但是:如果一個遠端只有一個動態IP地址,則IKE必須使用主動模式進行身份驗證。在這種情況下,來自PSK的哈希會遍歷Internet。攻擊者可以對此哈希進行離線蠻力攻擊。也就是說:如果PSK不夠復雜,則攻擊者可能會成功,並且能夠建立與網絡的VPN連接(如果他進一步知道站點到站點VPN對等體的ID,這也沒問題,因為它們遍歷也以明文形式通過互聯網)。

PSK的最佳做法

由於PSK只能在每側配置一次,因此在防火牆上寫20-40個字母應該沒問題。由此,可以生成真正復雜的密鑰並將其用於VPN對等方的身份驗證。這是我的建議:

  1. 為每個VPN隧道生成一個新的/不同的PSK。
  2. 使用密碼/密碼生成器來創建PSK。
  3. 生成一個至少包含30個字符的長PSK,以抵抗暴力攻擊。為避免出現問題,請僅使用字母數字字符。由於帶有30個字符的PSK確實很長,因此僅62個字母和數字的“小”字符集就沒有問題。此示例中的安全級別大約為178位(因為log_ {2}(62 ^ {30})= 178)。
  4. 請勿通過Internet,通過電話,傳真或SMS 將PSK發送給對等方
  5. 無需將PSK存儲在其他任何地方。如果在兩側都進行了配置,則可以將其丟棄。在最壞的情況下,您需要生成並傳輸一個新的。

英文原文鏈接:https://weberblog.net/considerations-about-ipsec-pre-shared-keys-psks/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM