OpenVPN - Ethernet-Tunnel - VERIFY ERROR...

temuco
Goto Top
Ethernet-Tunnel – VERIFY ERROR: depth=0, error=unsupported certificate purpose: C=...


Hallo!

Ich möchte einen Ethernet-Tunnel zwischen mobilen Rechnern (Notebooks) und lokalem Netz realisieren. Das ganze soll mit Zertifikaten abgesichert werden und unter Windows 8.1 64 Bit laufen.

  • Auf dem OpenVPN-Server wurde eine Brücke zwischen dem TAP- und dem Ethernet-Adapter errichtet. Diese hat eine feste IP-Adresse, einen Standardgateway und einen DNS-Server zugewiesen. Der OpenVPN-Server ist darunter im LAN erreichbar und kommt auch ins Internet.
  • Der Router im LAN (Fritz!Box 7490) hat die jeweils für UDP und TCP eine Weiterleitung auf den OpenVPN-Server.
  • Die Firewalls (auf dem OpenVPN-Server und dem Testclient) für die Tests vorsorglich deaktiviert. Dabei handelt es sich auf beiden Rechnern um die Windows-Firewall.
  • easy-rsa ist installiert und konfiguriert. Damit wurden die Zertifikate erstellt:
      • Eine Zeile der Datei openssl-1.0.0.cnf wurde aus Sicherheitsgründen geändert: Aus default_md = md5 wurde default_md = sha512.
      • vars.bat wurde angepasst (u. a. "set KEY_SIZE=2048").
      • Commandline geöffnet.
      • vars.bat ausgeführt.
      • clean-all.bat ausgeführt.
      • Stammzertifikat mit build-ca.bat erstellt.
      • Diffie-Hellman-Parameter für den Schlüsselaustausch mit build-dh.bat erstellt
      • Server-Zertifikat mit build-key-server.bat erstellt.
      • Client-Zertifikat mit build-key.bat erstellt.
      • Zertifikate mit build-key-pkcs12.bat zusammengefasst.
      • Alle Zertifikate mit unterschiedlichen CNs
      • Zertifikate verteilt – Serverzertifikat auf dem OpenVPN-Server und das Clientzertifikat auf ein Notebook.
  • Konfigurationsdateien erstellt:

Server:

Client:

Der Server startet ohne Probleme und wartet munter auf eine Verbindung. Nun starte ich den Testclient: Das merkt der Server, aber dann kommt auf der Clientseite zu einem Fehler. Hier die Logs (Adressen unkenntlich gemacht, da zum Teil statisch und ich nicht weiß, ob ich sie veröffentlichen darf):

Server (www.xxx.yyy.zzz ist die öffentliche Adresse am Client-Router):

Client (aaa.bbb.ccc.ddd ist die öffentliche Adresse am LAN-Router):

Nun man sieht im Client-Log folgendes Fehlermuster:

Das wiederholt sich und es kommt keine richtige Verbindung zustande. Ich habe bereits die Zertifikate mehrmals erstellt, aber ich erhalte immer wieder denselben Fehler und komme leider nicht weiter.

Ich wäre euch unendlich dankbar, wenn ihr mir weiterhelfen könntet.

Grüße

temuco

Content-Key: 258686

Url: https://administrator.de/contentid/258686

Ausgedruckt am: 01.07.2022 um 22:07 Uhr

Mitglied: Chonta
Chonta 30.12.2014 um 11:14:25 Uhr
Goto Top
Hallo,

auf die Schnelle, in der Serverkonfig fehlt das ca Zertifikat.
In der Clientconfig fehlt das ca. Zertifikat und das Diffie-Hellman-Parameter.

Gruß

Chonta
Mitglied: orcape
orcape 30.12.2014 um 11:28:20 Uhr
Goto Top
Hi temuco,
erst mal hast Du einen TLS-Fehler, der schon mal auf ein Problem mit Deinen Zertifikaten hindeutet.
Ich weiß, Du hast Sie mehrmals erstellt, ging mir auch schon so und hier wird wohl....
@Chonta schon einen Ansatz geliefert haben.
Weiter..
musst Du zwingend das TAP-Device verwenden? Das bedeutet kein Routing sondern Bridging und aller Traffic incl. Broadcasts belasten Dir Deinen Tunnel.
Ausserdem zwingend gleicher IP-Range auf beiden Seiten des Tunnels.
Normalerweise ist das TUN-Device dem vor zu ziehen.
In diesem Zusammenhang wäre interessant, wie denn Deine Clients ins Netz gehen.
Gruß orcape
Mitglied: temuco
temuco 30.12.2014 um 12:30:28 Uhr
Goto Top
Hallo Chonta,

