TLS Probleme mit OpenVPN / Oder wie installiere ich weitere CA Root Zertifikate?

Status
Für weitere Antworten geschlossen.

nicht ich

Benutzer
Mitglied seit
20. Dez 2013
Beiträge
91
Punkte für Reaktionen
1
Punkte
14
Hallo!

Ich versuche schon seit langem mein OpenVPN wieder zum laufen zu bringen.
Kurze Vorgeschichte: Seit 5.0-4493 Update 5 (Wechsel des OpenvpnServer von 2.3.3 auf 2.3.4) funktioniert meine Konfig nicht mehr. Nach langem hin und her hier im Forum, wandte ich mich an den Support und der sagte: Neuinstallieren. Gemacht getan.

Nun habe ich wieder Zeit gefunden den entfernten Client zu versuchen einzubinden, doch es funktioniert dort auch nicht mit der bestehenden Konfig. Gut neue Konfig angelegt (auch neues Zertifikat importiert).

Zum debugen starte ich die Konfig direkt per CLI (Putty). Ich habe folgendes im Log (IPs habe ich verfremdet):
Anhang anzeigen ovpn-serverlog.txt
Anhang anzeigen ovpn-clientlog.txt

Am Server wird der Verbindungsversuch im GUI angezeigt, aber der User ist "[UNDEF]". Ist ja irgendwie logisch
Wie man unschwer erkennen kann gibt es Probleme mit dem Zertifikat, bzw. dem TLS Handshake, weil es mit der CA Probleme gibt:

Mo Nov 17 11:01:15 2014 VERIFY ERROR: depth=1, error=unable to get local issuer certificate: /O=CAcert_Inc./OU=http://www.CAcert.org/CN=CAcert_Class_3_Root

Ich habe mein Server-Zertifikat bei CACert signiert. CACert ist aber leider eine CA, deren Root nicht auf allen (eher auf keinen) Systemen vorinstalliert ist.
Muss ich hier noch das CAcert Root Cert am Client installieren? Habe mal gegoogelt aber nix dazu gefunden, weiß jemand wie das geht? Bei Windows weiß ich es :D, aber bei Synology Linux ... :confused:

Der Server ist eine DS 214 mit DSM 5.1 und der Client ist eine DS 213j noch mit DSM 5.0 - 4493 Update 5.
Bin gerade am Überlegen, ob ich ihn nicht auch auf 5.1 update... <- just done!

Update:
Habe zwischenzeitlich noch einen Test durchgeführt, der die Problematik mit dem zu importierenden CA Root Cert bestätigt:
Einfach mit WGET ein File von dem NAS downloaden, bzw versuchen und das ganze als HTTPS:

