OpenVPN-Verbindung funktioniert seit Let's Encrypt Zertifikat nicht mehr

tschw90

Benutzer
Mitglied seit
11. Jan 2021
Beiträge
5
Punkte für Reaktionen
1
Punkte
3
Hallo liebes Synology-Forum,

beim Einrichten des Fernzugriffs mit OpenVPN auf die Synology habe ich nachträglich ein "Let's Encrypt"-Zertifikat installiert. Anschließend habe ich neue Konfigurationsdateien exportiert, angepasst und in OpenVPN sowie Tunnelblick hinzugefügt. Auch habe ich die beiliegenden Zertifikate "ca_bundle.crt" und "ca.crt" auf meinem Macbook per Doppelklick installiert, sodass ich sie zumindest in OpenVPN auswählen kann. Dort erscheinen die Zertifikate nach der Installation als "DST Root CA X3" und "R3" zur Auswahl angeboten. Leider klappt die VPN-Verbindung nach der Umstellung auf Let's Encrypt Zertifikat nicht mehr.

Tunnelblick zeigt mir unter anderem folgende Fehlermeldung an:

2021-01-11 21:17:31.539637 WARNING: No server certificate verification method has been enabled. See http://openvpn.net/howto.html#mitm for more info.
2021-01-11 21:17:31.539653 NOTE: the current --script-security setting may allow this configuration to call user-defined scripts

nach einem Augenblick kommt diese Meldung:

2021-01-11 21:18:31.488815 TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity)
2021-01-11 21:18:31.488924 TLS Error: TLS handshake failed

Leider komme ich mit dem Link aus der ersten Fehlermeldung nicht weiter.

Die Portweiterleitung 1194 UDP über den Router mit Ziel Synology habe ich selbstverständlich eingerichtet. Diese hat vor der Einrichtung von Let's Encrypt auch tadellos funktioniert. Auch die Firewall habe ich innerhalb von Synology und Router dementsprechend geöffnet.
Grundsätzlich werden alle Verbindungen zur Synology über "https" aufgebaut.

Nun komme ich leider an meine Grenzen, mit Zertifikaten sowie deren Funktionsweise und Auswirkungen etc. kenne ich mich leider überhaupt nicht aus. Vorher - also ohne ein Zertifikat - hat die Verbindung über OpenVPN auf jeden Fall geklappt.

Verwendet wird:
Synology DS720+
DSM 6.2.3-25426 Update 3
OpenVPN Connect Version 3.2.5
Tunnelblick 3.8.4a

Kann mir jemand einen Tipp zur Lösung geben?

Vielen Dank euch allen und einen angenehmen Abend.

Tim
 
Zuletzt bearbeitet:

Fusion

Benutzer
Mitglied seit
06. Apr 2013
Beiträge
12.686
Punkte für Reaktionen
479
Punkte
359
Der erste Eintrag ist nur eine Warnung, dass keine explizite Überprüfung nach einem oder mehreren Merkmalen des Server Zertifikats erfolgt.
Das verhindert aber nicht die Verbindung.

Aus dem Export der Syno braucht man nur die ovpn config. Man muss keine Zertifizierungsstelle oder anderes dem System hinzufügen. Sprich ca_bundle und ca kann man ignorieren. Normal hat Mac Osx schon passende Zertifizierungsstellen im System hinterlegt.

Erste Frage: Hast du das gewählte Let's Encrypt Zertifikat unter Systemsteuerung > Konfigurieren dem VPN Server zugeordnet?
Lautet der Name des Zertifikats exakt wie die aufgerufene Domain die du in der config in der dritten Zeile für 'remote' einträgst?

Die fehlgeschlagen TLS Schlüsselaushandlung ist das eigentliche Problem, kann jedoch verschiedene Ursachen haben.
Wenn du vom MacBook testest findet das im lokalen WLAN oder besser über mobilen Hotspot (Mobilfunk Netz) oder anderweitig von extern statt?
 
  • Like
Reaktionen: tschw90

tschw90

Benutzer
Mitglied seit
11. Jan 2021
Beiträge
5
Punkte für Reaktionen
1
Punkte
3
Hallo @Fusion , vielen Dank für deine Rückmeldung.

Dein Hinweis, dass der Name des Zertifikats unter den Synology-Einstellungen genauso wie die Adresse lauten muss, die man in der Config-Datei des Zertifikats einträgt, war der Fehler! Ich hatte gedachte, dass ich hier, aufgrund der verschlüsselten Verbindung über SSL, ein "https://" voranstellen muss. Ohne "https://" kann ich mich nun von allen Geräten von außerhalb des Netzwerkes der Synology über die VPN-Verbindung in das Netzwerk verbinden.

Vier Fragen habe ich noch.

