Wie teilt ein Team von Systemadministratoren Kennwörter sicher?

83

Was sind bewährte Methoden zum Teilen von Hunderten von Kennwörtern mit einigen wenigen Personen? Diese Passwörter schützen geschäftskritische Daten und können nur von einem kleinen Team angezeigt werden.

Chris Henry
quelle
11
BTW Hunderte ist eine sehr beunruhigende Zahl. Was passiert, wenn eines der Teammitglieder entlassen wird? Das Aktualisieren von Hunderten von Passwörtern wird schmerzhaft sein.
Zoredache
2
Abgeordnet auf die "Hunderte ist eine sehr beunruhigende Zahl" Sache. Ich denke, Sie müssen vielleicht noch einmal überlegen, wie Sie die gesamte Sicherheitssache verwalten, anstatt zu versuchen, das, was Sie gerade haben, mit Heftpflaster zu versehen.
Maximus Minimus
1
Etwas verwandt: serverfault.com/questions/119892 Insbesondere diese Antwort: serverfault.com/questions/119892/company-password-management/…
Nathan Hartley

Antworten:

14

Ich würde wahrscheinlich eine benutzerdefinierte webbasierte Lösung schreiben, die in einem Unternehmensintranet gehostet wird. ( Besuchen Sie http://lastpass.com, um sich inspirieren zu lassen oder um es zu verwenden. Das Teilen von Passwörtern ist eine der Funktionen des Programms, funktioniert jedoch möglicherweise nicht für Ihr Volume.)

EDIT : Sicher, beste Lösung, teile sie nicht. Das Speichern von Klartextkennwörtern auf einem beliebigen Medium ist gefährlich, insbesondere wenn der Zweck des Speicherns darin besteht, sie weiterzugeben. Es gibt nahezu unendlich viele Lösungen, von denen jede eine Gefahr mit sich bringt. Legen Sie sie auf ein verschlüsseltes Image, brennen Sie das Image auf eine einzelne CD, verwahren Sie die CD in einem Safe, den nur ein bewaffneter Wachmann öffnen kann, und lassen Sie sich von autorisierten Personen einen Lichtbildausweis vorlegen, um ihn entsperren zu lassen.

Der Punkt ist, dass wir Ihr Szenario nicht wirklich kennen. Warum teilen Sie Hunderte von geschäftskritischen Passwörtern? Sind sie für Ihr Backoffice-Intranet, VPN oder Kundenpasswörter, die Sie aus irgendeinem Grund im Klartext aufbewahren? Sind alle Personen, mit denen Sie es teilen müssen, in derselben Installation? Funktioniert eine physische Übertragung wie eine verschlüsselte CD oder eine gedruckte Tabelle, die in einem Safe gespeichert ist? Oder sind Ihre Systemadministratoren auf der ganzen Welt verteilt und stellen die einzige Lösung dar , um sie auf elektronischem Wege zu teilen ?

msanford
quelle
50
IMO Der Aufbau eines eigenen Sicherheits- / Verschlüsselungssystems ist so gut wie nie die richtige Herangehensweise an ein Problem.
Zoredache
2
@ Zoredache, das ist eine Menge Mist. Ich finde zwar, dass eine webbasierte Lösung zum Hosten von Passwörtern dumm ist - aber er hat gesagt, Intranet. Trotzdem riskant. Gleiches gilt für alle anderen vernetzten Lösungen.
d -_- b
2
@Zoredache, das OP baut kein benutzerdefiniertes Verschlüsselungssystem auf, es hört sich so an, als ob alles, was er braucht, eine sichere Datenbank ist. @sims Ich sehe nichts falsches an einer gut gestalteten webbasierten Lösung. Die hochgestimmte Antwort legt genau dies nahe (webbasiert! = Http; webbasiert = online gespeichert). Zugegeben, wenn ich diese Frage ein zweites Mal durchlese, stimme ich zu, dass das Grundmodell des Teilens von Tonnen von Passwörtern wahrscheinlich unnötig ist und dass eine bessere Lösung gefunden werden könnte. Aber das OP hat mir nicht genug Informationen gegeben, um dieses Urteil zu fällen…
msanford
2
> @Zoredache, das ist eine Menge Mist. <Ähm, Sims, du fliegst den meisten Verschlüsselungsleuten auf Anhieb ins Gesicht. Das Entwerfen von Verschlüsselung ist schwierig, und die lohnende Verschlüsselung ist noch schwieriger. Deutsch:. Manchmal ist das kleinere Übel - das, das Sie kennen - die bessere Wahl, wenn Sie mit dem Übel konfrontiert werden, das Sie nicht kennen (dh ein Design, das ungeprüft und nicht von Fachleuten geprüft wurde) Bugs, möglicherweise Sicherheitslücken, etc.)
Avery Payne
1
@Avery - Das Entwerfen eines Kryptografiesystems ist schwierig und sollte den Experten überlassen werden, ja. Die Verwendung von bewährten Tools wie GPG für eine gemeinsam genutzte Textdatei oder Keepass (das die .NET-Implementierungen von AES und SHA-256 verwendet) ist kein Entwurf Ihres eigenen Systems.
mfinni
38

