我问你,如果我的客户端只通过两个文件连接到 openvpn 服务器:client.ovpn 和 ca.crt,这个连接安全吗?这个机制存在安全问题吗?连接加密了吗?
知道:
- 客户端可以毫无问题或警告地进行连接,
- Openvpn 客户端需要通过以下四个文件连接到服务器:client.crt client.key ca.crt client.ovpn,
- client.ovpn如图所示:
客户 开发tun0 协议 TCP 远程 IP 端口 解析-重试无限 不绑定 持久密钥 坚持-tun ca 证书 # 证书客户端.crt # 密钥客户端.key 远程证书 TLS 服务器 ;tls-auth ta.key 1 密码 AES-128-CBC 康普 动词 3 auth-user-pass 密码
服务器配置:
port port
proto tcp
dev tun0
ca ca.crt
cert server.crt
key server.key
dh dh2048.pem
server P.P.P.P 255.255.255.0
ifconfig-pool-persist ipp.txt
push "dhcp-option DNS 8.8.4.4" push "dhcp-option DNS 8.8.8.8"
cipher AES-128-CBC
comp-lzo
persist-key persist-tun
status openvpn-status.log verb 3
client-cert-not-required
plugin /usr/lib/openvpn/openvpn-plugin-auth-pam.so login
答案1
在服务器配置中您有以下几行:
client-cert-not-required
plugin /usr/lib/openvpn/openvpn-plugin-auth-pam.so login
client-cert-not-required
有以下描述man openvpn
:
不需要客户端证书,客户端将仅使用用户名/密码进行身份验证。请注意,使用此指令的安全性不如要求所有客户端都提供证书。
该插件需要针对 PAM 进行身份验证。
数据在通过 VPN 时会被加密。行 表示cipher AES-128-CBC
要使用哪种加密方式。AES 通常被认为是安全的。
您是否认为这足够安全取决于您试图保护的内容以及密码的质量。对此没有一站式答案;您必须定义您认为适用的威胁,以及什么是安全可接受。
维护 CA 和分发证书可能比分发密码的工作量更大。这取决于您的设置。这也使得在新计算机上设置 VPN 变得更加困难,因为您必须安全地将相对较长的密钥带到该计算机上。在这方面,密码验证的安全性降低可能是值得的权衡。
TL;DR:视情况而定。