1. Unter Windows als auch Mac erhalte ich mit OpenVPN eine Fehlermeldung, nachdem ich die VPN-Verbindung aktiviere: "Connection Error - Missing external certificate" (unter iOS jedoch nicht). Was bedeutet das und welchen Einfluss hat das auf die Verbindung? Grundsätzlich bin ich ein Freund von tadellosen Abläufen, deshalb stört mich diese "Fehlermeldung" doch etwas. Unabhängig dessen, kann die Verbindung mit einem Klick auf "Continue" aufgebaut und auf andere Geräte (Router, Telefone, etc.) zugegriffen werden - daraus schließe ich, dass die VPN-Verbindung ohne Einschränkung aktiv ist?!

2. Mit Tunnelblick erhalte ich weiterhin die folgenden Hinweise, die Verbindung ist jedoch auch aktiv und der Zugriff erfolgt.
  • 2021-01-13 11:40:30.858529 WARNING: No server certificate verification method has been enabled. See http://openvpn.net/howto.html#mitm for more info.
  • 2021-01-13 11:40:36.026900 *Tunnelblick: Warning: DNS server address xxx.xxx.xxx.xxx is not a public IP address and is not being routed through the VPN.
  • Die vorherige Meldung bekomme ich auch auf die MAC-Adresse.
Besteht hier Handlungsbedarf bzw. kann ich hier etwas einstellen, damit diese Fehlermeldung nicht mehr erscheint? Insbesondere wegen der ersten Meldung.

3. Wie schätzt du die Verbindung in Bezug auf Sicherheit ein?
Die nötigen Ports habe ich im Router als auch der Synology freigegeben bzw. ausschließlich auf die Synology weitergeleitet. Grundsätzlich habe ich die Synology so eingestellt, dass alle Zugriffe über SSL erfolgen. Die OpenVPN-Verbindung habe ich über die Einstellungen für die Verschlüsselung auf AES-256-CBC und die Authentifizierung auf SHA512 gesetzt. Weiterhin habe ich ein Let's Encrypt-Zertifikat allen Diensten (FTPS, Systemvoreinstellung, LDAP Server, Protokollempfang, Hyper Backup Vault, Synology Drive Server und VPN Server) hinzugefügt.

4. Gerne möchte ich von extern Daten von der Synology über "Synology Drive Client" synchronisieren. Dafür habe ich die Ports freigegeben bzw. auf die Synology weitergeleitet. Es erscheint mir jedoch so, dass hier keine weiteren Sicherheitseinstellungen getroffen werden können oder liege ich hier falsch?

Vielen Dank und beste Grüße
Tim
 

Fusion

Benutzer
Mitglied seit
06. Apr 2013
Beiträge
12.686
Punkte für Reaktionen
479
Punkte
359
Zu 1) weiß ich nicht aus dem Stand, muss ich nachschauen.

Zu 2) ist ja ein Link zu einer mehr oder weniger hilfreichen Seite angegeben.
Bekommst du z.b. weg mit Einträgen in der config am Client.
Code:
verify-x509-name vpn.example.com name
remote-cert-tls-server
Das prüft z.b. Den Namen des Zertifikats auf Übereinstimmung mit der Vorgabe in der Config.

Normal läuft nur Traffic über das vpn welcher explizit für das Netz auf der anderen Seite bestimmt ist.
Die Namensauflösung wird aber weiter über das lokale Netz erledigt. Nichts anderes sagt die Warnung.
Entweder redirect-gateway def1 option in der config Datei aktivieren (Kommentarzeichen # entfernen), dann läuft sämtlicher Verkehr über das vpn.
Oder man gibt andere gewünschte DNS resolver vor, Bsp den DNS vom Remote Netz.

Mit dem dritten Punkt weiß ich nicht was du meinst 'Fehler auf MAC Adressen'.

Zu 3)
Da ist das Gesamtbild noch zu Bruchstückhaft.
Prinzipiell würde man in erster Präferenz den VPN Zugang über einen anderen Endpunkt legen. Bsp Router, oder raspi, etc. Damit für den Fall, dass Sicherheitslücken im vpn Dienst auftauchen und ausgenutzt werden ein möglicher Angreifer nicht gleich auf deinem File Server (NAS) angekommen ist.
Du sagst 'Ports', also mehr als nur VPN? Wenn Du die Dienste nur via VPN nutzen willst musst du im Router nur den vpn Port öffnen.
Die vpn Einstellungen sind sonst OK.
Weiter verbessern kann es denke dann nur noch mit tls.keys. Da wird ein weiterer Schlüssel generiert und dieser auf den Client verbracht. Dieser braucht dann eben zum ausweisen nicht nur Benutzer und Passwort sondern auch diese Schlüsseldatei.
Mit SSL etc für andere Dienste hat das nichts zu tun. Da muss man wie gesagt das Gesamtbild betrachten aller möglichen Angriffspunkte. Das geht halt nicht in 2min.

Zu 4)
Drive geht auch über VPN, muss halt ständig aktiv sein der Tunnel zur Nutzung.
Port 6690 für den Sync ohne VPN. Sicherheit ist nur durch Benutzer/passwort/2FA gegeben.