Es wird empfohlen, die Kennwörter nicht weiterzugeben. Verwenden Sie Tools wie sudo, um den Benutzern den Zugriff zu ermöglichen, den sie von ihrem eigenen Konto benötigen. Wenn Sie nur wenige Benutzer haben, sollte jeder bei Bedarf über ein eigenes Konto verfügen. LDAP (Unix / Linux) und Active Directory sind eine gute Lösung, um Zugriff auf mehrere Server aus einer gemeinsamen Datenbank zu gewähren.

Wenn eine schriftliche Kopie eines Passworts erforderlich ist, versiegeln Sie es in einem Umschlag, der auf dem Siegel signiert und datiert ist. Ändern Sie das Passwort, wenn es verwendet wird. Wenn das Passwort geändert wird, versiegeln Sie es in einem neuen Umschlag.

Verwenden Sie für Kennwörter, die wirklich freigegeben werden müssen, eines der Kennworttools wie Keepass, dessen Datenbank sich in einem Netzwerk befinden kann. Tools mit Clients für mehrere Plattformen sind besser. Überlegen Sie, ob Sie mehr als eine Datenbank benötigen. Denken Sie daran, dass Sie wirklich jedem vertrauen müssen, der Zugriff auf diese Daten hat.

BillThor
quelle
+1 für nicht privilegierte Benutzer-Accounts für Administratoren mit möglicher Rechteerweiterung, auf * nix-Servern würde ich das mit der Verwendung nur der dsa / rsa-Zertifizierung für sshd kombinieren. Wenn Sie mit grafischen Tools unter Linux arbeiten, können Sie auch eine angepasste Policykit-Konfiguration verwenden.
Aaron Tate
12
Diese. Das Sperren des Zugriffs für Benutzer, die freigegebene Anmeldeinformationen verwenden, ist ein absoluter Albtraum. Delegieren Sie den Zugriff nach Möglichkeit über ein eindeutiges Benutzerkonto. Es gibt immer wieder Situationen, in denen ein gemeinsames Passwort unvermeidlich ist, aber "Hunderte" gemeinsam genutzter Passwörter einen kritischen Konstruktionsfehler hervorrufen.
Chris Thorpe
4
Ich bin damit einverstanden, dass normalerweise keine Kennwörter freigegeben werden, aber es gibt viele Situationen, in denen dies erforderlich ist, z. B. Netzwerkgeräte mit einem einzigen Login, Anbieterseiten, auf denen alle Sysadmins dasselbe Login für die Bestellung verwenden, und SQL-sa-Benutzer oder lokale Administratorkennwörter, bei denen notwendig. Aus diesem Grund ist KeePass meiner Meinung nach das Beste: Es funktioniert auf mehreren Plattformen, bietet ein hohes Maß an Sicherheit und organisiert problemlos Hunderte von Passwörtern.
Paul Kroon
2
Wir haben eine Variante, bei der wir Root-Passwörter aufschreiben, diese aber in einem Safe aufbewahren, der nur dem Systemteam zur Verfügung steht. Unsere Root-Passwörter selbst sind 16 Zeichen lang und werden so generiert, dass sie sich kaum merken lassen. Ja, da gibt es einige Unsicherheiten, aber wenn jemand in den Safe einbricht, haben wir vermutlich größere Probleme.
Frenchie
2
Hier ist ein reales Anwendungsszenario für unser Team: Teilen von Kennwörtern für webbasierte Anwendungen, bei denen nicht mehrere Anmeldungen für ein einzelnes Konto unterstützt werden. Wenn also mehr als eine Person im Team auf dieses Konto zugreifen muss, muss es eine Möglichkeit geben, die Kennwörter für dieses Konto freizugeben.
Jordan Reiter
11

