Forum: PC Hard- und Software Openvpn Server Umzug Client kann sich nicht verbinden


von bauer (Gast)


Lesenswert?

Guten Abend und schönes neues Jahr!
Ich wollte heute meinen Openvpn Server von Debian 8 nach Ubuntu 18.04 
umziehen.
Leider kann ich mich mit den Clients nicht verbinden.
Ich bekomme folgende Fehlermeldungen im Logfile des OPENVPN Servers
1
Wed Jan  1 17:28:49 2020 us=296405 xx.xxx.xxx.101:54923 OpenSSL: error:1417C086:SSL routines:tls_process_client_certificate:certificate verify failed
2
Wed Jan  1 17:28:49 2020 us=296752 xx.xxx.xxx.101:54923 TLS_ERROR: BIO read tls_read_plaintext error
3
Wed Jan  1 17:28:49 2020 us=296970 xx.xxx.xxx.101:54923 TLS Error: TLS object -> incoming plaintext read error
4
Wed Jan  1 17:28:49 2020 us=297179 xx.xxx.xxx.101:54923 TLS Error: TLS handshake failed
5
Wed Jan  1 17:28:49 2020 us=297544 xx.xxx.xxx.101:54923 Fatal TLS error (check_tls_errors_co), restarting
6
Wed Jan  1 17:28:49 2020 us=297908 xx.xxx.xxx.101:54923 SIGUSR1[soft,tls-error] received, client-instance restarting
7
Wed Jan  1 17:28:49 2020 us=298270 TCP/UDP: Closing socket
8
Wed Jan  1 17:28:54 2020 us=343449 MULTI: multi_create_instance called
9
Wed Jan  1 17:28:54 2020 us=344117 Re-using SSL/TLS context
10
Wed Jan  1 17:28:54 2020 us=344321 LZO compression initializing
11
Wed Jan  1 17:28:54 2020 us=344793 Control Channel MTU parms [ L:1624 D:1210 EF:40 EB:0 ET:0 EL:3 ]
12
Wed Jan  1 17:28:54 2020 us=345041 Data Channel MTU parms [ L:1624 D:1450 EF:124 EB:406 ET:0 EL:3 ]
13
Wed Jan  1 17:28:54 2020 us=345294 Local Options String (VER=V4): 'V4,dev-type tun,link-mtu 1544,tun-mtu 1500,proto TCPv4_SERVER,comp-lzo,cipher BF-CBC,auth SHA1,keysize 128,key-method 2,tls-server'

Woran kann es liegen? Ich habe alle Zertifikate und Keys kopiert.
Danke und schönen Abend

von Richman (Gast)


Lesenswert?

Ist die Zeit auf beiden Systemen (Server / Client) synchron? Das ist 
meisten die Hauptursache bei Zertifikatsproblemen

von bauer (Gast)


Lesenswert?

Richman schrieb:
> Ist die Zeit auf beiden Systemen (Server / Client) synchron? Das
> ist
> meisten die Hauptursache bei Zertifikatsproblemen

Die Zeiten stimmen

von bauer (Gast)


Lesenswert?

Hat jemand noch einen Vorschlag

von lala (Gast)


Lesenswert?

Zertifikate neu erstellen. Irgendwas scheint mit denen nicht zu stimmen.

von Jim M. (turboj)


Lesenswert?

bauer schrieb:
> Wed Jan  1 17:28:49 2020 us=296405 xx.xxx.xxx.101:54923 OpenSSL:
> error:1417C086:SSL routines:tls_process_client_certificate:certificate
> verify failed

Was für Zertifikate wurden verwendet?

IIRC wurde auch in OpenVPN (via Openssl) die Sicherheit erhöht und so 
z.B. MD5 rausgeschmissen. Ältere Zertifikate benutzen das gelegentlich 
noch.

Lass Dir von OpenSSL mal die Zertifikate als Text anzeigen:
1
> openssl x509 -in example-cert.pem -text
2
3
Certificate:
4
    Data:
5
        Version: 3 (0x2)
6
        Serial Number: 2 (0x2)
7
    Signature Algorithm: sha1WithRSAEncryption
8
 ...
9
Validity
10
            Not Before: Aug 22 12:31:57 2008 GMT
11
            Not After : Jul  1 12:31:57 2018 GMT

Das hier ist z.B. sha1, das würde auch in naher Zukunft nicht mehr 
out-of-the-box tun - wäre es nicht bereits abgelaufen.

von bauer (Gast)


Lesenswert?

Meine Zertifikate sehen so aus!

Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number: 2 (0x2)
    Signature Algorithm: sha384WithRSAEncryption
        Issuer: C=xx, ST=xx, L=xxxxxx, O=My 
