OpenVPN‘auth’指令有什么作用?

OpenVPN‘auth’指令有什么作用?

OpenVPN 配置文件中的“auth”指令起什么作用?

我在 OpenVPN 设置中使用 PKI 系统,详细信息如下:这里,并且我已使一切正常运行(IE 客户端连接到服务器)。但是,在我的服务器或客户端配置文件中,我从未使用过“auth”指令。我在其他人的配置文件中看到过类似以下内容:

auth SHA512

我需要使用此指令吗?如果我不指定,OpenVPN 默认使用什么?

抱歉,我对加密、PKI 等不太熟悉,想尽可能强化我的 OpenVPN 服务器。请指出我应该做的任何其他改进!

编辑:

这是我的服务器配置:

port 23535
proto udp4
dev tun
ca "C:\\Program Files\\OpenVPN\\Keys\\ca.crt"
cert "C:\\Program Files\\OpenVPN\\Keys\\server.crt"
key "C:\\Program Files\\OpenVPN\\Keys\\server.key"
dh "C:\\Program Files\\OpenVPN\\Keys\\dh2048.pem"
tls-crypt-v2 "C:\\Program Files\\OpenVPN\\Keys\\server-tls-crypt-v2.key"
topology subnet
server 10.43.166.0 255.255.255.0
ifconfig-pool-persist ipp.txt
client-to-client
cipher AES-256-GCM
status openvpn-status.log
verb 4
explicit-exit-notify 1

和我的客户端配置:

setenv FRIENDLY_NAME "Test VPN."
client
dev tun
proto udp4
remote vpn.server.local 23535
resolv-retry infinite
nobind
remote-cert-tls server
cipher AES-256-GCM
verb 4
mute-replay-warnings


<ca>
REDACTED
</ca>

<cert>
REDACTED
</cert>

<key>
REDACTED
</key>

<tls-crypt-v2>
REDACTED
</tls-crypt-v2>

答案1

OpenVPN 2.4 参考手册 定义auth参数,它将覆盖配置文件中的相同参数,如下所示:

--身份验证算法

使用消息摘要算法 alg 通过 HMAC 验证数据通道数据包和(如果已启用)tls-auth 控制通道数据包。(默认值为 SHA1)。HMAC 是一种常用的消息认证算法 (MAC),它使用数据字符串、安全哈希算法和密钥来生成数字签名。OpenVPN 数据通道协议使用 encrypt-then-mac(即首先加密数据包,然后对生成的密文进行 HMAC),这可以防止填充 oracle 攻击。

至于将此值设置为 SHA512,而不是默认的 SHA1,此问题已在帖子中回答 OpenVPN 使用 SHA1 而不是 SHA512 由用户 TinCanTech 提供:

您只需理解,使用 SHA512 会浪费 VPN 节点上的 CPU 周期。

SHA1 是默认设置,因为它被认为足够安全。消息认证并不像交换数字证书密钥那样重要。

相关内容