Genau zu diesem Zweck haben wir uns für KeePass entschieden . Es ist ein tolles kleines Programm, das alle Ihre Passwörter in einer verschlüsselten Datenbankdatei speichert. Es gibt zusätzliche Sicherheitsfunktionen, z. B. die Notwendigkeit einer Schlüsseldatei zusammen mit dem Hauptkennwort, um auf die Kennwörter zuzugreifen. Dies ermöglicht mehrere Sicherheitsebenen (trennen Sie die Schlüsseldatei und die Datenbank), während es für alle Benutzer bequem ist, mit den verschiedenen Kennwörtern zu arbeiten. Beispielsweise können Sie die App und die Schlüsseldatei von einem USB-Laufwerk ausführen, die Datenbank jedoch irgendwo in Ihrem Netzwerk speichern. Hierfür sind Anmeldeinformationen für die Netzwerkfreigabe, das Hauptkennwort und das physische USB-Laufwerk mit der Schlüsseldatei erforderlich.

Paul Kroon
quelle
KeePass scheint mehrere Plattformen zu unterstützen, ein großer Gewinn für mich (ich arbeite in einer Umgebung mit gemischten Plattformen). Die Funktion "Auto-Typ" sieht ebenfalls nützlich aus.
Avery Payne
2
Dumme Idee, Passwörter im Netzwerk zu behalten.
d -_- b
1
@ Sims - wie teilt man sie dann? KeePass verwendet eine verschlüsselte Datei für das Geschäft. Es ist nur eine benutzerfreundlichere Version einer GPG-verschlüsselten Textdatei auf einem Unix-Server, auf die jeder Zugriff hat.
Mfinni
1
@Sims - Normalerweise stimme ich Ihnen zu, aber es kommt zu einer Situation von Sicherheit und Produktivität. Ich möchte das Root-Passwort eines Servers nicht in so etwas wie dieses eintragen, aber das Admin-Passwort eines Layer 2-Switches, der nur eine einzige Anmeldung hat, ist ein guter Kandidat dafür. Es gibt einen Punkt, an dem es mehr Arbeit kostet, Dinge sicherer zu erledigen, als nach einer Sicherheitsverletzung aufzuräumen. Zusätzlich zur Verschlüsselung hätten Sie AD / NTFS-Sicherheit für die Datei und ein wenig Unklarheit, wenn Sie die Datei (die beliebig benannt werden kann) an einem zufälligen Ort ablegen.
Paul Kroon
Ich dachte nicht an einen Windows-Computer. Aber ja, wenn Sie nur einen Benutzer für diesen Switch haben können, dann würde es wahrscheinlich Sinn machen. Ansonsten, wie Bill sagt, sagen Sie Nein für gemeinsam genutzte Passwörter, was auch meine Meinung zu Schlüsseln war.
d -_- b
5

Was sind bewährte Methoden zum Teilen von Hunderten von Kennwörtern mit einigen wenigen Personen?

