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 Codeberg Repositories Mastodon Über mich home xmpp


Vor 5 Jahren hier im Blog

  • Multi-User-WebDAV, Docker, GitHub

    17.11.2019

    Nachdem ich mich in letzter Zeit verstärkt mit Docker und dem zugehörigen Ökosystem beschäftige, habe ich begonnen, verschiedenste Dienste in Containern zu testen um zu sehen, ob in manchen Fällen LXC oder KVM nicht doch die bessere Wahl wäre...

    Weiterlesen...

Neueste Artikel

  • Migration der Webseite und aller OpenSource Projekte

    In eigener Sache...

    Weiterlesen...
  • AutoHideToolbar für Java Swing

    Ich habe eine neue Java Swing Komponente erstellt: Es handelt sich um einen Wrapper für von JToolBar abgeleitete Klassen, die die Werkzeugleiste minimieren und sie nur dann einblenden, wenn der Mauszeiger über ihnen schwebt.

    Weiterlesen...
  • Integration von EBMap4D in die sQLshell

    Ich habe bereits in einem früheren Artikel über meine ersten Erfolge berichtet, der sQLshell auf Basis des bestehenden Codes aus dem Projekt EBMap4D eine bessere Integration für Geo-Daten zu spendieren und entsprechende Abfragen, bzw. deren Ergebnisse auf einer Kartenansicht zu visualisieren.

    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, muss 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 Codeberg-Repositories findet man hier.