Org/emailAddress=xxxx.xxxxx@gmail.com
        Validity
            Not Before: Aug 16 07:38:37 2019 GMT
            Not After : Aug 13 07:38:37 2029 GMT
        Subject: C=IT, ST=BZ, L=Truden, O=My Org, OU=Office, 
CN=pier/emailAddress=Xxxx.xxx@gmail.com
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                Public-Key: (4096 bit)
                Modulus:


Hatte die Ca erst vor kurzen von Md5 weg.
Danke für die Hilfe

: Bearbeitet durch Admin
von bauer (Gast)


Lesenswert?

lala schrieb:
> Zertifikate neu erstellen. Irgendwas scheint mit denen nicht zu stimmen.

Das möchte ich vermeiden. Habe Clients an die ich nicht so leicht ran 
komme.

von bauer (Gast)


Lesenswert?

Noch jemand eine Idee?

von Richman (Gast)


Lesenswert?

Könnte noch auf ein OpenSSL oder OpenVPN Versionsproblem hindeuten. 
Welche Version von OpenSSL bzw. OpenVPN ist auf dem Debian 8 bzw. Ubuntu 
18.04 installiert?

Irgendwelche Einschränkungen in den TLS Cipher Einstellungen in der 
Config vorgenommen?

Bitte auch die OpenVPN Server und Client config hier posten.

von bauer (Gast)


Lesenswert?

Richman schrieb:
> Könnte noch auf ein OpenSSL oder OpenVPN Versionsproblem
> hindeuten.
> Welche Version von OpenSSL bzw. OpenVPN ist auf dem Debian 8 bzw. Ubuntu
> 18.04 installiert?
>
> Irgendwelche Einschränkungen in den TLS Cipher Einstellungen in der
> Config vorgenommen?
>
> Bitte auch die OpenVPN Server und Client config hier posten.

Guten Tag,
Die Funktionierende Installation ist 2.3.4-5+deb8u2
Hingegen auf Ubuntu 18.04 ist 2.4.4-2ubuntu1.3 installiert
Hat sich da was geändert?
Kann es auch an der Client Version liegen?

1
client
2
proto tcp-client
3
dev tun
4
ca ca.crt
5
cert xxxxx.crt
6
key xxxxx.key
7
remote  vpn.xxxxx.eu 443
8
verb 5
9
mute 20
10
keepalive 10 120
11
comp-lzo
12
persist-key
13
persist-tun
14
float
15
resolv-retry infinite
16
nobind
17
auth-nocache
18
tls-client
19
remote-cert-tls server

1
port 443
2
proto tcp-server
3
dev tun1
4
ca /etc/openvpn/keys/2019ca/ca.crt
5
cert /etc/openvpn/keys/2019ca/server2019.crt
6
key /etc/openvpn/keys/2019ca/server2019.key
7
dh /etc/openvpn/keys/2019ca/dh4096.pem
8
server 10.98.1.0 255.255.255.0
9
crl-verify /etc/openvpn/keys/2019ca/crl.pem
10
cipher BF-CBC
11
verb 5
12
mute 20
13
max-clients 100
14
local vpn.xxxxxx.eu
15
keepalive 10 120
16
client-config-dir /etc/openvpn/servers/openvpn19/ccd
17
client-to-client
18
comp-lzo
19
persist-key
20
persist-tun
21
ccd-exclusive
22
script-security 4


Irgendwas muss sich mit der Openvpn Version geändert haben.

von Richman (Gast)


Lesenswert?