Ganz einfach, das gibt es in zwei Varianten:

  1. Sie nicht, schlicht und einfach. Wenn Sie sich dazu entscheiden, verschieben Sie die Kennwortauthentifizierung an eine externe vertrauenswürdige Stelle und steuern die Authentifizierung von dort aus.

  2. Dabei verfügen Sie jedoch über externe Zugriffskontrollen mit Kennwörtern oder Sicherheitstoken, die nicht in dem von Ihnen verwendeten System aufgezeichnet sind (dh, die Aufzeichnung von Kennwörtern wird durch ein anderes Kennwort geschützt, das nur begrenzt verfügbar ist). Hier gibt es zahlreiche Probleme.

Diese Passwörter schützen geschäftskritische Daten und können nur von einem kleinen Team angezeigt werden.

Sie sollten einen sicheren Authentifizierungsdienst in Betracht ziehen, der in einen Verzeichnisdienst integriert ist, um das Problem zu beheben. Die DS / AS-Kombination erstellt eine vertrauenswürdige "Autorität", die als Vermittler für alle Ihre Benutzer und Geräte fungieren kann. Bei Benutzerkonten kann der Zugriff vom eigentlichen Kennwort für die Authentifizierung abweichen, sodass Kennwörter einfach von der Zugriffsrichtlinie "getrennt" werden können. Die Kontrolle der Passwörter erfolgt durch Deaktivierung des Benutzerkontos. Wenn ein Administrator das Unternehmen verlässt, wird sein Konto einfach geschlossen, und sein Zugriff ist nicht mehr möglich (da das Kennwort dieser Person den Zugriff nur auf der Grundlage der Gültigkeit des DS / AS gewährt, der die Gültigkeit des Kontos bestätigt).

Dies funktioniert nur, wenn Sie sich in einer Umgebung befinden, in der Ihre Geräte / Programme ihre Authentifizierungsanforderungen an externe Quellen weiterleiten können. Daher ist dies möglicherweise keine Lösung für Sie . Wenn Sie einen erheblichen Prozentsatz an Geräten / Programmen haben, die externe Authentifizierung unterstützen, würde ich dies tun, um nur einige hundert Kennwörter auf eine überschaubare Liste von beispielsweise einem Dutzend zusammenzufassen. Wenn Sie sich für diesen Weg entscheiden, gibt es verschiedene, bekannte und erprobte Lösungen von der Stange.

  • Active Directory. Der wahrscheinlich bekannteste der Gruppe bietet Kerberos als Authentifizierungsoption und LDAP für Basis-DS.
  • Samba / Winbind. Stellen Sie sich dies als "Active Directory Light" vor, Sie erhalten nicht alle Funktionen von AD, sondern ein älteres Modell, das auf NT4 basiert (denken Sie an LANMAN-Hash). Dies wird durch die AD-Integration von Samba 4 ersetzt und wird wahrscheinlich "verschwinden".
  • Novell-Verzeichnisdienste. Ich weiß nicht genug darüber, um es zu empfehlen, aber ich weiß, dass es immer noch existiert. Viele Regierungsbehörden betreiben immer noch NDS. Wenn Sie also in diesem "Sektor" arbeiten, ist dies für Sie von Interesse. Novell hat NDS kürzlich für den Betrieb als Linux-Dienst portiert, aber ich weiß nicht, ob das noch ein aktives Produkt ist (circa 2005).
  • LDAP + Kerberos. Dies ist im Grunde genommen "einheimisches" Active Directory, abzüglich aller "netten Funktionen". Es handelt sich jedoch auch um bekannte Komponenten mit einer stabilen, ausgereiften Codebasis. Daher entspricht die Integration dieser Dienste in der Regel dem Grad der "Anpassung", der erforderlich ist, damit die Dinge funktionieren.
  • SSH Keys + (Systemverwaltungsprogramm hier einfügen, wahrscheinlich Marionette). Nur nützlich, wenn Sie SSH auf der ganzen Linie haben und auf alle Geräte auf diese Weise zugegriffen wird. Schlüssel können bei Bedarf ausgehändigt und widerrufen werden, und Kennwörter werden "irrelevant", wenn der SSH-Schlüssel den Zugriff gewährt. Wenn Sie ein System wie Puppet verwenden, können Sie Hunderte von Maschinen aktualisieren, indem Sie Befehle zum Hinzufügen / Widerrufen von SSH-Schlüsseln eingeben.
  • Eine Kombination der oben genannten.

