[Endian] OpenVPN mit X.509 Zertifikat konfigurieren

Hinweis: Wir haben in diesem Artikel möglicherweise Provisions-Links verwendet und sie durch (*) gekennzeichnet. Erfolgt über diese Links eine Bestellung, erhält maffert.net eine Provision. Es entstehen für Sie keine Nachteile beim Kauf oder Preis.

Ich zeige hier wie man Endian mit dem sicheren Authentifizierungstyp „X.509 Zertifikat“ betreibt und wie man das einrichtet. X.509 Zertifikate ist ein sehr sicherer Weg um Client und VPN-Server zu verbinden und sollte immer bevorzugt werden!

Um die Zertifikate zu erstellen, braucht man ein Linux oder Windows PC mit dem Programm „easyrsa“. Erstmal werde ich erklären wie man das mit einer Linux Kiste umsetzen kann, später dann eventuell noch auf einem Windows PC! Tipp: Debian o.ä. virtuell auf einem Windows via VMware oder VirtualBox installieren 😉

Linux Version um die Zertifikate zu erstellen:

  1. via Putty (SSH) auf die Konsole connecten
  2. OpenVPN installieren
    apt-get install openvpn
  3. Beispielkonfigurationsdateien kopieren:
    cp –R /usr/share/doc/openvpn/examples/easy-rsa/2.0/ /etc/openvpn
  4. /etc/openvpn/2.0/vars editieren
    nano /etc/openvpn/2.0/vars

    und folgendes ganz unten anpassen, z.B. so:

    export KEY_COUNTRY="DE"
    export KEY_PROVINCE="NRW"
    export KEY_CITY="Bielefeld"
    export KEY_ORG="BlablubGmbH"
    export KEY_EMAIL="info@blablub.de"
    export KEY_EMAIL=info@blablub.de
  5. Nun die „OpenSSL“ Konfigurationsdatei anpassen bzw. ergänzen. Öffnen:
    nano /etc/openvpn/2.0/openssl-1.0.0.cnf

    folgendes muss drinne stehen bzw. ergänzt werden (basis.. und nscomment war bei mir schon drinne!)

    [ usr_cert ]
    basicConstraints=CA:FALSE
    nsCertType                        = client
    nsComment                         = "OpenSSL Generated Client Certificate"
  6. Nun in den Ordner „/etc/openvpn/2.0“ wechseln
    cd /etc/openvpn/2.0

    und folgende Befehle ausführen:

  7. source vars

    Liest alle Parameter und gibt sie dementsprechend weiter

  8. ./clean-all

    Löscht alle Daten aus dem /etc/openvpn/2.0/keys Ordner

  9. ./build-ca

    Dieser Befehel erstelltn das CA Zertifikat und den Key. Hierbei darauf achten das bei Common Name was sinnvolles eingetragen wird, z.B. MaffertVPN

  10. ./build-dh

    Diffie-Hellman Schlüssel erstellen

  11. ./pkitool --interact --pkcs12 --server MaffertVPN

    Dieser Befehl wird das Server Zertifikat und der Key erstellt. Hier auch wieder bei Common Name was Sinnvolles eintragen. Ich nehme hier den Endian Host Namen: endian. Die Passwort Frage am Ende kann ignoriert werden, also mit ENTER einfach weiter 😉

  12. ./pkitool --interact --pkcs12 benutzer1

    Dieser Befehl erstellt das Client Zertifikat und den Key für den Benutzer „benutzer1“!

OpenVPN aktivieren und Konfigurieren:

  1. Nun ins Webinterface von Endian gehen > VPN und bei „OpenVPN Server aktiviert“ ein haken rein, wohin gebridget werden (meist in das Interne Netz, sprich Grün) soll und ggf. den IP Pool eingrenzen und auf „Speichern und Neustart gehen
  2. nun unter VPN > Erweitert > „X.509 Zertifikat“ auswählen und bei „Durchsuchen“ das eben erstellte Server Zertifikat auswählen (in dem Beispiel MaffertVPN.p12) und auf „Speichern und Neustart gehen
  3. nun kann man (muss man nicht) unter VPN > Konten noch Konten/Benutzer erstellen, so kann man ggf. dieser Person (VPN-Client) eine bestimmte statische IP oder Nameserver zuweisen

OpenVPN Benutzer/Client Konfigurationsdatei erstellen:

Damit das Programm OpenVPN weiß, wohin er sich verbinden soll und mit was für Einstellungen brauchen wir noch eine OpenVPN Konfigurationsdatei für den Clienten. Hier mal meine Vorlage:

client
dev tap
proto udp
remote 123.456.789.321 1194 # 123.456.789.321 mit der IP des OpenVPN Server ersetzen
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
pkcs12 benutzer1.p12
verb 3
comp-lzo
ns-cert-type server

das unter „benutzer1.ovpn“ (in einem Windows Ordner z.B. „Client1“) abspeichern. Zusätzlich brauch der Client noch:

  • das oben erstellte Benutzer Zertifikat (benutzer1.p12)
  • das auch oben erstellte CA Zertifikat (ca.p12), was aber nach „ca.crt“ umgenannt werden muss

Insgesamt braucht der Client also 3 Dateien: benutzer1.ovpn, benutzer1.p12 und das ca.crt

OpenVPN beim Client installieren:

  1. OpenVPN herunterladen und installieren: http://openvpn.net/index.php/open-source/downloads.html
  2. die Dateien die wir oben „gesammelt“ haben nun nach (bei x86) C:\Program Files (x86)\OpenVPN\config kopieren
  3. OpenVPN starten und unten auf dem aufgetauchten Symbol, rechte Maustaste und auf „Verbinden“ klicken
  4. nun sollte die Verbindung stehen und man kann bei Endian unter VPN, unten die verbundenen Benutzer/Clients sehen

Um später nachträglich Benutzer (Zertifikate) zu erstellen, muss nur in den Ordner „/etc/openvpn/2.0/keys“ gewechselt und folgende Befehle ausgeführt werden:

source vars
./pkitool --interact --pkcs12 benutzer2

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert