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
Richman schrieb:> Ist die Zeit auf beiden Systemen (Server / Client) synchron? Das> ist> meisten die Hauptursache bei Zertifikatsproblemen
Die Zeiten stimmen
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.
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
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.
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.
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?
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)
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.
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.
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?
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.
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?
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
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.
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.
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
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?
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
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!
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/