ich benutze das pkcs#12-Format. Darin sind ca.crt, server.crt und server.key enthalten.


Dasselbe gilt für den Client. Darüber hinaus ist nach meinem Verständnis kein Diffie-Hellman-Parameter auf dem Client notwendig – lasse mich aber gerne eines besseren belehren.

Herzlichen Dank!

temuco
Mitglied: temuco
temuco 30.12.2014 um 12:47:51 Uhr
Goto Top
Hallo orcape!

Zunächst vielen Dank für deine Antwort!

Zitat von @orcape:

Hi temuco,
erst mal hast Du einen TLS-Fehler, der schon mal auf ein Problem mit Deinen Zertifikaten hindeutet.
Ich weiß, Du hast Sie mehrmals erstellt, ging mir auch schon so und hier wird wohl....
@Chonta schon einen Ansatz geliefert haben.

Bitte siehe meine Antwort an Chronta. Habe ich vielleicht etwas falsch verstanden?

Weiter..
musst Du zwingend das TAP-Device verwenden? Das bedeutet kein Routing sondern Bridging und aller Traffic incl. Broadcasts belasten Dir Deinen Tunnel.
Ausserdem zwingend gleicher IP-Range auf beiden Seiten des Tunnels.
Normalerweise ist das TUN-Device dem vor zu ziehen.
In diesem Zusammenhang wäre interessant, wie denn Deine Clients ins Netz gehen.
Gruß orcape

Es ist eigentlich gewollt. Der DHCP-Server hat einen Ausschlussbereich, der von OpenVPN für die Adressvergabe im gleichen Netz verwendet wird (192.168.70.180 - 192.168.70.199). Die Clients sollen komplett in das Netz eingebunden werden. Das hat zum Teil technische als auch historische Gründe. Wenn das funktioniert, ändert sich gegenüber früher nichts (Windows-Netz über nicht mehr sicheres PPTP). Danach kann ich mir das Routing genauer anschauen, aber jetzt hätte ich Angst, dass vielleicht die eine oder andere alte Anwendung nicht mehr funktioniert.
Mitglied: orcape
orcape 30.12.2014 um 12:49:46 Uhr
Goto Top
Darüber hinaus ist nach meinem Verständnis kein Diffie-Hellman-Parameter auf dem Client notwendig – lasse mich aber
gerne eines besseren belehren.
Das ist wohl richtig, ändert aber nichts an der Tatsache das Du irgendeinen Fehler integriert hast.
Die Logs sind eindeutig...
Mitglied: temuco
temuco 30.12.2014 aktualisiert um 12:54:03 Uhr
Goto Top
Richtig, aber ich finde den Fehler nicht. Deswegen habe ich mich nach einer schlaflosen Nacht an euch gewandt. Das ist mein erstes OpenVPN und die Lernkurve ist doch ein wenig steil, wenn man windowsverseucht ist...
Mitglied: orcape
orcape 30.12.2014 um 13:16:50 Uhr
Goto Top
Na ja, so ganz trivial ist die Sache ja nicht, muss ich zu Deiner Ehrenrettung zugeben..face-wink
Aqui hat hier ein sehr schönes Tutorial geschrieben....
https://www.administrator.de/wissen/openvpn-server-installieren-auf-dd-w ...
Zieh Dir das mal rein, vielleicht fällt Dir ja irgend etwas auf.
Sonst würde ich das ganze noch an Deiner Stelle mal mit CA, Server.crt, Server.key / Client.crt /..key testen.
Irgend ein Kopier-Fehler wird sich da wohl eingeschlichen haben.
Übrigens...
....aber jetzt hätte ich Angst, dass vielleicht die eine oder andere alte Anwendung nicht mehr funktioniert.
Kann ich nachvollziehen und würde ich wohl auch so ran gehen.
Mitglied: temuco
temuco 30.12.2014 um 13:38:54 Uhr
Goto Top
Habe mir das Tutorial zu Gemüte geführt und nur eins entdeckt, was ich nicht gemacht habe. Beim erstellen des Serverzertifikats ist mir im Tutorial folgende Zeile aufgefallen:

