OpenVPN无法禁用加密


11

在服务器和客户端配置中,我都设置了:

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负载

3)我在Wireshark中看到数据已加密

禁用加密还需要什么?


1
您能否分享使用情况?当您尝试禁用任何身份验证和加密时,openvpn的使用可能会令人怀疑...可能有更好的方法来封装流量(例如ipip,gre ...)
Kamil J

6
我只是做实验,试图找出加密对CPU负载有什么影响
user2449761

Answers:


31

您好像已启用了可协商的加密参数(NCP)。您应该指定

ncp-disable

禁用“可协商的加密参数”。这将完全禁用密码协商。

当两个OpenVPN实例启用了NCP(最新版本的默认设置)时,它们将从ncp-ciphers定义的一组密码中协商要使用的密码。默认值为“ AES-256-GCM:AES-128-GCM”,这说明了为什么在连接上看到AES-256-GCM。


12

假设您正在运行openvpn 2.4,我相信您还需要设置

禁用ncp

https://openvpn.net/community-resources/reference-manual-for-openvpn-2-4/

一些背景:

Openvpn过去要求您在两端手动将加密算法配置为相同的值。但是,这带来了一个问题,这使得升级现有多用户VPN上的加密非常困难。2016年,设计了一种名为“ sweet32”的攻击,使某些情况下的明文得以恢复。在实践中要实现这一目标并不是一件容易的事,有一种无需更改密码就可以缓解它的方法,但这仍然是一个令人担忧的发展。

Openvpn 2.4引入了一项新功能,默认情况下启用该功能以协商加密参数。我不确定这是对sweet32的反应还是对有效锁定为单个密码套件的含义的普遍担忧所致。

因此,当启用加密参数协商时,如果连接的另一端不支持协商,则“密码”设置将有效地用作后备。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.