Die ersten Schritte zur eigenen CA

Die Netzwerke in privaten Umgebungen werden immer komplexer. Heutzutage sind meist schon mehrere Computer, Smartphones, Tabletts etc. vorhanden. Da ist es dann nur logisch, dass man beim Kauf von weiteren Geräten, wie z.B. Druckern, Mltifunktionsgeräten und dergleichen darauf achtet, daß diese zentral von allen bereits vorhandenen Geräten nutzbar sind. Die Wahl fällt dann meist auf im Netzwerk integrierbare Geräte (LAN-Fähig, WLAN-Fähig).
Ebenso halten immer mehr Geräte zur Automation des täglichen Lebens (Smart Home, Hausautomation) in unser Heim Einzug.

Die meisten dieser Geräte bringen die Möglichkeit mit, eine sichere Kommunikation, mit Zertifikaten geschützt, einzurichten. Das Problem nur: woher die Zertifikate nehmen? - Gekaufte Zertifikate sind für die heimische Kommunikation fast mit Kanonen auf Spatzen geschossen. Firmen haben für diesen Fall eine eigene CA (Certificate Authority), mit der sie entsprechende Zertifikate selbst ausstellen können.

Hier zeige ich auf, wie man sich auch für den privaten Bereich ohne große Resourcen aufbauen kann.

Achtung: Ich empfehle den hier beschriebenen Aufbau ausschließlich für den Betrieb in Heimnetzwerken. Für Firmen sollten höhere Sicherheitsstandards angesetzt werden und mindestens eine zweistufige Certification Authority aufgebaut werden. Grundlegende Informationen, die ich hier beschreibe gelten jedoch auch für größere CA-Implementierungen.
Die Voraussetzungen
Für den Heimbetrieb (oder auch für Firmenadmins, die sich mit einer CA in einer Testumgebung befassen möchten) möchte ich hier den Ausbau einer sog. einstufigen CA. Dies bedeutet, alle Zertifikate, die für die Geräte und Benutzer ausgestellt werden, werden direkt von unserem Root-Zertifikat unterschrieben. Es werden keine Zwischenzertifikzierungsinstanzen aufgebaut. Dies hat den Nachteil, dass ich ggf. jedes Endzertifikat einzeln zurückziehen muss und kann nicht durch einfaches ungültigmachen eines Zwischenzertifikates eine größere Anzahl auf einmal zurückziehen. In Kleinstumgebungen ist dies durchaus handelbar.

Ein paar mindeste Voraussetzungen bringt die Einrichtung einer eigenen CA für den Heimbetrieb jedoch schon mit sich:

  • Einen Rechner mit Microsoft Windows, macOS oder Linux
  • Das kostenlose Softwaretool XCA
  • Eine Backup-Möglichkeit
  • Einen Webserver, der von alles Clients aus, die mit den Zertifikaten arbeiten sollen, per http (unverschlüsselt) erreichbar ist
Ich gehe einmal davon aus, dass ein Computer zum Betrieb vorhanden ist. Dieser muss nicht dauerhaft laufen, er wird lediglich dann benötigt, wenn neue Zertifikate ausgestellt werden sollen, Zertifikate zurückgezogen werden sollen oder Sperrlisten generiert werden müssen.

Die Software ist kostenlos erhältlich. Sie kann unter https://hohnstaedt.de/xca/ heruntergeladen werden. Unter verschiedenen Linuxderivaten kann sie auch aus dem Standard-Softwarerepsository geladen werden. Ich selbst verwende u.a. ein Debian-System, hier ist die Software bereits im Repository enthalten und kann einfach per sudo apt install xca installiert werden. Unter Windows ist es eine "typische Weiter, Weiter, Fertigstellen"-Installation und unter macOS wird die App einfach per Drag & Drop in den Programme-Ordner gezogen.

Eine Backup-Möglichkeit für die XCA-Datenbank ist zwar nicht zwingend erforderlich, ich empfehle jedoch dringend, eine Sicherungskopie anzulegen. Geht das Root-Zertifikat (resp. der private Schlüssel des Root-Zertifikats) verloren, so kann man keine neuen Zertifikate mehr unterschreiben und auch keine Sperrlisten mehr erstellen.

Ein Webserver ist auch nicht unbedingt erforderlich, jedoch dringend empfohlen. Ohne Webserver ist es nicht möglich, Sperrlisten zu veröffentlichen und damit hat man keine Möglichkeit, Zertifikate vor Ablauf der Gültigkeit zurückzuziehen. Dies kann erforderlich sein, wenn versehentlich der private Schlüssel publik geworden ist, wenn Geräte, auf denen Zertifikate installiert sind, kaputtgehen oder ohne sie zurückzusetzen verkauftwerden oder, oder, oder, da kann es zahlreiche Gründe geben.
Der Webserver muss von allen Geräten erreichbar sein, die mit den selbst ausgestellten Zertifikaten arbeiten sollen. Sind es ausschließlich Geräte, die im eigenen Heimnetzwerk laufen, so kann hierfür ein kleiner Raspberry Pi Zero o.ä. eingesetzt werden, wollt ihr jedoch auch mit Bekannten über das Internet zusammenarbeiten (z.B. für E-Mail-Verschlüsselung o.ä.), dann muss der Server im Internet erreichbar sein.

Related Articles