Anleitung (How To): OpenVPN-taugliche Zertifikate mit XCA erstellen

Fragen zu OpenVPN, Netzwerktopologien, usw.
Antworten
Benutzeravatar
cerepro
Globaler Moderator
Globaler Moderator
Beiträge: 248
Registriert: Mittwoch 8. April 2009, 23:18
Kontaktdaten:

Anleitung (How To): OpenVPN-taugliche Zertifikate mit XCA erstellen

Beitrag von cerepro »

.
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
bzw.

Code: Alles auswählen

remote-cert-tls client
bereiten mitunter Schwierigkeiten, welche zum Abbruch des Verbindungsaufbaus führen.
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
Bild


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.
Bild


Templates anpassen - gezeigt anhand des ca-Templates - Server und Client sind identisch:
Schritt 1:
1. ca-Template markieren
2. Templates öffnen
Bild
Schritt2:
Reiter "Subject" markieren/auswählen.

Alles bis auf "commonName" ausfüllen. Siehe Beispiel:
Bild
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.
Bild

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.
Bild
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
Bild
Folgende Meldung erscheint:
Bild
Schritt 4:
"OK"-Button klicken:
Bild
Folgendes Fenster erscheint:
Bild
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
Bild
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
Bild
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
Bild
Schritt 2:
1. Speicherort auswählen
2. Als "Export Format" folgendes auswählen: "PKCS # 12 with Certificate chain"
Bild
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!
Bild
Die Zertifikate wurden erfolgreich exportiert!



Nun ist das How To beendet und ich denke es hilft dem einen oder anderen :roll:




Anbei noch die Templates, die Zertifikate aus dem Beispiel und die komplette Datenbank ohne Passwort:
Download im Forum (nur bei Anmeldung):
Templates.rar
Beispieldatenbank.rar
Beispielzertifikate.rar
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
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Netzwerkmanagement auf Wakusi
!! KEIN SUPPORT PER PN !!
Wenn es dringend ist, nach dem Admin fragen auf dem:
Teamspeakserver: wakusi.de

Antworten