Diese Anleitung beschreibt, wie wir die notwendigen Zertifikate für eine laufende OpenVPN 2.5 Server- / Client-Umgebung erstellen.

Vorbereitungen

Damit die Zertifika-Erstellung korrekt funktioniert, müssen wir das Verzeichnis easy-rsa in einem Pfad haben, welcher keine Leerzeichen enthält. Momentan ist dies bei uns in C:\Program Files\OpenVPN\easy-rsa. Daher verschieben wir dies nach C:\easy-rsa.

Als erstes benötigen wir noch kein CMD, sondern können dies auch mittels Explorer erledigen. Wir wechseln ins Verzeichnis easy-rsa (C:\easy-rsa) und benennen folgende Datei um:

vars.example in vars (ohne Endung)

Danach wird das vars editiert (mittels einem gängigen Texteditor) und wir passen folgende Zeilen unseren Bedürfnissen an (# am Anfang wird entfernt). Meistens werden diese Angaben auf eine Person oder eine Firma gezielt angegeben. Generell ist man aber komplett frei.


Achtung: Diese Informationen sollten keine Sonderzeichen beinhalten. Ansonsten gibt es bei der Generierung der Keys Fehler.

set_var EASYRSA_REQ_COUNTRY     "CH"
set_var EASYRSA_REQ_PROVINCE    "ZH"
set_var EASYRSA_REQ_CITY        "Zuerich"
set_var EASYRSA_REQ_ORG         "MeineFirma AG"
set_var EASYRSA_REQ_EMAIL       "support@meinefirmag.ch"
set_var EASYRSA_REQ_OU          "IT Networking

Die weiteren Optionen im vars-File können nach eigenem Ermessen angepasst werden. Erwähnenswert sind:

set_var EASYRSA_KEY_SIZE 2048 (Eventuell auf 4096 ändern)

Einmaliges Setup (init-pki)

Nach der ersten Konfiguration der einzelnen Dateien (wie oben beschrieben) setzen wir die Umgebung und bereinigen (einmalig) unseren Zertifikatsspeicher. Dazustarten wir das Batch-File: EasyRSA-Start.bat. Sämtliche Befehle, welche im weiteren Teil dieses Artikels beschrieben sind, stellen sich aus folgenden Teilen zusammen:

easyrsa [Befehlsname]

Wir führen easyrsa init-pki aus. Dieses bereinigt unseren Zertifikatsspeicher und führt erste Voreinstellungen durch. Achtung: Dies überschreibt sämtliche zuvor erstellten Zertifikate!

Zertifikate erstellen

Nun beginnen wir mit der Erstellung der einzelnen Keys. Sämtliche nachfolgenden Arbeiten erledigen wir alle in der offenen Konsole. Folgende Keys werden in diesem Abschnitt erstellt:

CA (build-ca)
DH (gen-dh)
CRL (gen-crl), für mögliches Revoken der Zertifikate

Server-Zertifikat-Request
Client-Zertifikat(e)-Request
Server-Zertifikat-Signierung

Client-Zertifikat(e)-Signierung

CA, DH & CRL

Das Erstellen von CA, DH und CRL Keys via Konsole ist eine einmalige Angelegenheit. Dazu starten wir das Batch-File: EasyRSA-Start.bat.

CA

Wir generieren den CA Key mittels easyrsa build-ca (mit den Eigenschaften, welche wir mittels vars angegeben haben), indem wir einfach mit Enter bestätigen.

  • Das Passwort (Enter New CA Key Passphrase) merken wir uns, dies ist für die Erstellung der weiteren Zertifikate notwendig und kann frei gewählt werden.
  • Der Common Name kann frei gewählt werden: In unserem Fall wählen wir den Servernamen.
  • Der Common Name darf keine Sonderzeichen enthalten.

DH

Als nächstes erstellen wir den DH Key mittels easyrsa gen-dh. Achtung: Bei einer Schlüssellänge von 4096 kann das Generieren der DH-Parametern mehr als eine Stunde andauern. Dies je nach Systemleistung.

CRL

Wir generieren die CRL-Revoke-Möglichkeit mit easyrsa gen-crl. Das verlangte Passwort ist jenes, welches wir unter build-ca gesetzt haben.

Server-Zertifikat

Nun generieren wir den Private Server Key mittels den beiden Befehlen:

easyrsa gen-req Server nopass 
easyrsa sign-req server Server
  • Der Common Name kann frei gewählt werden: In unserem Fall wählen wir den Servernamen.
  • Den Sign-Request müssen wir mit yes bestätigen.
  • Zum Signieren (sign-req) wird das unter DH eingegebene Passwort verlangt.

Client-Zertifikat(e)

Request

Nun generieren wir den Client-Key mittels

easyrsa gen-req Client01 nopass
  • Wir geben beim „Common Name“ den Clientnamen (in unserem Fall bleibt der so, also keine Eingabe. Kann frei gewählt werden) an, um später mehrere Clients im Logfile des Servers unterscheiden zu können.
  • Der Common Name darf keine Sonderzeichen enthalten.

Signieren

Nun generieren wir das Client-Cert mittels

easyrsa sign-req client Client01
  • Client01 in unserem Befehl muss mit dem Request-Namen oben übereinstimmen.
  • Den Sign-Request müssen wir mit yes bestätigen.
  • Zum Signieren (sign-req) wird das unter DH eingegebene Passwort verlangt.

Zusammenfassung Zertifikate

Nun sind die notwendigen Keys erstellt. Bei einer Client-Installation sind immer folgende Keys notwendig:

ca.crt (C:\easy-rsa\pki\)
Client01.crt
(C:\easy-rsa\pki\issued)
Client01.key
(C:\easy-rsa\pki\private\)

Die restlichen Keys sind privat und werden den Clients nicht mitgegeben.

OpenVPN 2.5 Installation

Weiter installieren wir den Server und konfigurieren die Clients mittels folgendem Artikel:

Kommentar schreiben

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