Openvpn
OpenVPN 無法禁用加密
在伺服器和客戶端配置中我都設置了:
cipher none auth none
按照這個建議,我也在使用 UDP 埠 1195。
當我啟動伺服器和客戶端時,我收到以下警告:
Tue Dec 4 12:58:25 2018 ******* WARNING *******: '--cipher none' was specified. This means NO encryption will be performed and tunnelled data WILL be transmitted in clear text over the network! PLEASE DO RECONSIDER THIS SETTING! Tue Dec 4 12:58:25 2018 ******* WARNING *******: '--auth none' was specified. This means no authentication will be performed on received packets, meaning you CANNOT trust that the data received by the remote side have NOT been manipulated. PLEASE DO RECONSIDER THIS SETTING!
…這很好,但 openvpn 仍在使用加密。我知道這一點,因為:
1)當客戶端連接時,我在伺服器端收到以下消息:
Tue Dec 4 12:59:59 2018 client_abc/10.20.73.2:36752 Outgoing Data Channel: Cipher 'AES-256-GCM' initialized with 256 bit key Tue Dec 4 12:59:59 2018 client_abc/10.20.73.2:36752 Incoming Data Channel: Cipher 'AES-256-GCM' initialized with 256 bit key
2)我在兩邊都得到了巨大的 CPU 負載
- 我在 Wireshark 中看到數據已加密
禁用加密還需要什麼?
看起來您啟用了可協商加密參數 (NCP)。你應該指定
ncp-disable
禁用“可協商的加密參數”。這完全禁用密碼協商。
當兩個 OpenVPN 實例啟用 NCP(最新版本的預設設置)時,它們將從 ncp-ciphers 定義的一組密碼中協商要使用的密碼。預設值為“AES-256-GCM:AES-128-GCM”,這解釋了為什麼您會在連接上看到 AES-256-GCM。
假設您正在執行 openvpn 2.4 我相信您還需要設置
ncp-禁用
https://openvpn.net/community-resources/reference-manual-for-openvpn-2-4/
一些背景:
Openvpn 過去需要您手動將加密算法配置為兩端相同的值。然而,這帶來了一個問題,它使得在現有的多使用者 VPN 上升級加密變得非常困難。2016 年設計了一種名為“sweet32”的攻擊,允許在某些情況下恢復明文。在實踐中,這並不是一個容易實施的攻擊,並且有一種方法可以在不改變密碼的情況下減輕它,但這仍然是一個令人擔憂的發展。
Openvpn 2.4 引入了一項新功能,預設啟用以協商加密參數。我不確定這是對 sweet32 的反應,還是對被有效鎖定在單個密碼套件中的影響的普遍擔憂的結果。
因此,當啟用加密參數的協商時,如果連接的另一端不支持協商,則“密碼”設置有效地充當備用。