Schritt für Schritt - Anleitung
Die hiermit erstellten Zertifikate erfüllen "explicit key usage and extended key usage based on RFC3280 TLS rules" und funktionieren mit:
- *--remote-cert-tls client|server
*--ns-cert-type client|server
*--verify-x509-name
*--tls-verify
*--tls-crypt (ab OpenVPN v 2.4)
Ziel dieses Beitrags ist die Möglichkeit zu einfachen Erstellung von OpenVPN-Zertifikaten mit Hilfe der XCA-Software.
Diese Software ist zur Vereinfachung der Schlüsselverwaltung gedacht und unter Sourceforge.net zu finden
In Hinblick auf eine hohe Sicherheit müssen bei der Zertifikatserstellung bestimmte Richtlinien erfüllt werden.
Vor allem die Option
Code: Alles auswählen
remote-cert-tls server
Code: Alles auswählen
remote-cert-tls client
In diesem How To werden zum einen Templates bereitgestellt und zum anderen eine Schritt für Schritt-Anleitung zum Erstellen der Zertifikate geliefert.
XCA-Einstellungen:
Zuerst wie im Bild gezeigt SHA512 einstellen

XCA-Templates für ca, Server und Clients importieren:
1. Zum Reiter "Templates" wechseln
2. "Import"-Button klicken. dann die hier im Post verlinkten Templates (ca.xca, server.xca und clients.xca) auswählen.
3. Alle 3 markieren/auswählen.
4. "Import All"-Button klicken.

Templates anpassen - gezeigt anhand des ca-Templates - Server und Client sind identisch:
Schritt 1:
1. ca-Template markieren
2. Templates öffnen

Schritt2:
Reiter "Subject" markieren/auswählen.
Alles bis auf "commonName" ausfüllen. Siehe Beispiel:

Schritt 3:
Schritt 1 und Schritt 2 für das server-Template und clients-Template wiederholen
Hiermit sind die Templates angepasst und wir können mit der eigentlichen Zertifikatserstellung beginnen.
Zertifikate mit XCA für ca, Server und Clients generieren:
Zuerst wird das ca-Zertifikat erstellt!
Zum Reiter "Certificates" wechseln
Schritt 1:
"New Certificate"-Button klicken.

Schritt 2:
Zum Reiter "Source" wechseln
1. "Create a self signed certificat with serial:" auswählen. Die Zahl dahinter ist eine "1"
2. "SHA512" auswählen
3. bei "Template for the new certificate" unbedingt "ca" auwählen
4. "Apply All"-Button klicken.

Schritt 3:
Zum Reiter "Subject" wechseln
1. "Internal Name" und "commonName" als "ca" benennen
2. "Create New Key"-Button klicken
3. "Keysize" auf "4096" setzen
4. Haken bei "Remember as default" anwählen
5. "Create"-Button klicken

Folgende Meldung erscheint:

Schritt 4:
"OK"-Button klicken:

Folgendes Fenster erscheint:

Das "ca-Zertifikat" wurde erfolgreich generiert!
Nun müssen für Server und jeden einzelnen Client die Schritte 1 bis 4 wiederholt werden.
Im Folgenden werden nur die Unterschiede beschrieben!
Server-Zertifikat:
bei Schritt 2 muss folgendes beachtet werden: <-WICHTIG
1. "Use this Certificat for signing:" auswählen. Dahinter wird "ca" ausgewählt. (Diese habe wir gerade erstellt)
3. bei "Template for the new certificate" unbedingt "server" auwählen

bei Schritt 3 muss folgendes beachtet werden: <-WICHTIG
1. "Internal Name" und "commonName" als "server" benennen
Das "Server-Zertifikat" wurde erfolgreich generiert!
Client-Zertifikate:(wahrscheinlich mehrere)
bei Schritt 2 muss folgendes beachtet werden: <-WICHTIG
1. "Use this Certificat for signing:" auswählen. Dahinter wird "ca" ausgewählt. (Diese habe wir gerade erstellt)
3. bei "Template for the new certificate" unbedingt "client" auwählen

bei Schritt 3 muss folgendes beachtet werden: <-WICHTIG
1. "Internal Name" und "commonName" für jeden Client untereschiedlich benennen.
Das "Client-Zertifikat" wurde erfolgreich generiert!
Die Zertifikatserstellung ist jetzt abgeschlossen

Jetzt müssen wir die Zertifikate nur noch exportieren:
Zertifikate aus XCA exportieren:
Zum Reiter "Certificates" wechseln.
Schritt 1:
1. Zu exportierende Zertifikate auswählen. Es ist möglich mehrere gleichzeitig auszuwählen!
2. "Export"-Button klicken

Schritt 2:
1. Speicherort auswählen
2. Als "Export Format" folgendes auswählen: "PKCS # 12 with Certificate chain"

Schritt 3:
Das Passwort sollte nur dann gewählt werden, wenn sich die Clients manuell verbinden.
Bei dem Server und bei Dienst-gebundenen Clients darf kein Passwort gesetzt werden!

Die Zertifikate wurden erfolgreich exportiert!
Nun ist das How To beendet und ich denke es hilft dem einen oder anderen

Anbei noch die Templates, die Zertifikate aus dem Beispiel und die komplette Datenbank ohne Passwort:
Download im Forum (nur bei Anmeldung): Alternativ auf Website:
DOWNLOAD
Es ist nicht gestattet diesen Text und/oder die Bilder zu kopieren!
[/b]
Suchmaschinenoptimierung:
OpenVPN-Option:
Zitat Anfang"--remote-cert-tls client|server
Require that peer certificate was signed with an explicit key usage and extended key usage based on RFC3280 TLS rules.
This is a useful security option for clients, to ensure that the host they connect to is a designated server.
The --remote-cert-tls client option is equivalent to --remote-cert-ku 80 08 88 --remote-cert-eku "TLS Web Client Authentication"
The key usage is digitalSignature and/or keyAgreement.
The --remote-cert-tls server option is equivalent to --remote-cert-ku a0 88 --remote-cert-eku "TLS Web Server Authentication"
The key usage is digitalSignature and ( keyEncipherment or keyAgreement ).
This is an important security precaution to protect against a man-in-the-middle attack where an authorized client attempts to connect to another client by impersonating the server. The attack is easily prevented by having clients verify the server certificate using any one of --remote-cert-tls, --verify-x509-name, or --tls-verify"-Zitat Ende
Schlüsselverwaltung / Schlüsselerstellung / Schlüsselmanagement mit XCA ; Certificate and Key management;RSA-, DSA- und EC-Schlüssel ; .p12 PKCS # 12; OpenVPN mit erhöhter Sicherheit ; Alternative zu EasyRSA ; X509-Zertifikate erzeugen mit XCA ; Zertifikate erzeugen mit XCA ; How to Create Certificates with XCA ; Schlüsselverwaltung mit XCA – OpenVPN ; X509.v3-Zertifikate erzeugen mit XCA ; Zertifikatsverwaltung ; Erstellen der OpenVPN-Zertifikate ; openvpn mit persönlichen Client Zertifikaten und Authentifizierung ; XCA Schritt für Schritt Anleitung ; XCA HOWTO ; XCA Anleitung ; XCA Bildanleitung ; XCA Templates ; XCA Beispieldatenbank ; XCA Beispiel