LAN 流量的 IPSec:基本注意事項?
這是我的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 來機器bar、baz和yow。進出這些機器的任何流量現在都是安全的,並且與這些機器一樣值得信賴。任何其他流量都不是 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 的講座,可能有助於澄清一些概念。