OpenVPN mit Andriod 4.1.2 über WAN | TLS Error: TLS handshake failed (gelöst)



  • Hallo Leute,

    vielleicht kann mir ja hier jemand weiterhelfen.

    Ich bin nach folgender Anleitung vorgegangen:
    https://got-tty.org/archives/pfsense-und-openvpn-fuer-android-smartphones.html

    Leider bekomme ich jedes mal folgende fehlermeldung:

    Nov 17 17:12:55 	openvpn[23765]: 89.204.154.225:38541 TLS Error: TLS handshake failed
    Nov 17 17:12:55 	openvpn[23765]: 89.204.154.225:38541 TLS Error: TLS object -> incoming plaintext read error
    Nov 17 17:12:55 	openvpn[23765]: 89.204.154.225:38541 TLS_ERROR: BIO read tls_read_plaintext error: error:140890B2:SSL routines:SSL3_GET_CLIENT_CERTIFICATE:no certificate returned
    Nov 17 17:12:55 	openvpn[23765]: 89.204.154.225:38541 VERIFY ERROR: depth=0, error=unsupported certificate purpose: C=DE, ST=NRW, L=xxxxxxxx, O=xxxxx, emailAddress=xxxxxxxxx@gmail.com, CN=OpenVPN Server 1 Cert
    

    pfSende nutze ich die version 2.2.5 und Als Client habe ich OpenPN for Android und OpenVPN Connect ausprobiert, trotzdem der gleich fehler.

    Ich hoffe es weis jemand was ich falsch mache, da ich leider nicht mehr weiter weis.

    VG



  • Das Problem steht ja eh in Zeile 3, ganz am Ende:
    @M0ng0:

    
    Nov 17 17:12:55 	openvpn[23765]: 89.204.154.225:38541 TLS_ERROR: BIO read tls_read_plaintext error: error:140890B2:SSL routines:SSL3_GET_CLIENT_CERTIFICATE:no certificate returned
    
    

    Dein Client liefert kein Zertifikat an den Server und ohne macht es der Server mit deiner Konfiguration nicht.

    Gehe nochmals in der Anleitung den Abschnitt "Exportieren der OpenVPN-Einstellungen für Android" genau durch.



  • Habe es genau so gemacht.

    Hab es als OpenVPN Connect (iOS/Android) und es mit der dyndsn adresse exportiert.

    Ohne erfolg  :'(

    ich weis echt nicht mehr weiter. bin mehrfach von neu angefangen…



  • Okay, sorry, der Fehler steht in der letzten Zeile des Logs. Die hatte ich gar nicht mehr gelesen, weil eine darüber vermeldet wird, dass kein Zertifikat geliefert wurde.

    Nov 17 17:12:55 	openvpn[23765]: 89.204.154.225:38541 VERIFY ERROR: depth=0, error=unsupported certificate purpose: C=DE, ST=NRW, L=xxxxxxxx, O=xxxxx, emailAddress=xxxxxxxxx@gmail.com, CN=OpenVPN Server 1 Cert
    

    Demnach hast du dem User ein Serverzertifikat zugewiesen.
    Es gibt Zertifikate für unterschiedliche Verwendungszwecke: für die CA selbst, für einen Server oder einen User.
    Keine Ahnung, wie du das geschafft hast. Über den Wizard sollte das nicht passieren.

    Am besten geh nach System > User Manager, editiere den entsprechenden User, lösche bei User Certs das Zertifikat und erstelle da ein neues. Hier können nur User-Zertifikate erstellt werden.
    Wenn du mehrere CAs hast, achte darauf, die richtige auszuwählen. Es muss die gleiche sein, von der das Zertifikat des VPN Servers stammt.
    Dann das Ganze nochmals exportieren.

    Grüße


  • LAYER 8 Moderator

    Richtig, was virago schreibt. Es liest sich, als hättest du versehentlich dem User das gleiche Zertifikat wie dem Server zugewiesen (OpenVPN Server 1 Cert) statt ein User Zertifikat (zu erstellen). Vielleicht auch nur das falsche ausgewählt, aber der Benutzer braucht natürlich (s)ein User Zert, kein Server Zert. :)



  • So leute , danke für eucre Hilfe!
    Es funktioniert jetzt, bin nach folgender Anleitung vorgegangen:
    https://doc.pfsense.org/index.php/OpenVPN_Remote_Access_Server
    scheinbar habe ich tatsächlich bei der anderen etwas übersehen was in der pfsense anleitung deutlicher war.


  • Rebel Alliance

    Dann gratuliere ich Dir.

    Bin seit gut 2 Wochen im Gange eine VPN Lösung für Android zu finden. Mit IPSec bekomme ich das nicht in Gang, obwohl von einer Fritzbox es mit IPSec lief. Gestern mal nach der Anleitung im letzten Post versucht, eine VPN-Verbindung mit OpenVPN herzustellen.

    Ein OpenVPN CA erstellt,
    ein Serverzertifikat erstrellt,
    der User hat sich sein eigenes Userzertifikat mit dem Usernamen als Beschreibung erstellt,
    eine Peer Certificate Revocation List erstellt,
    mit dem Wizard den Server erstellt laut Anleitung, der Server und User bekommen ihre Zertifiate,
    mit dem OpenVPN Client Export die Konfiguration für Android und Android/IOS exportiert und
    im Handy und Tablet mit dem OpenVPN-App importiert.

    Was passiert: Authentifizierungsfehler (tls handshake) und das App meckert mit "authentifizierung failed" zum. Username und Passwort passen. Habe noch nicht versucht, den User komplett zu löschen, kommt als nächstes.

    Habe erstmal die Fresse dick hier. :-\ Bin vielleicht zu blöd, oder habe durch die ganze Spielerei irgendwas verbockt, weiß es nicht.


  • LAYER 8 Moderator

    Hallo Mike,

    IPSec ist nicht umsonst als komplexes Monster "verschrien". Selbst bei einer IPv6 Tagung letztes Jahr hat ein Experte gemeint, dass es schon für sich spricht, dass IPSec - was eigentlich als fester Bestandteil von IPv6 geplant war - wieder rausgenommen wurde. Zum Teil, weil es eben durchaus komplex ist. Lapidare Antwort auf Alternativen: Nimm OpenVPN, ist in den allermeisten Szenarien genauso gut/sinnvoll und wesentlich einfacher zu konfigurieren. Eben auch, weil jeder Hersteller dann doch irgendwelche Einstellungen von IPSec anders nutzt, interpretiert oder implementiert. Siehe allein die Odyssey eine simple Fritzbox mit IPSec mit einer pfSense zu verbinden. Solange AVM<->AVM spricht ist alles toll, sobald ein anderer Hersteller mitredet wirds gruselig.

    Ich würde dir empfehlen, deinen User einfach nochmal zu löschen, Zertifikate etc. ebenfalls und dann nach der Anleitung von Post #5 (https://forum.pfsense.org/index.php?topic=102578.msg572420#msg572420) vorzugehen.
    https://doc.pfsense.org/index.php/OpenVPN_Remote_Access_Server

    Ich muss sagen, dass ich das letzte Mal als ich es schnell einrichten musste, mit dem OpneVPN Wizard + dem Client Export Package mittels 10min eine funktionsfähige Konfiguration hatte, aber manchmal ist da auch Glück dabei :)

    Vielleicht können wir dir weiterhelfen, wenns nicht klappt.

    Grüße


  • Rebel Alliance

    Ich werd verrückt. Es funktioniert. ;D ;D ;D ;D ;D ;D

    Den User gelöscht, alle CA und Certs gelöscht, fein nach Anleitung gegangen. Fertisch…

    Hatte vorher einen Userpasswort mit Groß- Kleinschreibung und Sonderzeichen. Das jetzige nur Alphanumerisch. Kann es daran gelegen haben?


  • LAYER 8 Moderator

    Eventuell könnte so ein Sonderzeichen an irgendeiner Stelle vielleicht ein Problem gewesen sein (eventuell auch auf Android Seite oder beim Importieren auf dem Handy vielleicht als Spezialzeichen interpretiert worden), aber umso besser dass es nun funktioniert hat :D


  • Rebel Alliance

    So, alle Geräte loofen jetzt mit OpenVPN, Linux, Android und Windows. Für die Linuxmaschine mußte ich TLS Authentication deaktivieren.

    Gehe jetzt zufrieden ins Bett. :)



  • Hi,

    ich habe OpenVPN mit dem NetworkManager auf Linux eingerichtet, das geht mit TLS Authentication problemlos. Wird, glaube ich, am Tab "Sicherheit" eingerichtet.


  • Rebel Alliance

    Ja, knapp, der Reiter nennt sich TLS-Legitimation, zumindest beim GNOME Network Manager.  :)

    Die pfsense-upd-1194-xxxxx-tls.key als zusätzliche TLS-Legitimation zufügen, hier noch Richtung 1 einstellen, looft.

    Danke nochal für die Tipps.

    Mike


Log in to reply