Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung | Nächste Überarbeitung Beide Seiten der Revision | ||
kb [2016/03/29 08:31] flacco [Active Directory auf invis-Server] |
kb [2016/04/23 08:25] flacco [Paketbenennung und Konfliktverhalten] |
||
---|---|---|---|
Zeile 213: | Zeile 213: | ||
Wie gezeigt sind Anpassungen in allen Einzelpaketen erforderlich. Mittels Conflicts und Requires werden die erforderlichen Paketabhängigkeiten gelöst. | Wie gezeigt sind Anpassungen in allen Einzelpaketen erforderlich. Mittels Conflicts und Requires werden die erforderlichen Paketabhängigkeiten gelöst. | ||
+ | |||
+ | ===== Aufbau einer Public Key Infrastruktur mit easy-rsa ===== | ||
+ | |||
+ | Unter anderem zur Nutzung im invis-Server wurde ein easy-rsa 3.x RPM im Repository "spins:invis:common" gebaut. Die nachfolgende Anleitung beschreibt, wie mit easy-rsa eine PKI manuell aufgebaut wird. Die spätere Verwaltung von Zertifikaten übernimmt auf invis-Servern das Script //**inviscerts**//. | ||
+ | |||
+ | Ab Version 3.0 stellt easy-rsa nur noch ein einziges Script //**easyrsa**// für alle Aufgaben zur Verfügung. Sämtliche Konfigurationsdateien liegen in: <file>/etc/easy-rsa</file> | ||
+ | |||
+ | Vor dem Aufbau einer PKI muss im genannten Verzeichnis die Datei "vars" an die eigenen Bedürfnisse angepasst werden. Es ist im Unterschied zu älteren easy-rsa Versionen nicht mehr notwendig die Variablen in dieser Datei manuell mittels //**source**// in die aktuelle Shell Umgebung zu laden. Dies erledigt //**easyrsa**// selbsttätig. | ||
+ | |||
+ | === Vorbereitung === | ||
+ | |||
+ | Angepasst werden müssen zumindest folgende Zeilen: | ||
+ | |||
+ | Name der PKI:\\ | ||
+ | (Zeile 65) | ||
+ | |||
+ | <code> | ||
+ | ... | ||
+ | set_var EASYRSA_PKI "$EASYRSA/fsp-net.loc" | ||
+ | ... | ||
+ | </code> | ||
+ | |||
+ | PKI individualisieren:\\ | ||
+ | (Ab Zeile 84) | ||
+ | <code> | ||
+ | ... | ||
+ | set_var EASYRSA_REQ_COUNTRY "DE" | ||
+ | set_var EASYRSA_REQ_PROVINCE "Hessen" | ||
+ | set_var EASYRSA_REQ_CITY "Schotten" | ||
+ | set_var EASYRSA_REQ_ORG "FSP Computer und Netzwerke" | ||
+ | set_var EASYRSA_REQ_EMAIL "stefan@invis-server.org" | ||
+ | set_var EASYRSA_REQ_OU "invis-Server.org" | ||
+ | ... | ||
+ | </code> | ||
+ | |||
+ | Die vorgegebene Länge der DH-Parameter ist auf 2048 Bit eingestellt, dies reicht nach gegenwärtigem Stand der Technik aus. Eine Erhöhung auf 4096 Bits verlängert den Bau der DH-Datei immens (Die Rede ist hier von Stunden). | ||
+ | |||
+ | Voreingestellt sind Gültigkeitsdauern für CA und damit signierte Zertifikate von 10 Jahren. Kann man lassen, die Lebensdauer der Zertifikate im Vergleich zur CA zu verkürzen ist auch OK. | ||
+ | |||
+ | Jetzt kann die PKI vorbereitet werden: | ||
+ | |||
+ | <code> | ||
+ | linux:~ # easyrsa init-pki | ||
+ | </code> | ||
+ | |||
+ | Damit wird unter "/etc/easy-rsa" eine Verzeichnisstruktur für die neue PKI angelegt und die Vorbereitungen sind abgeschlossen. | ||
+ | |||
+ | === PKI erzeugen === | ||
+ | |||
+ | Benötigt werden für OpenVPN folgende Komponenten: | ||
+ | |||
+ | - Eine CA zum signieren von Server und Client Zertifikaten | ||
+ | - Eine Diffie-Hellman Parameter Datei für sicheren Schlüsselaustausch | ||
+ | - Eine CRL Datei um Zertifikate zurückzuziehen | ||
+ | |||
+ | |||
+ | **CA erstellen:** | ||
+ | |||
+ | Auch hier genügt ein einziger Befehl: | ||
+ | |||
+ | <code> | ||
+ | linux:~ # easyrsa build-ca | ||
+ | </code> | ||
+ | |||
+ | Beim Bau der CA wird ein Passwort erfragt, dieses Passwort wird später beim signieren von Zertifikaten benötigt. Dieses Passwort darf nicht in falsche Hände gelangen. | ||
+ | |||
+ | **Diffie-Hellman Parameter erstellen:** | ||
+ | |||
+ | <code> | ||
+ | linux:~ easyrsa gen-dh | ||
+ | </code> | ||
+ | |||
+ | **CRL erzeugen** | ||
+ | |||
+ | <code> | ||
+ | linux:~ easyrsa gen-crl | ||
+ | </code> | ||
+ | |||
+ | Hierfür wird wieder das CA-Passwort benötigt. | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
===== DNS-Server bind und LDAP (invis Classic) ===== | ===== DNS-Server bind und LDAP (invis Classic) ===== | ||