Es ist auch eine Frage, wie viel Sicherheit Sie benötigen. Sie haben nicht angegeben, ob mit "missionskritisch" gemeint ist, dass nukleare Sprengköpfe auf Städte niederprasseln könnten, oder ob "missionskritisch" bedeutet, dass die neueste Lieferung von Furbies nicht in die Stadt gelangt. Es wäre wirklich hilfreich, wenn es etwas gäbe, das eine Risiko- / Bedrohungsbewertung beschreibt.

Avery Payne
quelle
2

Ein paar Dinge:

  • Wie andere gesagt haben, ist dies eine schlechte Idee. Verwenden Sie ein LDAP usw
  • Wenn Sie aus irgendeinem Grund dazu verpflichtet sind, konsolidieren Sie zumindest die Kennwörter. 100 nicht verwaltete Kennwörter bedeuten, dass Sie keine Kennwörter aktualisieren.
  • Halten Sie sie auf Papier. Das Personal muss das Papier mit einer anderen Farbe unterzeichnen, damit leichter festgestellt werden kann, ob ein Blatt kopiert wurde.
  • Wenn Sie unter Unix arbeiten, verwenden Sie S / KEY, um Einmalpasswörter zu generieren. Bewahren Sie das an einem sicheren Ort auf.

Sie müssen auch über die mechanischen Sicherheitsmaßnahmen hinausgehen, die erforderlich sind, um Papierkennwörter in einem Safe abzulegen oder die Kennwörter zu verschlüsseln. Lesen Sie, wie Unternehmen mit ausgereiften Sicherheitsmodellen Schlüssel und sichere Kombinationen sichern. Ich empfehle nicht, das zu tun, was Sie tun möchten, aber wenn Sie es tun:

  • Die Leute, die die Passwörter verwenden, können den Zugriff auf die Passwörter nicht kontrollieren. Eine bestimmte Gruppe von Personen unter einer anderen Verwaltungskette muss den Zugriff auf den Safe, die Schublade usw. kontrollieren. Wenn Sie eine Finanzgruppe haben, kann dies ein Kandidat sein. Vielleicht der Vizepräsident für Marketing usw.
  • Es muss ein schriftliches Protokoll vorliegen, wenn der Safe geöffnet wird und jemand ein Passwort besitzt.
  • Das Passwort muss innerhalb von 24 Stunden nach dem Auschecken geändert werden.

Verfahren wie dieses sind schmerzhaft im Nacken, werden aber als Anreiz für Menschen dienen, vernünftigere Praktiken anzuwenden. Wenn Sie nicht das tun, was ich beschrieben habe, müssen Sie sich nicht die Mühe machen, die Passwörter abzusperren, da Sie sowieso nur eines Tages verletzt werden.

duffbeer703
quelle
2

Ich weiß, dass dies eine alte Frage ist, aber ich bin erst kürzlich auf eine webbasierte Open Source-Lösung namens Corporate Vault gestoßen , die für manche interessant sein könnte. Ich hatte noch keine Gelegenheit, es auszuprobieren.

3deinfluss
quelle
1

Wir verwenden ein Programm namens Password Safe . Es ist schön und sehr sicher. Sie können die Datenbank auf einem Netzwerklaufwerk einrichten und jedem, der Zugriff darauf benötigt, und das Kennwort für den Safe selbst zuweisen, in dem dann alle Benutzernamen und Kennwörter sicher verschlüsselt gespeichert werden.

user44650
quelle
1

