我想强化我的 OpenVPN 设置。网络是第 3 层 VPN。我相信它们对于今天的标准来说已经相当不错了,我将在下面发布它们。我目前使用的是aes-256-cbc
,但我想增加位数。是否有可能拥有高于 256 的 AES 位?
客户端配置:
client
dev tun
proto tcp
remote example.zapto.org 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client.crt
key client.key
remote-cert-tls server
tls-auth ta.key 1
tls-cipher TLS-DHE-RSA-WITH-AES-256-GCM-SHA384
auth SHA512
tls-version-min 1.2
cipher AES-256-CBC
comp-lzo
verb 3
服务器配置:
port 1194
proto tcp
dev tun
ca ./easy-rsa2/keys/ca.crt
cert ./easy-rsa2/keys/server.crt
key ./easy-rsa2/keys/server.key
dh ./easy-rsa2/keys/dh4096.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "route 10.10.10.0 255.255.255.0"
keepalive 10 120
tls-auth ./easy-rsa2/keys/ta.key 0
tls-cipher TLS-DHE-RSA-WITH-AES-256-GCM-SHA384
auth SHA512
tls-version-min 1.2
remote-cert-tls client
cipher AES-256-CBC
comp-lzo
user openvpn
group openvpn
persist-key
persist-tun
status openvpn-status.log
verb 3
答案1
我想强化我的 OpenVPN 设置。网络是第 3 层 VPN。我相信它们已经相当符合当今的标准,我将在下面发布它们。我目前使用 aes-256-cbc,但我想增加位数。是否有可能拥有高于 256 的 AES 位数?
简而言之,增加密钥大小不会使其变硬。AES 256 被认为是安全的。目前还没有针对 AES 加密的重大已知攻击,甚至 AES-128 通常也被认为是安全的 - 目前还没有已知的攻击允许显著地比 AES 暴力破解更快的明文恢复。
暴力破解几乎是不可能的。即使使用 128 位密钥,每秒测试十亿个密钥,也需要数万亿年的计算才能破解它。
因此,不要试图通过增加密钥大小来强化它。这是错误的选择。
更好的方法是确保密钥材料的隐私。例如使用尤比克存储证书的私钥,以确保它们不能被复制。使用 HSM 保护根证书密钥,或者在生成所需数量的证书后将其删除。使用 AppArmour 或 SELinux 加固主机,并确保它位于 DMZ 中,并具有明确定义的防火墙规则来控制流量。等等。
简而言之:关注密钥长度是浪费时间。XKCD#538 总结得很好:
加密功能不太可能是您设置中的薄弱环节,更可能的问题是不安全的配置或过时的软件,甚至是物理设备安全。
答案2
您可以使用以下方法列出客户端和服务器上可用的密码:
openvpn --show-ciphers
在 2018 年的原始 OpenVPN 2.4.4 版本中,您可以使用 AES-256最大限度。