SSH-Schlüsselverwaltung in großen und gemischten Umgebungen (Linux)

545
Vasily

In jedem Unternehmen, an dem ich arbeitete, war es immer schwer, SSH-Schlüssel zu verwalten. Wir hatten verschiedene Möglichkeiten, sie zu verwalten. Meist waren es jedoch einige CM-Systeme wie Puppet / Chef / Ansible oder nur manuelle Schlüsselkopien oder sogar einige hässliche Bash-Skripte: D

Habe auch gehört, dass einige Leute LDAP oder eine beliebige DB als SSH-Schlüsselspeicher verwenden. Trotzdem benötigen Sie hier eine zusätzliche Automatisierung, beispielsweise ein CM-Tool, um den Schlüssel auf dem Server abzulegen / zu löschen.

Die Frage ist also: Gibt es eine schöne und moderne Methode, die ich nicht kenne? Wie große IT-Unternehmen (wie Google oder Facebook usw.) arbeiten mit Schlüsseln?

0
Ich habe dafür gestimmt, meine Meinung zu schließen. Sie haben Ihre eigene Frage weitgehend mit Puppet / Chef / LDAP beantwortet davidgo vor 6 Jahren 0

1 Antwort auf die Frage

0
Michael Ströder

(Meta: IMO Diese Frage ist nicht meinungsbasiert.)

Wenn Sie über relativ moderne Linux / Unix-Versionen mit einem relativ neuen OpenSSH verfügen, können Sie OpenSSH-Zertifikate verwenden. Wenn Sie mit "MFA" ein Gefühl von "Ticket" haben möchten, können Sie temporäre OpenSSH-Zertifikate ausstellen.

Der Punkt bei OpenSSH-Zertifikaten ist, dass das einzige, was auf sshds Seite installiert werden muss, der öffentliche Schlüssel der SSH-CA ist, auf den mit der Direktive TrustedUserCAKeys in sshd_config verwiesen wird .

Mit den Direktiven AuthorizedPrincipals * können Sie auch einen Satz von Principal-Namen (im Wesentlichen die Benutzernamen) in OpenSSH-Zertifikaten für ein anderes lokales Benutzerkonto akzeptieren.

OpenSSH-Zertifikate sind keine X.509-Zertifikate. Sie haben ein anderes Format, das im Quelltextdokument PROTOCOL.certkeys angegeben ist .

Sie finden auf mehreren Webseiten, wie Sie mit ssh-keygen öffentliche Schlüssel mit einer SSH-CA signieren (z. B. SSH-Zertifikate verwenden ).

Ich habe eine so kleine SSH-CA für einen Kunden implementiert, der als Webdienst ausgeführt wird, um temporäre Benutzerzertifikate auf Basis der Multi-Faktor-Authentifizierung (LDAP und OTP) auszustellen.

An den üblichen Stellen finden Sie mehrere Open Source-Implementierungen. Ich gebe hier absichtlich keine Liste, denn nachdem ich ein paar von ihnen durchgesehen habe, habe ich meine eigene implementiert und möchte daher keine bestimmte Implementierung unterstützen. Dies bedeutet nicht, dass diese Implementierungen nicht funktionieren. Sie haben meine spezifischen Kundenanforderungen einfach nicht erfüllt.

Vorbehalt:

Momentan funktioniert es nur mit OpenSSH oder libssh auf der Clientseite. Kitt unterstützt dies noch nicht. Es gibt auch keine Unterstützung für Netzwerkgeräte und andere spezielle Geräte.

PS: Trotzdem würde ich empfehlen, eine anständige LDAP-basierte Benutzerverwaltung zu verwenden, die Ihnen mehr Informationen gibt, die Sie benötigen.

Interessant. Vielen Dank! Vasily vor 6 Jahren 0
Akzeptiere die Antwort Michael Ströder vor 6 Jahren 0