Passwort-Management mit FreeIPA

Sicher verstaut

Passwörter sollen sicher, aber leicht zu merken sein – ein Widerspruch, der sich nur schwer auflösen lässt. Abhilfe schaffen oftmals Passwort-Manager, die alle Passwörter zentral speichern. Der Open-Source-Tipp dieses Monats zeigt, dass es auch anders funktionieren kann, etwa mit dem Identity-Management-Framework FreeIPA.
Die Zusammenarbeit im Unternehmen wird immer dynamischer und flexibler. Aus diesem Grund wirft IT-Administrator in der April-Ausgabe einen Blick auf die ... (mehr)

Jeder kennt das Problem: Passwörter sollen lang sein, möglichst viele Zeichen enthalten, von denen einige bitte schön auch aus dem Bereich der Sonderzeichen und Zahlen zu wählen sind. Dann sind sie sicher, aber leider auch nur schwer zu merken. Deshalb gibt es eine Vielzahl von Tools, mit denen sich die schwer merkbaren Passwörter in einer Art Safe hinterlegen lassen. Er wird wiederum mit einem Master-Passwort geschützt und gibt die darin enthaltenen Passwörter nur dann wieder frei, wenn es richtig eingegeben wurde. Dafür erhält der Anwender dann aber zumeist Zugriff auf das komplette Inventar des Safes. Das Tool KeePass [1] ist ein bekannter Vertreter aus der Open-Source-Welt.

Key Recovery Authority

Eine etwas andere Art von Passwort-Safes stellen sogenannte Key Recovery Authorities (KRA) dar. Sie sind oftmals Teil einer größeren Identity-Management-Lösung und bieten sowohl Benutzern wie auch Diensten unterschiedliche Formen von Passwort-Safes – sogenannte Password-Vaults [2] – an. Diese stehen dann nicht nur lokal auf einem Client, sondern netzwerkweit zur Verfügung. Die Idee dahinter ist, dass ein verlorener privater Benutzer-Schlüssel einfach wiederhergestellt werden kann, da eine Kopie im Passwort-Safe hinterlegt ist.

Seit Version 4.2 verfügt auch das Identity-Management Framework FreeIPA über solche Passwort-Vaults, in denen sich alle möglichen Daten sicher aufbewahren lassen. Beim Einlagern dieser Daten werden diese mit einem Session-Key verschlüsselt. Bei Bedarf wird dieser entweder mit einem weiteren symmetrischen oder asymmetrischen Schlüssel codiert. Das Ergebnis ist dann ein Paket, bestehend aus dem eigentlichen Secret (die Daten) und den verwendeten Schlüsseln. Beides zusammen wird dann nochmals mit dem öffentlichen Schlüssel der KRA-Instanz verschlüsselt und an das FreeIPA-System geschickt. Dort wird das ganze Paket mit Hilfe des privaten Schlüssels der KRA-Instanz wieder ausgepackt. Somit erhält diese Zugriff auf die eingesetzten Schlüssel und das eigentliche Secret. Dieses wird erneut mit einem Storage-Schlüssel codiert, bevor es schließlich im LDAP-Backend hinterlegt wird. Ein sogenannter Escrow-Officer kann Zugriff auf einen Safe bekommen, sodass eine Entschlüsselung der Daten auch dann noch möglich ist, wenn der Eigentümer selbst das Passwort für den Zugriff auf den Safe nicht mehr kennt.

Architektur

FreeIPA verwendet für diese KRA-Funktion ein Subsystem der eingebauten Dogtag Certificate Authority. Das System nennt sich Data Recovery Manager (DRM) und lässt sich zusätzlich zu dem eigentlichen FreeIPA-Setup installieren:

# dnf install ipa-kra-install

Im Anschluss stehen drei Formen von Safes zur Verfügung: Im Standard Vault werden die Daten lediglich mit einem zufälligen Session-Key verschlüsselt. Der Symmetric Vault verschlüsselt die Daten zusätzlich noch einmal mit einem frei wählbaren Passwort. Dies ist der Default-Safe. Beim Asymmetric Vault kommt zum Verschlüsseln der Daten zusätzlich zum Session Key ein öffentlicher Schlüssel zum Einsatz. Zum Entschlüsseln wird entsprechend der dazugehörige private Schlüssel benötigt.

Diese drei Arten von Safes können nun wiederum in drei unterschiedlichen Containern zum Einsatz kommen. Im seinem User Container kann jeder Benutzer beliebig viele Safes anlegen, um dort Daten sicher zu speichern. Die Safes sind dabei nur für die jeweiligen Benutzer sichtbar. Administratoren können geteilte Container (Shared Container) erzeugen. Mehrere Benutzer erhalten Zugriff auf die Safes in einem gemeinsam genutzten Container. Da auch Dienste mit privaten Daten arbeiten, bekommen diese einen eigenen Service Container zugewiesen, in dem sie verschlüsselte Daten hinterlegen können. Der Zugriff auf diese erfolgt dann ebenfalls nach erfolgreicher Authentifizierung eines Dienstes – etwa mit Hilfe eines Kerberos-Tickets.

comments powered by Disqus
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2023