OpenVPN Zertifikaterstellung für Clients

    • Official Post

    Heute mal ein Kurzbericht on "HowTo create certificates for OpoenVPN clients". Ich habe das vor ca. 2 Jahren schon schon einmal gemacht sollte also kein BigDeal sein. Vorrausetzung:
    - OpenVPN Server ist eingerichtet
    - OpenVPN Server ist richtig konfiguriert und man kennt die Konfigurationsparamter
    - OpenVPN Clients sind schon erfolgreich getestet worden

    • Man gehe nach C:\Program Files\OpenVPN\easy-rsa
    • Initialisiere die Umgebung mit dem Aufruf von vars.bat
    • Starte build-key.bat <client name>
    • Gebe alle zu ändernden Parameter ein
    • Das neue Zertifikat liegt unter C:\Program Files\OpenVPN\easy-rsa\keys

    ca.crt, <client name>.crt und <client name>.key auf den <client name> rechner und ...openvpn\config kopieren (Annahme OpenVPN ist dort schon installiert. Eine client config erstellen (alte wiederverwenden und crt namen anpassen).
    OpenVPN Gui starten und connect aufrufen -> Verbindung sollte erstellt werden.

    • Official Post

    Heute auf Open VPN 2.4 aktualisiert dabei dann auch gleich mal die Einstellung und die Zertifikatsverwaltung (XCA statt easy-rsa) angepasst.

    Sehr hilfreich waren hierzu die Videos und die templates von


    External Content www.youtube.com
    Content embedded from external sources will not be displayed without your consent.
    Through the activation of external content, you agree that personal data may be transferred to third party platforms. We have provided more information on this in our privacy policy.

    Probleme:

    1. iOS unterstützt das p12 formate nicht - d.h. für iOS Client muss man die Zertifikate mit openssl in drei einzelne "zerlegen"
    2. der TAP driver 9.21.2 funktioniert unter Windows 2008 R2 Server immer noch nicht - musst auf den 9.9.2 zurück (Symptom: Verbindung wird aufgebaut, aber es kommt kein Datentransfer zustande)

    Wichtige Änderungen in der Konfiguration, die ich leichtsinnigerweise bisher nicht drin hatte

    • TLS-AUTH <key> 1|0
    • tls-version-min 1.2
    • cipher auf AES-256-CBC umgestellt
    • auth auf SHA512 gesetzt
    • remote-cert-tls server|client eingeführt
    • verify-x509-name <servername> name wird nun genutzt

    genutzt wird das OpenVPN vom iPad2 / iPadAir2, iPhone7 und mehreren Windows 10 und Windows 7 clients hauptsächlicher Einsatzbereich für lokale Mails und Hausautomatisierung, bzw. bei dauerhaft entfernten Rechnern "synch" mit der Windowsdomäne.

    • Official Post

    Mittlerweile bin ich auf IPFire statt Wingate umgestiegen. Ich nutze dort auch OpenVPN welches sehr einfach über ein WebGui zu andmistrieren ist.

    Das Problem mit p12 Zertifikaten und iOS besteht nat. weiterhin, d.h. man muss mit openssl das Zertifikat zerlegen.


    Hier mal im Detail ein mögliches Skript OLAFSIPHONE7.p12 ist der cert Name welcher von IPFire generiert wurde (liegt unter ipfire im Verzeichnis /var/ipfire/ovpn/certs). Erzeugt Euch am besten einen Ordner auf IPFire und legt dort das script als convert12.sh und die p12 Dateien ab. Passt den CERTNAME an und lasst das Skript laufen. Beim Import das pwd von IPFIre verwenden am Ende dann Euer finales pwd für iOS eingeben. In OpenVPN für IOS könnt ihr dann beim Startwählen ob es gespeichert werden soll also keine Angst Ihr braucht es nicht mehr bei jeder Verbinsungsaufnahme eintippen (darf nein sollte deshalb komplexer sein).


    und die Änderungen im opvpn file damit nicht mehr das p12 sondern die drei einzelnen certs benutzt werden:

    Code
    #pkcs12 OLAFSIPHONE7.p12
    ca OLAFSIPHONE7_ca.pem
    cert OLAFSIPHONE7_user.pem
    key OLAFSIPHONE7_keys_pass.pem


    so sieht es dann in IPFire nach eine erfolgreichen Verbindungsaufnahme aus:


    Ach ja: übertragen der Dateien von IPFire auf einen FTP Server geht einfach via ncftp (mit pakfire installieren). Ein FTP Server muss natürlich bei Euch im Netz vorhanden sein.

    Bsp: ncftp -u <user>-p <password> <euere_ftp_serverip>

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!