Local-Area-Network

LAN 流量的 IPSec:基本注意事項?

  • October 12, 2017

這是我的Encrypting absolute everything…問題的後續行動。

重要提示:這與更常見的 IPSec 設置無關,您希望在其中加密兩個 LAN 之間的流量。

我的基本目標是加密小公司區域網路*內的所有流量。*一種解決方案可能是 IPSec。我剛剛開始了解 IPSec,在我決定使用它並更深入地研究之前,我想大致了解一下它的外觀。

  • 是否有良好的跨平台支持?它必須在 Linux、MacOS X 和 Windows 客戶端、Linux 伺服器上執行,並且不需要昂貴的網路硬體。

  • 我可以為整台機器啟用 IPSec(這樣就不會有其他流量傳入/傳出),還是為網路介面啟用 IPSec,或者它是由單個埠的防火牆設置決定的/…?

  • 我可以輕鬆禁止非 IPSec IP 數據包嗎?還有“Mallory 的邪惡”IPSec 流量,由某個密鑰簽名,但不是我們的?我的理想構想是使 LAN 上不可能有任何這樣的 IP 流量。

  • 對於 LAN 內部流量:我會在“傳輸模式”中選擇“帶身份驗證的 ESP(無 AH)”、AES-256。這是一個合理的決定嗎?

  • 對於 LAN-Internet 流量:它如何與 Internet 網關一起工作?我會用

    • “隧道模式”創建從每台機器到網關的 IPSec 隧道?或者我也可以使用
    • “傳輸模式”到網關?我問的原因是,網關必須能夠解密來自 LAN 的包,所以它需要密鑰才能做到這一點。如果目標地址不是網關地址,這可能嗎?還是在這種情況下我必須使用代理?
  • 還有什麼我應該考慮的嗎?

我真的只需要這些東西的快速概覽,而不是非常詳細的說明。

  • 是否有良好的跨平台支持?它必須在 Linux、MacOS X 和 Windows 客戶端、Linux 伺服器上執行,並且不需要昂貴的網路硬體。

我對此並沒有太多經驗,因為我主要有 Linux 系統,但我確實讓它主要在 Windows 2000 機器上工作(這是前一段時間的)。有一個問題是 IPsec 在傳輸了一些字節後無法重新協商新的會話密鑰(這應該是自動發生的),所以連接在一段時間後斷開了,我永遠不會費心去研究它進一步。它現在可能工作得更好。

  • 我可以為整台機器啟用 IPSec(這樣就不會有其他流量傳入/傳出),還是為網路介面啟用 IPSec,或者它是由單個埠的防火牆設置決定的/…?

它是如何工作的(或者,更確切地說,是如何讓它工作的),您定義機器foo 必須僅使用 IPsec 來機器barbazyow進出這些機器的任何流量現在都是安全的,並且與這些機器一樣值得信賴。任何其他流量都不是 IPsec 並且可以正常工作。

  • 我可以輕鬆禁止非 IPSec IP 數據包嗎?還有“Mallory 的邪惡”IPSec 流量,由某個密鑰簽名,但不是我們的?我的理想構想是使 LAN 上不可能有任何這樣的 IP 流量。

IPsec 流量僅允許用於您定義的那些 IPsec“策略”,因此任何隨機機器都無法發送 IPsec 數據包 - 必須存在與這些數據包匹配的 IPsec 策略。

  • 對於 LAN 內部流量:我會在“傳輸模式”中選擇“帶身份驗證的 ESP(無 AH)”、AES-256。這是一個合理的決定嗎?

是的。有人談論完全放棄 AH,因為它是多餘的 - 您可以使用 ESP 和 NULL 加密,效果相同。

  • 對於 LAN-Internet 流量:它如何與 Internet 網關一起工作?我會用

+ “隧道模式”創建從每台機器到網關的 IPSec 隧道?或者我也可以使用

我會選擇這個選項。因為它是我自己不控製網關,而且流量在我的網路之外無論如何都不會加密,所以我真的沒有看到迫切的需求。

必須將不使用 IPsec 的主機的 Internet 流量視為可能被攔截 - 當您的 ISP 或您的 ISP 的 ISP 可以偵聽相同的未加密數據包時,在本地 LAN 上進行加密幾乎沒有意義。

  • “傳輸模式”到網關?我問的原因是,網關必須能夠解密來自 LAN 的包,所以它需要密鑰才能做到這一點。如果目標地址不是網關地址,這可能嗎?還是在這種情況下我必須使用代理?

據我了解,這不起作用-您需要代理。

  • 還有什麼我應該考慮的嗎?

看看您是否可以使用類似 OpenPGP 密鑰而不是 X.509 證書的東西。我使用 X.509,因為這是我第一次使用的 IPsec 密鑰守護程序唯一支持的東西,而且我還沒有精力考慮重做這一切。但我應該,而且我會,總有一天。

PS Me 和同事在 2007 年舉辦了關於 IPsec 的講座,可能有助於澄清一些概念。

引用自:https://serverfault.com/questions/130637