Common Name (eg, your name or your server's hostname) []:ovpn-adm-de.dyndns.org

Muss hier die öffentliche Adresse bzw. der (D)DNS-Name stehen, der in der Clientkonfiguration verwendet wird?

Wenn es so wäre, dann habe ich an dieser Stelle den Fehler gemacht.

Nun muss ich alles sichern, um dann neue Zertifikate zu erstellen, die als CN meine öffentliche IP bzw. den DNS-Name enthalten. Ich hoffe, dass dies der Fehler ist.
Mitglied: orcape
orcape 30.12.2014 um 14:25:55 Uhr
Goto Top
Wenn es so wäre, dann habe ich an dieser Stelle den Fehler gemacht.
Das ist wohl nicht die Ursache, war nur als Beispiel genannt und hat so sicher keine Bedeutung.
Common Name (eg, your name or your server's hostname)
Der Common Name sollte frei wählbar sein, wenn mehrere Instanzen aktiv sind, kann man diese dadurch unterscheiden bzw. zuordnen.
Bei der Zertifikatserstellung spielt es keine Rolle wie der Server von Client aus erreichbar ist.
Die statische- bzw. dyndns-Adresse gehört in die Client.conf, damit der Client weiß, wo er den Server findet.
Mitglied: orcape
orcape 30.12.2014 um 15:45:13 Uhr
Goto Top
Die Fehlermeldung ist für mich eigentlich klar....
error=unsupported certificate
Warum versuchst Du nicht mal Zertifikate ohne pkcs12 zu erstellen.
Es ist einiges im Netz über Probleme von OpenVPN mit pkcs12 zu finden.
http://www.ip-phone-forum.de/showthread.php?t=262460
Na mal schauen ob Dir das OpenVPN-Forum weiter hilft....face-wink
Mitglied: temuco
temuco 30.12.2014 um 16:04:36 Uhr
Goto Top
Die Zertifikate habe ich bereits alle einzeln erstellt. Erst in einem anschließenden Schritt werden diese (ca.crt, xyz.crt und xyz.key) in einen pkcs#12-Container zusammengepackt.

Nichtsdestotrotz habe ich deinem Vorschlag befolgt und die Zertifikate einzeln eingebunden – allerdings hat sich dadurch am Fehlerbild nichts geändert. Daher gehe ich davon aus, dass es nicht am pkcs#12--Format liegt und dass dieses richtig bzw. genauso falsch wie die einzelnen Zertifikate arbeitet.

Ich glaube, ich drehe durch!

Herzlichen Dank!

temuco
Mitglied: temuco
temuco 30.12.2014 um 18:52:05 Uhr
Goto Top
Habe einige Beiträge im Internet gefunden, die auf den Fehler hinweisen. Allerdings fehlt mir ein wenig der Background, um eine Lösung daraus zu machen. Abgesehen davon bin ich sehr müde, nachdem ich Stunden erfolglos damit verbracht habe.

Vielleicht kann mir anhand der gefundenen Links weiterhelfen:

http://blog.schmoigl-online.de/?p=787

https://forum.linode.com/viewtopic.php?t=8099%3E

http://openvpn.net/index.php/open-source/documentation/howto.html#mitm

Ich stehe voll auf dem Schlauch.

Herzlichen Dank!

temuco
Mitglied: orcape
orcape 30.12.2014 aktualisiert um 19:38:32 Uhr
Goto Top
Wie ich das verstehe, liegt das Problem bei der Zertifikatserstellung mit folgendem Eintrag...
nsCertType=server
Die Zertifikate werden fälschlicherweise mit diesem Eintrag auch für die Clients verwendet.
Wirst das schon vor Jahresabschluss noch hinbekommen....face-wink
Mitglied: temuco
temuco 30.12.2014 um 20:00:21 Uhr
Goto Top
Hatte ich auch so verstanden. Ich habe die Zertifikate testweise neu erstellt, wobei bevor ich den Testclient gemacht hatte, den Eintrag in "openssl-1.0.0.cnf" auskommentiert habe – ein Schuss ins Blaue, denn das hat auch nicht funktioniert. Mit Sicherheit muss ich ein Bisschen mehr machen, aber mein Hirn schaltet gerade ab.

Vielleicht erbarmt sich ein OpenVPN-Experten-Guru und entlässt mich ins Neue Jahr mit einem kleinen Erfolgserlebnis.

Nochmals herzlichen Dank!

temuco
Mitglied: orcape
orcape 31.12.2014 um 08:36:24 Uhr
Goto Top
In Sachen Zertifikatserstellung bin ich leider auch nicht wirklich fit, gleich gar nicht mit Windows.
Das macht für mich immer die pfSense und da konnte ich mich noch nicht beschweren.
Ausser mit easy-rsa dürfte das aber auch mit weiteren Windows-Programmen machbar sein.
Ob Du das allerdings bis zur Jahreswende schaffst, steht wohl auf einem anderen Blatt.face-wink
Trotzdem Guten Rutsch !

orcape
Mitglied: aqui
aqui 31.12.2014 um 14:52:24 Uhr
Goto Top
Das hiesige OpenVPN Tutorial beschreibt außer Easy RSA noch andere Verfahren wie es unter Winblows gemacht werden kann.
Mittlerweise gibt es auch einen Webservice um solche Zertifikate zu erstellen:
http://www.mobilefish.com/services/ssl_certificates/ssl_certificates.ph ...
Bei sowas sollte man aber immer Vorsicht walten lassen da man solchen Anbietern nicht unbedingt vertrauen kann !
Die anderen Verfahren beschreibt das Tutorial:
https://www.administrator.de/wissen/openvpn-server-installieren-auf-dd-w ...
Mitglied: temuco
temuco 01.01.2015 um 20:11:37 Uhr
Goto Top
Zunächst ein schönes, gesundes und erfolgreiches neues Jahr!

Nach dem gestrigen Raclette mit vielleicht etwas zu viel Rotwein musste ich mich zunächst von den Strapazen erholen. Nun fühle ich mich wieder fit und daher habe ich mir das Problem nochmals angenommen.

Ich habe gegoogelt und viele ähnliche Berichte gelesen, richtig habe ich das Problem aber nicht verstanden. Zumindest weiß ich, dass ich nicht alleine damit bin. Ich erfuhr z. B. dass ab einer gewissen Version (2.1.x) von OpenVPN ein Parameter obsolet und dafür ein anders eingeführt wurde:

Anstelle von ns-cert-type server muss remote-cert-tls server in der Konfigurationsdatei des Client verwendet werden. Damit komme ich ein kleines Stück weiter, denn auf dem Client kommt erscheint im Log kein Fehler mehr:

Client-Log:

Server-Log:

Aus dem Serverlog:


Man sieht in den letzten 20 Zeilen den Fehler, mit dem ich aber wirklich nichts anzufangen weiß. Es gibt viele Beiträge im Internet, die sich damit befassen, ich finde aber keine Linie und damit keine Lösung. Daher würde es mich riesig freuen, wenn ein Experte mir hier weiterhilft.

Im Voraus herzlichen Dank und ein erfolgreiches Jahr 2015!

temuco
Mitglied: orcape
orcape 02.01.2015 um 09:54:01 Uhr
Goto Top
Zunächst ein schönes, gesundes und erfolgreiches neues Jahr!
Das wünsche ich Dir auch!
...und das Du irgendwann die Lösung bei Deinen Zertifikaten findest, denn diese bzw. die Übertragung in die Config-Dateien sind Dein Problem, Du bist weiter auf dem "Holzweg"..face-wink
Nach wie vor hast Du nur "kosmetische Operationen" durchgeführt, die definitiv nicht zum Ziel führen.
..ist eindeutig und...
Anstelle von ns-cert-type server muss remote-cert-tls server in der Konfigurationsdatei des Client verwendet werden.
...ist ebenfalls nicht zutreffend.
Hier mal die funktionierende OpenVPN.conf eines Laptops (Debian, die Plattform spielt aber keine Rolle)....
Die o.g. OpenVPN-Client.conf ist OpenVPN 2.3.4 x86_64 und funktioniert bestens mit ns-cert-type server.
Gruß orcape
Mitglied: temuco
temuco 02.01.2015 um 12:25:26 Uhr
Goto Top
Ich habe die Lösung gefunden. Da der Client das Zertifikat des Servers akzeptiert, nicht jedoch der Server das des Client, habe ich mir letzteres genau angeschaut. Dabei ist mir aufgefallen, dass dieses als Serverzertifikat ausgewiesen wird. Daher habe ich mir die "openssl-1.0.0.cnf" genau angeschaut und folgendes unter "[ usr_cert ]" entdeckt:
Nun habe ich die Zeilen mit "Server" auskommentiert und die mit "client, email" aktiviert:
Anschließend ein neues Clientzertifikat erstellt und eingebunden: Es funktioniert.

Nun kann ich mich jetzt mit der weiteren Konfiguration beschäftigen, wobei ich mit den Routen und dem Standardgateway noch Probleme habe. Aber jetzt habe ich zumindest eine stabile Verbindung unf kann den Rest angehen.

Falls ich weitere Fragen habe sollte – was sicher der Fall sein wird –, werde ich einen neuen Thread erstellen. Diesen markiere ich als gelöst.

Vielen herzlichen Dank für die Hilfe!

temuco
Mitglied: orcape
orcape 02.01.2015 um 12:44:18 Uhr
Goto Top
Vielen herzlichen Dank für die Hilfe!
Gerne doch...face-wink

orcape
Mitglied: aqui
aqui 02.01.2015 um 13:02:27 Uhr
Goto Top
wobei ich mit den Routen und dem Standardgateway noch Probleme habe.
Tips dazu findest du hier:
https://www.administrator.de/wissen/openvpn-server-installieren-auf-dd-w ...
Grundlagen auch hier:
https://www.administrator.de/wissen/routing-mit-2-netzwerkkarten-unter-w ...