https://pypi.python.org/pypi/django-pstore/ verwendet die GPG-Verschlüsselung pro Benutzer für freigegebene Kennwörter (und alle anderen Daten, die Sie möglicherweise freigeben möchten). Der Server kennt keine Passwörter, er speichert nur die verschlüsselten Daten. Jeder verwendet seinen eigenen privaten Schlüssel, um die freigegebenen Geheimnisse zu entschlüsseln.

Das System umfasst eine Rechteverwaltung: Nicht jeder erhält vollständigen Zugriff.

wdoekes
quelle
1

Wir verwenden https://passwork.me als selbst gehostete Lösung. Sie können Kennwörter aber auch in der Cloud speichern.

Iliya Garakh
quelle
Es ist Ihr Produkt Iliya, aber es sieht gut aus.
Foliovision
0

SPB Wallet ist eine gute Lösung, mit der wir PW safe by ghost verwendet haben. Mit SPB Wallet können Sie jedoch sowohl eine Netzwerkfreigabe als auch ein iPhone synchronisieren, wenn Sie die App erhalten. Es hat auch einen eingebauten Passwortgenerator und Sie können sie von einfachen Passwörtern bis zu extrem komplexen Passwörtern generieren. Sie können das Passwort auch kopieren, während das Passwort mit einem Sternchen versehen ist. Wenn also jemand auf der Suche ist, können Sie es kopieren und einfügen, ohne dass jemand das Passwort sieht. Die PC-App wird automatisch gesperrt, sobald für einen festgelegten Zeitraum keine Aktivität erfolgt.

JohnyV
quelle
0

Eine weitere Option ist Azure Key Vault, in dem Ihre Geheimnisse sicher gespeichert werden und Sie programmgesteuert auf sie zugreifen können, Ihre Kennwörter einfach drehen können usw. Keine schöne Benutzeroberfläche dafür, aber wenn Sie mit dem Befehlszeilenzugriff zufrieden sind, ist dies gut.

Rory
quelle
0

Wir empfehlen, so wenig Passwörter wie möglich mit anderen zu teilen.

Daher haben wir zum Beispiel: - Verwenden Sie my.cnf im Stammverzeichnis für Kennwörter zur Datenbank. - Verwenden Sie ssh-Schlüssel, um sich bei Servern anzumelden, und haben Sie ein Root-Kennwort, das nur über die Konsole zulässig ist. Sie müssen also physischen / bmc-Zugriff auf den Server haben ) - benutze ldap überall (ssh, bmc, switch, redmine, ....)

Es gibt jedoch nur wenige Situationen, in denen wir diesen Ansatz nicht anwenden können (z. B. root-Passwort). Dann verwenden wir keepass auf unserem gemeinsam genutzten Speicher, aber wir behalten dort so wenig wie 10 Passwörter, die benötigt werden.

Yarik Dot
quelle
-1

Sehr gute frage Ich würde mich für andere Antworten interessieren.

Hier ist, was ich tue, aber zuerst empfehle ich, Pre-Shared Keys zu verwenden, wo dies möglich ist. Ich weiß jedoch nicht, ob dies mit Windows-Systemen möglich ist.

Da die Anzahl der Passwörter gering sein sollte (Sie verwenden nach Möglichkeit Schlüssel), verwende ich eine mit gpg verschlüsselte Nur-Text-Datei auf einem System ohne Netzwerkkarte. Also (1) benötigen Sie einen physischen Zugang und (2) ein Passwort.

der Übersichtlichkeit halber bearbeitet

d -_- b
quelle
Schlüssel? Wie in USB-Sticks? Physische Schlüssel, die Schlösser öffnen? Smartcard-Schlüssel? GPG-Schlüssel? Passphrasenschlüssel, die nur in der Wetware in Ihrem Kopf existieren? Kombinationen der oben genannten?
Avery Payne
Autoschlüssel! JK. Zur Verdeutlichung meine ich ssh-Schlüssel. Aus diesem Grund habe ich gesagt, dass es möglicherweise nicht möglich ist, vorinstallierte Schlüssel mit Windows zu verwenden.
d -_- b