J'essaie de me connecter à notre institut VPN via OpenVPN. Quand openvpn est lancé, j'obtiens l'erreur suivante de openssl
Tue Oct 30 11:34:16 2018 WARNING: --ns-cert-type is DEPRECATED. Use --remote-cert-tls instead.
... several more lines
Tue Oct 30 11:34:17 2018 OpenSSL: error:1425F102:SSL routines:ssl_choose_client_version:unsupported protocol
Tue Oct 30 11:34:17 2018 TLS_ERROR: BIO read tls_read_plaintext error
Tue Oct 30 11:34:17 2018 TLS Error: TLS object -> incoming plaintext read error
Tue Oct 30 11:34:17 2018 TLS Error: TLS handshake failed
Tue Oct 30 11:34:17 2018 SIGUSR1[soft,tls-error] received, process restarting
Tue Oct 30 11:34:17 2018 Restart pause, 5 second(s)
Cette erreur ne survient pas lors de l'utilisation d'OpenSSL 1.1.0h Qu'est-ce qui a changé entre ces versions et que cette erreur se produit?
Mon système est Debian Sid. Depuis que j'utilise régulièrement VPN, il est extrêmement irritant de devoir rétrograder manuellement OpenSSL vers 1.1.0h après chaque mise à niveau, et cela aussi, juste pour pouvoir utiliser openVPN.
Vous n'êtes pas obligé de rétrograder OpenSSL.
Avec l'introduction de la version 1.1.1 de openssl dans Debian, les valeurs par défaut sont définies sur des valeurs plus sûres par défaut. Ceci est fait dans le fichier de configuration /etc/ssl/openssl.cnf. A la fin du fichier il y a:
[system_default_sect]
MinProtocol = TLSv1.2
CipherString = DEFAULT@SECLEVEL=2
Debian requiert maintenant au minimum la version TLS 1.2 au lieu de TLS 1.0. Si l’autre côté ne prend pas en charge TLS 1.2 ou une version supérieure, vous obtiendrez des erreurs de connexion.
Je recommande de mettre à jour openvpn sur le serveur vers une version plus récente prenant en charge TLS 1.2. .
La deuxième option (peu sécurisée) est de modifier MinProcotol en TLSv1 ou TLSv1.1.
Il n'est pas nécessaire de rétrograder OpenSSL ou pour modifier les valeurs par défaut du système.
Au lieu de modifier /etc/ssl/openssl.cnf, vous pouvez simplement configurer le client openvpn Pour configurer libssl avec une version de protocole minimale différente. L'optionis--tls-version-min
ou tls-version-min
dans un fichier de configuration.
Il est toujours préférable de mettre à niveau le serveur, mais c’est un meilleur moyen de traiter un biais temporaire de la version.
Vous pouvez même remplacer directement la valeur par défaut du système, par exemple. en utilisant:
tls-cipher "DEFAULT:@SECLEVEL=1"
avoir une configuration de base qui correspond aux valeurs par défaut normales d’OpenSSL. Notez que OpenVPN définit normalement une liste de chiffrement plus restreinte (voir la page de manuel).