DS214>wget https://sub.mydomain.net/web_images/icon.png
--2014-11-17 15:32:34-- https://sub.mydomain.net/web_images/icon.png
Resolving sub.mydomain.net... 60.145.244.75
Connecting to sub.mydomain.net|60.145.244.75|:443... connected.
ERROR: cannot verify sub.mydomain.net's certificate, issued by '/O=CAcert Inc./OU=http://www.CAcert.org/CN=CAcert Class 3 Root':
Unable to locally verify the issuer's authority.
To connect to sub.mydomain.net insecurely, use `--no-check-certificate'.


Ich versuche gerade irgendwie das Root CA und Class 3 CA zu importieren. Mein bisheriger Ansatz:
wget http://www.cacert.org/certs/root.crt http://www.cacert.org/certs/class3.crt
cp root.crt /usr/local/share/ca-certificates/mozilla/cacert-root.crt
cp class3.crt /usr/local/share/ca-certificates/mozilla/cacert-class3.crt

was fehlt ist ein Äquivalent zum Debian Befehl "update-ca-certificates".
 
Zuletzt bearbeitet:

nicht ich

Benutzer
Mitglied seit
20. Dez 2013
Beiträge
91
Punkte für Reaktionen
1
Punkte
14
Lösung gefunden!!!

Wie füge ich ein vertauenswürdige Certification Authoriy (CA) hinzu? In diesem Fall CA-Cert?

Wie im vorheringen Post zu sehen, vertraut DSM dem CA Root Zertifikat von CACert nicht und lehnt daher die Verbindung zu dem Server mit einem CACert signiertem Zertifikat ab.
Diese Problem kann ganz einfach mit wget getestet werden, kann aber Auswirkung auf alle angebotenen Dienste haben. Bei mir war konkret das Problem, dass dem CA des Server-Zertifikats für eine OpenVPN Verbindung nicht vertraut wurde.

Lange Rede kurzer Sinn: So macht man es unter DSM 5.x:

Beispiel an CACert:
Rich (BBCode):
#CA Root und Class 3 (Zwischenzertifikat) downloaden:

wget http://www.cacert.org/certs/root.crt http://www.cacert.org/certs/class3.crt

#In das Standverzeichnis unter DSM für Zertifikate kopieren
cp root.crt /usr/share/ca-certificates/mozilla/cacert-root.crt
cp class3.crt /usr/share/ca-certificates/mozilla/cacert-class3.crt

#Link ins Systemverzeichnis erstellen
ln -s /usr/share/ca-certificates/mozilla/cacert-class3.crt /etc/ssl/certs/cacert-root.pem
ln -s /usr/share/ca-certificates/mozilla/cacert-class3.crt /etc/ssl/certs/cacert-class3.pem

# Hash Link erstellen
cd /etc/ssl/certs
ln -s cacert-root.pem `openssl x509 -hash -noout -in cacert-root.pem`.0
ln -s cacert-class3.pem `openssl x509 -hash -noout -in cacert-class3.pem`.0

#Testen
openssl verify -CApath /etc/ssl/certs cacert-root.pem
openssl verify -CApath /etc/ssl/certs cacert-class3.pem

Real Test:
wget https://my.domain.net/web_images/icon.png
--2014-11-22 12:11:40-- https://my.domain.net/web_images/icon.png
Resolving my.domain.net... 30.139.21.66
Connecting to my.domain.net|30.139.21.66|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 66279 (65K) [image/png]
Saving to: 'icon.png'

100%[======================================================================================================>] 66,279 --.-K/s in 0.03s

2014-11-22 12:11:41 (2.03 MB/s) - 'icon.png' saved [66279/66279]
 
Zuletzt bearbeitet:

nicht ich

Benutzer
Mitglied seit
20. Dez 2013
Beiträge
91
Punkte für Reaktionen
1
Punkte
14
Es hat sich ein Typo eingeschlichen, leider kann ich meinen Post nicht mehr bearbeiten. Hier die Korrektur:


Code:

#CA Root und Class 3 (Zwischenzertifikat) downloaden:

wget http://www.cacert.org/certs/root.crt http://www.cacert.org/certs/class3.crt

#In das Standverzeichnis unter DSM für Zertifikate kopieren
cp root.crt /usr/share/ca-certificates/mozilla/cacert-root.crt
cp class3.crt /usr/share/ca-certificates/mozilla/cacert-class3.crt

#Link ins Systemverzeichnis erstellen
ln -s /usr/share/ca-certificates/mozilla/cacert-root.crt /etc/ssl/certs/cacert-root.pem
ln -s /usr/share/ca-certificates/mozilla/cacert-class3.crt /etc/ssl/certs/cacert-class3.pem

# Hash Link erstellen
cd /etc/ssl/certs
ln -s cacert-root.pem `openssl x509 -hash -noout -in cacert-root.pem`.0
ln -s cacert-class3.pem `openssl x509 -hash -noout -in cacert-class3.pem`.0

#Testen
openssl verify -CApath /etc/ssl/certs cacert-root.pem
openssl verify -CApath /etc/ssl/certs cacert-class3.pem
 

nicht ich

Benutzer
Mitglied seit
20. Dez 2013
Beiträge
91
Punkte für Reaktionen
1
Punkte
14
Ok, das war noch nicht die Lösung.

Lösungsbeschreibung für den Fehler
Mo Nov 17 11:01:15 2014 VERIFY ERROR: depth=1, error=unable to get local issuer certificate: /O=CAcert_Inc./OU=http://www.CAcert.org/CN=CAcert_Class_3_Root

ist hier zu finden: http://forum.synology.com/enu/viewtopic.php?f=173&t=84908
 

FischimGlas

Benutzer
Mitglied seit
16. Jul 2015
Beiträge
9
Punkte für Reaktionen
0
Punkte
0
Sei so gut und übersetz´ mir grad´ die Antwort auf eben das Problem. Ich tat mich als Newbie fortgeschrittenen Alters auf Linux schon schwer damit, dieser Anleitung zu folgen. Ich bin froh, dass ich soweit gekommen bin. Mit dem, was die hinter dem Link diskutieren kann ich kaum etwas anfangen.

Ich raff´s einfach nicht.

EDIT:

Deine Schritte sind hunterprozentig richtig. DIe Datei, die ich zur Authentifizierung hatte, war falsch. Der wget-Befehl zum Download der *.crt war für mich nicht der richtige. Trotzdem danke. Du hast mir sehr geholfen.
 
Zuletzt bearbeitet:

nicht ich

Benutzer
Mitglied seit
20. Dez 2013
Beiträge
91
Punkte für Reaktionen
1
Punkte
14
Hi there,

I had the exact same issue with my StartSSL certificates and OpenVPN. Here is what worked for me:

- Concatenate the startssl root CA with the startssl class1 certificate:

Code: Select all
$ cat ssl.ca.pem ssl.sub.class1.server.ca.pem > ca.crt



- In DSM -> Security -> Certificate, import your certificate, but use the ca.crt file generated above as intermediate certificate.
- Restart the VPN server
- Re-export the config to the clients

That should do it.

Auf gut deutsch eine neue ca.crt Datei erstellen, die das Root und das Class1 / Class3 und das Server zertifiakt zusammen beinhaltet. Diese neue CA.crt muss dann beim Openvpn Client benutzt/ importiert werden
 
Zuletzt bearbeitet:

linuxdep

Benutzer
Mitglied seit
02. Jan 2009
Beiträge
584
Punkte für Reaktionen
11
Punkte
38
also bei mir hift das nicht, immer der selbe fehler bei DMS6.. auf einer DS214.

habe aber ein eigene Zertifikat erstellt mit openssl, Browser akzeptiert es, nur openVPC Client hat damit ein Problem.
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat