CA Planung

vorhergehende Artikel in: Linux Security
11.09.2014

Ich habe nun schon seit zwei Jahren mit dem Gedanken gespielt, eine eigene CA aufzubauen. Durch den Ablauf eines Zertifikates (und mangelnde Maßnahmen beim Signieren meinerseits - Stichwirt:TSA) war ich nunmehr gezwungen, mir Gedanken zu machen, woher ich ein neues Zertifikat zum Codesigning bekomme...

Vorüberlegungen

Kommunikation zum "Kunden"

"Kunden" (Ich lasse ab hier mal die Anführungszeichen weg...) ist ein schwammiger Begriff. Ich werde ihn daher präzisieren: Als Kunden identifiziere ich zwei unterschiedliche Personenkreise (wobei ich mich hier auf juristische Personen beziehe): Der eine Personenkreis ist der, dessen Mitglieder aktiv mit mir interagieren: Personen, die Zertifikatsrequests an mich stellen und von mir beglaubigte Zertifikate erhalten. Der zweite Personenkreis besteht aus Kunden, die den von mir ausgestellten Zertifikaten vertrauen sollen. Personen, die zum ersten Kreis gehören sind automatisch Mitglieder des zweiten. Zentraler Punkt einer CA ist alSo., Kunden davon zu überzeugen, ihr zu vertrauen. Wie stellt man dieses Vertrauen her?

Meiner Ansicht nach muß man hier in hinreichende und notwendige Gesichtspunkte unterscheiden: Notwendige Gesichtspunkte sind dabei: Transparente Policy der CA für den Kunden, sowie für den Kunden nachvollziehbare Absicherung der Geheimnisse (der CA und der Kunden) und des Betriebes der CA. Weitere Gesichtspunkte sind die Zukunftssicherheit und das Customer Relationship Management.

Absicherung

Bei der Absicherung der CA gilt es, zwei Gesichtspunkte zu betrachten: Die Sicherheit sämtlicher Geheimnisse der CA vor unbefugtem Zugriff ist der eine, die Absicherung des Betriebes der CA gegen Störungen ist die andere.

Geheimnisse

Hier werden folgende Sicherungsmaßnahmen greifen:
Dedizierten Rechner benutzen
Dieser Rechner erhält ein Betriebssystem und die für den Betrieb der CA benötigte Software - sonst nichts.
Netzwerkverbindung kappen
Es werden nicht nur alle Netzwerkinterfaces entfernt - das Betriebssystem wird so modifiziert, dass auch bei nachträglichem Hinzufügen von Netzwerkinterfaces keine Netzwerkverbindung etabliert werden kann.
Mehr-Faktor Authentifizierung einrichten
Mindestens zwei Faktoren werden für die Authentifizierung an dem Rechner notwendig sein.
CA auf removable Media sichern
Die CA (die Daten der CA) werden auf einem externen Speichermedium gesichert.
Removable Media verschlüsseln
Das externe Speichermedium wird verschlüsselt.
Removable Media sichern und Backup verschlüsseln
Nach jeder Interaktion mit der CA wird eine Sicherheitskopie des externen Speichermediums angelegt und validiert.

Betrieb

Stromausfall

Die CA wird mittels einer USV gegen einen Stromausfall abgesichert - da nur die Transaktionen gepuffert werden müssen (Ausstellen eines Zertifikats, Zurückziehen,...) sind nur geringe Pufferzeiten notwendig. Daher genügt eine Pufferbatterie mit geringer Kapazität.

Hardwareausfall

Dem Ausfall des Rechners wird durch ausreichende Dokumentation des Prozesses beim Aufsetzen von Hardware, Betriebssystem und Software entgegengewirkt. Durch Befolgen der Anleitung kann man rasch einen neuen Rechner aufbauen.

Dem Ausfall des externen Speichermediums wird durch eine strikte Policy zur Erstellung und Validierung von Sicherheitskopien entgegengewirkt.

Softwareausfall

Sicherheitslücken und Fehler des Betriebssystems und der Software werden, sobald bekannt, getestet (Backward Compatibility) und nach Bestehen der Tests in das System eingearbeitet: Der Rechner wird neu mit den entsprechenden Patches und Fixes aufgesetzt und die Anleitung im gleichen Zuge entsprechend aktualisiert.

Zukunftssicherheit

Wenn wichtige biologische Komponenten ausfallen, ist der Bestand und damit die Sicherheit der Kunden bedroht. Daher muss die Gesamtdokumentation räumlich getrennt von den Gegebenheiten, in denen gewöhnlich mit der CA gearbeitet wird untergebracht werden. Darüber hinaus muss ein Zugang eingerichtet werden, der als Notfall Fallback dient: Die Zugangsdaten und -mittel (Mehr-Faktor-Authentifizierung!) müssen räumlich getrennt von den Gegebenheiten, in denen gewöhnlich mit der CA gearbeitet wird untergebracht werden.

Customer Relationship Management

Kunden werden an das baldige Ende der Gültigkeitsdauer ihrer Zertifikate erinnert. Das geschieht immer per EMail und auf Wunsch per Post.

Artikel, die hierher verlinken

PKI beziehungsweise CA selber bauen

11.09.2016

Mein Vorschlag zur einfacheren, effizienteren Arbeit mit PKI

TSA mit openssl im Eigenbau

06.03.2016

Ich habe nach den ersten theoretischen Vorüberlegungen begonnen, eine ernstgemeinte CA aufzusetzen. Beim Konfigurieren dieser Infrastruktur zum Anbieten der Dienstleistungen einer Timestamp Authority (TSA) stieß ich auf Schwierigkeiten, für deren Lösung ich erst in meinen Weihnachtsferien einen geeigneten Ansatzpunkt fand.

Vier-Augen-Prinzip bei Login mit PAM

16.01.2016

Zwang zur Anwesenheit mehrerer Personen zur Anmeldung als Systemuser - beispielsweise zur Verwaltung einer CA.

Auditing User Interactions mit Linux

26.12.2015

Wie in einem der vorhergehenden Artikel beschrieben, beschäftige ich mich mit Gedankenexperimenten zum Thema Certificate Authority. Hier nun ein weiterer Aspekt dazu...

Webstart und Certificate Chains

05.07.2015

Ich habe nach den ersten theoretischen Vorüberlegungen begonnen, eine ernstgemeinte CA aufzusetzen. Bei den diversen Tests, die ich durchführte, um die korrekte Funktionsweise zu testen, stieß ich auf eine Schwierigkeit, die ich bisher noch nicht umschiffen konnte.

Alle Artikel rss Wochenübersicht Monatsübersicht Github Repositories Gitlab Repositories Mastodon Über mich home xmpp


Vor 5 Jahren hier im Blog

  • Certstream, InfluxDB, Grafana und Netflix

    16.04.2019

    Nachdem ich vor kurzem über mein erstes Spielen mit dem certstream berichtete, habe ich weitere Experimente gemacht und die Daten zur besseren Auswertung in eine InfluxDB gepackt, um sie mit Grafana untersuchen zu können.

    Weiterlesen...

Neueste Artikel

  • Die sQLshell ist nun cloudnative!

    Die sQLshell hat eine weitere Integration erfahren - obwohl ich eigentlich selber nicht viel dazu tun musste: Es existiert ein Projekt/Produkt namens steampipe, dessen Slogan ist select * from cloud; - Im Prinzip eine Wrapperschicht um diverse (laut Eigenwerbung mehr als 140) (cloud) data sources.

    Weiterlesen...
  • LinkCollections 2024 III

    Nach der letzten losen Zusammenstellung (für mich) interessanter Links aus den Tiefen des Internet von 2024 folgt hier gleich die nächste:

    Weiterlesen...
  • Funktionen mit mehreren Rückgabewerten in Java

    Da ich seit nunmehr einem Jahr bei meinem neeun Arbeitgeber beschäftigt und damit seit ungefähr derselben Zeit für Geld mit Python arbeite, haben sich gewisse Antipathien gegenüber Python vertieft (ich kann mit typlosen Sprachen einfach nicht umgehen) - aber auch einige meiner Gründe, Python zu lieben sind ebenso stärker geworden. Einer davon ist der Fakt, dass eine Methode in Python mehr als einen Wert zurückgeben kann.

    Weiterlesen...

Manche nennen es Blog, manche Web-Seite - ich schreibe hier hin und wieder über meine Erlebnisse, Rückschläge und Erleuchtungen bei meinen Hobbies.

Wer daran teilhaben und eventuell sogar davon profitieren möchte, muß damit leben, daß ich hin und wieder kleine Ausflüge in Bereiche mache, die nichts mit IT, Administration oder Softwareentwicklung zu tun haben.

Ich wünsche allen Lesern viel Spaß und hin und wieder einen kleinen AHA!-Effekt...

PS: Meine öffentlichen GitHub-Repositories findet man hier - meine öffentlichen GitLab-Repositories finden sich dagegen hier.