Prinzipiell sieht die Config gut aus ... was mir allerdings direkt 
auffällt ist der Cipher den du benutzt. Die Benutzung BF-* wird 
abgeraten da diese angreifbar waren in bestimmten Versionen. Siehe 
(https://community.openvpn.net/openvpn/wiki/SWEET32).

Versuch mal den den Cipher in der Server Config von BF-CBC auf 
AES-256-CBC zu ändern.

Könntest du noch die OpenVPN Client Version hier posten?

Was du noch prüfen könntest wäre die Datei-Berechtigung / Owner. Ich 
gehe mal von aus, dass die von dem alten Server dorthin kopiert worden 
sind.
Prüfe ob die Dateien die den selben Owner haben, wie welcher, der den 
OpenVPN Server ausführt (root wahrscheinlich laut config)
1
...
2
ca /etc/openvpn/keys/2019ca/ca.crt
3
cert /etc/openvpn/keys/2019ca/server2019.crt
4
key /etc/openvpn/keys/2019ca/server2019.key
5
dh /etc/openvpn/keys/2019ca/dh4096.pem
6
crl-verify /etc/openvpn/keys/2019ca/crl.pem
7
...

von Richman (Gast)


Lesenswert?

Achja wenn möglich einmal das "local vpn.xxxxxx.eu" aus der config 
entfernen

von bauer (Gast)


Angehängte Dateien:

Lesenswert?

Richman schrieb:
> Versuch mal den den Cipher in der Server Config von BF-CBC auf
> AES-256-CBC zu ändern.

HAbe ich versucht aber hat nichts gebracht

Richman schrieb:
> ca /etc/openvpn/keys/2019ca/ca.crt
> cert /etc/openvpn/keys/2019ca/server2019.crt
> key /etc/openvpn/keys/2019ca/server2019.key
> dh /etc/openvpn/keys/2019ca/dh4096.pem
> crl-verify /etc/openvpn/keys/2019ca/crl.pem
> ...

Habe ich von rw-r--r-- auf 777 gestellt.
Hat auch nichts gebracht.
Auf dem Client  läüft die Version Siehe Bild.

Danke für die Hilfe.
Ich verstehe das nicht warum das auf dem neuen Server nicht laufen soll.

von Richman (Gast)


Lesenswert?

Hast du auch den Owner geprüft? Mittels chown kannst du den ändern
1
ls etc/openvpn/keys/2019ca/crl.pem

Du könntest einmal die Option "tls-client" entfernen. Beim Server fehlt 
nämlich der "tls-server" Eintrag. In der Regel wird diese option nicht 
explizit benötigt.

Wie hast du OpenVPN installiert? Hast du die offizielle Software 
Repository benutzt? Falls nicht, dann einmal neu installieren und das 
offizielle Repository nutzen: 
https://community.openvpn.net/openvpn/wiki/OpenvpnSoftwareRepos

Langsam gehen mir die Ideen aus.

Wenn alles nichts hilft notfalls die Zertifikate testweise neu 
generieren und schauen ob es daran liegt.

von bauer (Gast)


Lesenswert?

Richman schrieb:
> Hast du auch den Owner geprüft? Mittels chown kannst du den ändernls
> etc/openvpn/keys/2019ca/crl.pem

Was meinst du damit genau?
Ich verstehe nicht was du meinst?
Was soll ich tun?

von bauer (Gast)


Lesenswert?

Richman schrieb:
> Wie hast du OpenVPN installiert?

Habe ich mit
sudo apt install openvpn
installiert.
Danke für deine Hilfe

von Richman (Gast)


Lesenswert?

bauer schrieb:
> Richman schrieb:
>> Hast du auch den Owner geprüft? Mittels chown kannst du den ändernls
>> etc/openvpn/keys/2019ca/crl.pem
>
> Was meinst du damit genau?
> Ich verstehe nicht was du meinst?
> Was soll ich tun?
Ich wollte dass du die Dateibesitzrechte prüfst. Aber versuch die auf 
root:root zu ändern. Ich geh davon aus dass OpenVPN als root läuft.
1
chown root:root /etc/openvpn/keys/2019ca/ca.crt
2
chown root:root /etc/openvpn/keys/2019ca/server2019.crt
3
chown root:root /etc/openvpn/keys/2019ca/server2019.key
4
chown root:root /etc/openvpn/keys/2019ca/dh4096.pem
5
chown root:root /etc/openvpn/keys/2019ca/crl.pem

von bauer (Gast)


Lesenswert?

Richman schrieb:
> bauer schrieb:
>> Richman schrieb:
>>> Hast du auch den Owner geprüft? Mittels chown kannst du den ändernls
>>> etc/openvpn/keys/2019ca/crl.pem
>>
>> Was meinst du damit genau?
>> Ich verstehe nicht was du meinst?
>> Was soll ich tun?
> Ich wollte dass du die Dateibesitzrechte prüfst. Aber versuch die auf
> root:root zu ändern. Ich geh davon aus dass OpenVPN als root läuft.
> chown root:root /etc/openvpn/keys/2019ca/ca.crt
> chown root:root /etc/openvpn/keys/2019ca/server2019.crt
> chown root:root /etc/openvpn/keys/2019ca/server2019.key
> chown root:root /etc/openvpn/keys/2019ca/dh4096.pem
> chown root:root /etc/openvpn/keys/2019ca/crl.pem

Danke für die Erklärung.
Habe ich gemacht aber auch das funktioniert nicht:(
Was kann ich noch probieren?

von Richman (Gast)


Lesenswert?

Bitte poste doch nochmal das Zertifikat (.crt Datei) von dem CA, Server 
und einem beliebigen Client.

Beispielsweise:
1
openssl x509 -in /etc/openvpn/keys/2019ca/ca.crt -text -noout
2
openssl x509 -in /etc/openvpn/keys/2019ca/server2019.crt -text -noout
3
openssl x509 -in IRGENDEIN_CLIENT.crt -text -noout


Und bitte auf beiden Systemen die OpenSSL version hier posten!
1
openssl version

Zusätzlich noch einmal die Zertifikate manuell mittels OpenSSL auf 
BEIDEN Systemen verifizieren!
1
openssl verify -CAfile /etc/openvpn/keys/2019ca/ca.crt /etc/openvpn/keys/2019ca/server2019.crt

bzw.
1
openssl verify -CAfile /etc/openvpn/keys/2019ca/ca.crt IRGENDEIN_CLIENT.crt

Ich kann mir nämlich gut vorstellen das auf dem Debian System noch eine 
alte OpenSSL version installiert wurde, bzw. die erstellen Zertifikate 
besitzen noch veraltete Signatur Algorithmen die zwar in der alten 
OpenSSL Version unterstütz werden aber in der neuen Version nicht mehr.

Laut deinem post sollte es aber passen (Signature Algorithm: 
sha384WithRSAEncryption)

Und wie schon geschrieben: Du solltest testweise eine neue PKI erstellen 
um Zertifikatsprobleme grundsätzlich auszuschließen

von Gerd E. (robberknight)


Lesenswert?

bauer schrieb:
> Habe Clients an die ich nicht so leicht ran
> komme.

Das ist ein gängiges Szenario.

OpenVPN ist dafür leider nicht wirklich gut geeignet, da es eben keinen 
extern spezifizierten Standard implementiert, sondern nur dafür gedacht 
ist mit sich selbst kompatibel zu sein. Und es passiert öfters daß die 
irgendetwas ändern so daß verschiedene OpenVPN-Versionen danach nicht 
mehr in allen Fällen miteinander sauber zusammenarbeiten.

Daher wäre meine Empfehlung statt dessen IPSec zu verwenden. Das ist ein 
sauber per RFC spezifizierter Standard. Wenn ein IPSec Stack in der 
alten und neuen Version zu der RFC konform ist, dann sind solche 
Probleme nicht zu erwarten.

von bauer (Gast)


Angehängte Dateien:

Lesenswert?

Guten Abend
Danke für die Mühe.
Ich habe eine test CA erstellt und damit kann ich den Tunnel betreiben.

Richman schrieb:
> openssl x509 -in /etc/openvpn/keys/2019ca/ca.crt -text -noout
> openssl x509 -in /etc/openvpn/keys/2019ca/server2019.crt -text -noout
> openssl x509 -in IRGENDEIN_CLIENT.crt -text -noout

Im Anhang die 3 Textfiels

Richman schrieb:
> Zusätzlich noch einmal die Zertifikate manuell mittels OpenSSL auf
> BEIDEN Systemen verifizieren!
> openssl verify -CAfile /etc/openvpn/keys/2019ca/ca.crt
> /etc/openvpn/keys/2019ca/server2019.crt
>
> bzw.
> openssl verify -CAfile /etc/openvpn/keys/2019ca/ca.crt
> IRGENDEIN_CLIENT.crt

Das ergebnis auf beiden Systemen ist das Selbe.
1
root@xxxxxxx:/# openssl verify -CAfile /etc/openvpn/keys/2019ca/ca.crt /etc/openvpn/keys/2019ca/server2019.crt
2
/etc/openvpn/keys/2019ca/server2019.crt: OK
3
root@xxxxxxx:/# openssl verify -CAfile /etc/openvpn/keys/2019ca/ca.crt /etc/openvpn/keys/2019ca/pier.crt
4
/etc/openvpn/keys/2019ca/pier.crt: OK
5
root@xxxxxxx:/#
Auf dem alten Server ist
OpenSSL 1.0.1t  3 May 2016

Auf dem neuen Server ist
OpenSSL 1.1.1  11 Sep 2018


Und jetzt verstehe ich Überhaupt nichts mehr.

von Richman (Gast)


Lesenswert?

Also irgendwas stimmt mit deinen Zertifikaten nicht ... bzw. es ist 
ungewöhnlich das du unterschiedliche Signaturalgorithmen hast:

CA.crt
1
...
2
Signature Algorithm: sha256WithRSAEncryption
3
...

server.crt
1
...
2
Signature Algorithm: sha384WithRSAEncryption
3
...
1
...
2
Signature Algorithm: sha384WithRSAEncryption
3
...

Wie hast du die PKI erstellt? Mit EasyRSA? Du hast noch folgendes 
geschrieben:
> Hatte die Ca erst vor kurzen von Md5 weg.

Wie hast du das angestellt?

von Richman (Gast)


Lesenswert?

Achja und wenn möglich bitte nochmal die vollständige OpenVPN log file 
hier posten.

Mich interessieren die Logeinträge vor diesem Eintrag:

> Wed Jan  1 17:28:49 2020 us=296405 xx.xxx.xxx.101:54923 OpenSSL: 
error:1417C086:SSL routines:tls_process_client_certificate:certificate verify 
failed

von bauer (Gast)


Angehängte Dateien:

Lesenswert?

Guten Morgen,
im Anhang das Log.

Richman schrieb:
> Wie hast du die PKI erstellt? Mit EasyRSA? Du hast noch folgendes
> geschrieben:
>> Hatte die Ca erst vor kurzen von Md5 weg.
>
> Wie hast du das angestellt?

Ich habe dazu die Datei openvpn-ssl_n.cnf angepasst (auch im Anhang) und 
eine neue CA erstellt, mit EasyRSA.
Alle Zertifikate ausgetauscht.
War aber bei einigen Maschinen sehr viel Aufwand.

Danke für die Hilfe.
Habe ich ne Chance es nochmal zu reparieren?

von Martin (Gast)


Lesenswert?

Server ip im log.
Ansonsten gleich erste Zeile: Key falsche Rechte.
Hauptgrund: Crl certificate expired von Client mit der Gmail adresse (us 
35810)

von Martin (Gast)


Lesenswert?

Ich bin auch bei netcup ;-)

von bauer (Gast)


Angehängte Dateien:

Lesenswert?

Nochmal das Log

von Richman (Gast)


Lesenswert?

Alles klar! In der Logfile steht folgendes:

Mon Jan  6 09:29:58 2020 us=35147 xxx.xxx.xxx.xxx:57577 VERIFY ERROR: 
depth=0, error=CRL has expired: C=IT, ST=BZ, L=Truden, O=My Org, 
OU=Office, CN=pier, emailAddress=xxxx.xxxx@gmail.com
Mon Jan  6 09:29:58 2020 us=35180 xxx.xxx.xxx.xxx:57577 SSL alert 
(write): fatal: certificate expired
Mon Jan  6 09:29:58 2020 us=35219 xxx.xxx.xxx.xxx:57577 PKCS#11: 
__pkcs11h_openssl_ex_data_free entered - parent=0x55d8f1bd66c0, 
ptr=(nil), ad=0x55d8f1bd6728, idx=1, argl=0, argp=0x7f3f35d87842
Mon Jan  6 09:29:58 2020 us=35299 xxx.xxx.xxx.xxx:57577 OpenSSL: 
error:1417C086:SSL routines:tls_process_client_certificate:certificate 
verify failed

CRL expired ist das Problem. Du musst die CRL datei neu erstellen und 
das Problem sollte sich damit beheben lassen:
1
easyrsa gen-crl

Diese generiert eine neue Datei (crl.pem). Die findest du, wenn ich mich 
nicht irre, im Ordner "/etc/openvpn/easyrsa/pki/".

Anschließend folgende Datei "/etc/openvpn/keys/2019ca/crl.pem" mit der 
neu erstellten ersetzen

von bauer (Gast)


Lesenswert?

Richman schrieb:
> Alles klar! In der Logfile steht folgendes:

Ja Super das wars!!!
Vielen vielen Dank!!!
Was genau für eine Aufgabe hat die crl?

Ich bin so Glücklich das es jetzt geht!

von Richman (Gast)


Lesenswert?

Freut mich das es funktioniert hat!

CRL (Certificate Revocation List) auf gut Deutsch Zertifikatsperrliste. 
Hat die Aufgabe in bzw. OpenVPN Zertifikate zu blocken die von dem CA 
ausgestellt/signiert worden sind. Es kann verschiedene Gründe haben 
Zertifikate zu sperren: Beispielsweise falls Zertifikate kompromittiert 
wurden.

Falls es nicht beabsichtigt war eine Zertifikatsperrliste zu nutzen, 
kannst du auch die Zeile in der config "crl-verify ..." entfernen.

Am besten schaust du dir die OpenVPN Doku hierzu an: 
https://openvpn.net/community-resources/revoking-certificates/

von bauer (Gast)


Lesenswert?

Eine Frage habe ich noch.
Wie lautet der Befehl um den crl.pem neu zu erzeugen?
Nochmal vielen vielen Dank

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.