it-swarm.com.de

Wie kann ich meinen Chef davon überzeugen, dass das Speichern von Passwörtern von Drittanbietern im Klartext eine schlechte Idee ist?

Die Dinge vage halten - Ich arbeite in einem Unternehmen, das Compliance-Probleme für unsere Kunden behandelt. Sehr oft bedeutet dies, dass wir uns für verschiedene Entitäten bei ihren verschiedenen Konten anmelden müssen. Wir speichern ihren Benutzernamen und ihr Passwort, um ihnen das Erinnern und den Zugriff zu erleichtern und um uns in ihr Konto einloggen zu können.

Der Benutzername und die Passwörter scheinen im Klartext gespeichert zu sein, wenn man den vollständigen und totalen Sicherheitsalptraum ignoriert, Anmeldungen für eine Minute gemeinsam zu nutzen. Hurra.

Wie kann ich meinen Chef und die höheren Schichten davon überzeugen, dass A) dies eine schreckliche Idee ist, B) eine bessere Methode/Art, diese zu speichern

58
Selkie

Warum ist es eine schreckliche Idee?

Durch die Aufzeichnung der Anmeldeinformationen anderer übernimmt das Unternehmen eine Haftung. Da das Unternehmen jetzt für Böswilligkeit verantwortlich ist, die bei Verwendung dieser Anmeldeinformationen auftreten kann, sollte das Unternehmen Maßnahmen ergreifen, um das Risiko zu minimieren. Darüber hinaus müssen Unternehmen, die mit Ihnen interagieren, die Verantwortung übernehmen, Ihnen zu vertrauen. Dies kann das Geschäft beeinträchtigen, wenn ein Vorfall an die Öffentlichkeit geht (wie von symcbean erwähnt).

Das Speichern von Passwörtern im Klartext (wie Sie wissen) bietet keinen Schutz gegen dieses Risiko.

Was ist eine bessere Lösung?

Wie Sie in einem Kommentar erwähnt haben, benötigen Sie so etwas wie ein Passwort-Manager. In der Tat ist das, was Sie wollen ein Passwort-Manager.

Da bei der Kryptografie viel Fehler auftreten kann, empfehle ich die Verwendung eines etablierten Passwort-Managers. Sie können unzählige Vergleiche online finden, aber am Ende haben Sie die Wahl zwischen Vergleichen, die auf einer grafischen Benutzeroberfläche (wie 1Kennwort, LastPass, Keepass usw.) basieren, oder solchen, die auf einer CLI für den automatisierten Zugriff basieren (wie Pass oder über die LastPass-Kli).

75
user196499

Ja, du machst etwas schrecklich falsch. Dass sich Ihr Arbeitgeber auf Compliance zu spezialisieren scheint, macht es noch viel schlimmer. Das Geschäft des Unternehmens basiert auf einem Ruf für hervorragende Compliance, den Sie aktiv missachten.

Leider ist es auf allen Ebenen einer Organisation schwierig, Ihre Vorgesetzten davon zu überzeugen, dass das, was sie gerade tun, eine schlechte Idee ist. Wenn ich Sie wäre, würde ich vorschlagen, dass sie überlegen, wie ihre Kunden reagieren würden, wenn:

  • ihnen wurde gesagt, dass Sie ihre Anmeldeinformationen im Klartext speichern (vermutlich ohne Release-/Audit-Kontrolle über die Nutzung).
  • sie lasen in der Zeitung, dass ein anderer Kunde infolge dieser Praxis kompromittiert worden war

Was für ein besserer Ansatz wäre ... Sie möchten wirklich den richtigen Ansatz, der Vertraulichkeit, Integrität, Verfügbarkeit und Budget in Einklang bringt. Es gibt kommerzielle und Open-Source-Produkte, die dabei helfen würden, aber es würde viel mehr Untersuchung und Analyse erfordern, als für dieses Forum angemessen ist.

34
symcbean

Sie möchten die Passwörter der Benutzer überhaupt nicht speichern, auch nicht in KeePass oder ähnlichem.

  • Die Informationen sind standardmäßig ausgeblendet, können jedoch weiterhin problemlos angezeigt werden
  • Passwörter können leicht weitergegeben werden, wodurch die Verantwortlichkeit verloren geht, d. H. Woher wissen Sie, dass es der Benutzer war und nicht jemand anderes, der sein Konto verwendet?
  • Wenn ein Kennwort aktualisiert wird (z. B. ein fehlerhafter Agent entdeckt wird und Sie einen weiteren Zugriff verhindern möchten), muss es überall dort aktualisiert werden, wo es verwendet wird

Dies sind einige Optionen, die nach Szenarien unterteilt sind:

  1. Wenn die von Ihnen verwendeten Systeme Ihre eigenen sind und aktiv gewartet werden, können Sie eine Benutzer-Spoofing-Funktion anfordern. Jede Person mit Administratorzugriff meldet sich mit ihrem eigenen Administratorkonto an, das zu einem beliebigen Benutzerkonto wechseln kann, ohne dass das Kennwort bekannt sein muss. Auf diese Weise haben Sie eine bessere Prüfung. Sie können sehen, dass nicht der echte Benutzer die Aktionen ausführt, sondern der bestimmte Administrator, der den Benutzer fälscht. Dies schützt sowohl Sie als auch den Benutzer, da keiner den anderen der Bosheit beschuldigen kann, es sei denn, es kann nachgewiesen werden, dass der Benutzer das Administratorkennwort oder der Administrator das Kennwort des Benutzers hatte und sein Konto direkt verwendete.

    • Sie kennen nur Ihr eigenes Passwort und können das Passwort eines anderen Benutzers nicht finden, selbst wenn es bedroht ist (ein gutes Hashing-Schema dauert durchschnittlich Hunderte von Jahren, um pro Passwort zu brechen).
    • Sie sind nur für Ihre eigenen Handlungen verantwortlich, nicht für alle anderen
    • Wenn das Kennwort eines Benutzers aktualisiert wird, hat dies keine Auswirkungen auf Sie, da sich dadurch nicht ändert, wie Sie auf sein Konto zugreifen
  2. Wenn die Systeme extern sind, dh von Drittanbietern, können Sie versuchen, dieselbe Art von Benutzer-Spoofing-Funktion auszuhandeln, wobei zu berücksichtigen ist, dass dies für einige Unternehmen möglicherweise eine sehr niedrige oder gar keine Priorität hat, dh niemals auftritt , oder könnte sehr langsam geschehen (denken Sie an Jahre).

  3. Wenn die Systeme nicht mehr gewartet werden, haben Sie kein Glück. Sie können sie aufgrund des Risikos nicht mehr verwenden oder Kennwörter weiterhin lokal speichern und das Risiko akzeptieren.

Denken Sie daran, es geht nicht um wenn ein Verstoß wird passieren, sondern wann ein Verstoß wird passieren.

21
CJ Dennis

Ja, mehrere Dinge. Das Speichern von Passwörtern im Klartext ist offensichtlich eine schlechte Idee. Das Verschlüsseln ist besser, aber normalerweise werden Passwörter überhaupt nicht gespeichert. Stattdessen wird ein irreversibler Hash gespeichert.

Das größere Problem hierbei ist jedoch, dass die Verwendung eines Benutzerkennworts zum Ausfüllen von Formularen bedeutet, dass nicht bekannt ist, wer was mit diesen Kennwörtern gemacht hat. Angenommen, einer der Benutzer in Ihrem Kundenstamm macht etwas falsch, sogar illegal. Sie behaupten, es muss jemand in Ihrer Organisation gewesen sein. Können Sie beweisen, dass es nicht war? Die Benutzer wissen, dass Sie Zugriff auf die Passwörter haben, oder?

Und wie in den anderen Antworten erwähnt, ist es viel wahrscheinlicher, dass Dritte diese Anmeldeinformationen erhalten und verwenden können. In diesem Fall ist Ihre Organisation möglicherweise erneut das Ziel der Schuld.

Wenn ich Sie wäre, würde ich jedem, dem Sie zuhören können, die Risiken erklären. Wenn ich das richtig verstehe, gelten diese Anmeldeinformationen für Systeme von Drittanbietern. Im Idealfall verfügen Sie über Konten auf den Systemen, die für Ihre internen Benutzer bestimmt sind. Wenn Sie dies nicht tun können, sollten Sie versuchen, eine Implementierung zu verwenden, die verhindert, dass Personen in Ihrer Organisation die Kennwörter und Protokolle sehen können, wenn sie auf jedes System zugreifen.

8
JimmyJames

Wenn Sie sich bei einem anderen fremden Konto anmelden müssen, benötigen Sie dessen Benutzernamen und Passwort. Daran führt kein Weg vorbei. Sie können nicht hashen oder verschlüsseln1 Sie brauchen die einfachen Werte.

Das ist natürlich ein Albtraum, da die Benutzer ihre Anmeldeinformationen an Sie weitergeben müssen. Sie vertrauen darauf, dass Sie sie nicht missbrauchen. Angenommen, Sie missbrauchen sie nicht absichtlich (wie den Verkauf auf dem Schwarzmarkt als Teil Ihres Geschäftsmodells), müssen Sie Leckagen verhindern. Dazu gehört, dass Datenverletzungen in Ihrer Infrastruktur oder bei Datenbankadministratoren darauf zugreifen können. Die beste Vorgehensweise hier wäre also sie überhaupt nicht zu speichern. Die Aufgabe Ihres Unternehmens besteht darin, dem Benutzer beim Ausfüllen von Formularen zu helfen, ohne einen Passwort-Manager-Service bereitzustellen. " es [den Benutzern] leichter zu machen, sich zu erinnern ", ihre Anmeldeinformationen sind nicht Ihre Aufgabe.

Eine Lösung könnte darin bestehen, eine Browsererweiterung zu schreiben, die Ihre Benutzer installieren können. Sie melden sich selbst auf ihrem Computer bei diesem ausländischen Konto an, und Ihr Plugin erledigt dort seine Arbeit. Ihr Server kommt nicht einmal mit den Anmeldeinformationen in Kontakt. (Natürlich muss der Benutzer der Erweiterung weiterhin vertrauen, um sie nicht auszuspionieren.).

Wenn dies keine Option ist und die Arbeit, einschließlich der Anmeldung, auf Ihrem Server ausgeführt werden muss, sollten Sie die Benutzeranmeldeinformationen dennoch nicht speichern. Leiten Sie sie einfach an den fremden Anmeldedienst weiter und speichern Sie das Sitzungstoken, das mit der API verwendet werden soll, nur so lange in Ihrer Datenbank, wie Sie es benötigen. Wenn die Datenbank verletzt wird, kann der Angreifer möglicherweise die Sitzungen entführen (schlimmer noch), erhält jedoch kein Klartextkennwort. Lassen Sie den Benutzer die Anmeldeinformationen erneut eingeben, wenn sich Ihr Server mehrmals anmelden muss.

1: Natürlich sollten Sie vertrauliche Daten immer verschlüsseln, wenn Sie sie irgendwo speichern, aber letztendlich muss sich der Schlüssel dazu irgendwo auf Ihrem Server befinden, zu dem Ein mutmaßlicher Angreifer kann ebenfalls Zugriff erhalten.

6
Bergi

Manager sprechen die Geschäftssprache, nicht die Technologie.

Machen Sie eine Schätzung des Risikos, dem Ihr Unternehmen mit diesen Praktiken ausgesetzt ist, ausgedrückt in Währung (USD, EUR, was auch immer angemessen ist). Dafür gibt es verschiedene Methoden. Ein guter Ansatz besteht darin, sowohl ein realistisches als auch ein Worst-Case-Szenario abzuschätzen. Wenn Sie einem Manager mitteilen, dass eine Wahrscheinlichkeit von 10% pro Jahr für einen Sicherheitsvorfall besteht, der das Unternehmen bis zu 5 Millionen Schaden verursachen könnte, sollte dies sein Ohr bekommen.

Neben potenziellen Schäden aus Vertragsansprüchen Ihrer Kundenunternehmen gegen Sie sollten Sie auch zivil- und strafrechtliche Verantwortlichkeiten berücksichtigen, die durch grobe Fahrlässigkeit verursacht wurden. Die Chance, ins Gefängnis zu gehen, ist eine andere Sache, die die Aufmerksamkeit des Managers auf sich zieht.

Wenn in Ihrem Unternehmen ein Risikomanagement vorhanden ist, sollten Sie sich mit den Mitarbeitern von dort über Methoden und Schätzungen abstimmen. Wenn Sie die Unternehmenspraktiken befolgen, wird Ihr Ansatz respektabler.


Die Minimum Vorsichtsmaßnahme, die Sie treffen müssen, besteht darin, einen Passwort-Manager oder ein anderes System zu verwenden, das a) die Passwörter verschlüsselt speichert und b) bei Bedarf nur das benötigte Passwort entschlüsselt.

Idealerweise würden Sie zu einer zertifikatbasierten Methode wechseln, dies hängt jedoch auch von Ihren Kunden ab und liegt nicht vollständig in Ihrer Kontrolle.

Sie sollten auch über eine Kennwortbehandlungsrichtlinie verfügen, die dokumentiert, wie Kennwörter behandelt werden, und Strafen für Verstöße enthält. Ausgangsfilter können eine E-Mail-Katastrophe verhindern.

5
Tom

Ja, das Speichern von Klartext-Passwörtern ist dumm. Wir hatten sogar einen Mitarbeiter, der versehentlich alle "gespeicherten" Passwörter bei einem Copy-Paste-Unfall per E-Mail an eine interne Verteilerliste schickte. Zum Glück waren keine Kunden auf der Liste.

Deshalb haben wir Teampass verwendet, das sehr gut als zentralisierte Datenbank mit Passwortinformationen funktioniert.

Es ermöglicht auch Gruppen mit unterschiedlichen Zugriffsebenen, und jeder Benutzer kann seine eigenen privaten Kennwörter speichern, die niemand sonst lesen kann.

Es wird von einem einzelnen Passwort-Manager eingerichtet, in dem jeder eine Kopie der Passwörter lokal aufbewahrt. Wenn also das Kennwort für einen Dienst aktualisiert wird, sieht jeder dieses Update.

Der Verlauf wird ebenfalls beibehalten, sodass Sie die vorherigen Kennwörter für Service X abrufen können (möglicherweise wurde ein Host nicht aktualisiert und Sie müssen in der Zeit zurückgehen).

https://teampass.net/

3
Criggie

Ein anderer Winkel außer dem Offensichtlichen (den Sie bereits kennen, wie Sie in der Frage zeigen - das Speichern unverschlüsselter Passwörter ist schlecht):

Das Nicht-Teilen/Vergeben von Passwörtern ist oder sollte einer der ersten Punkte in einer Sicherheitsrichtlinie sein. Keine vernünftige Bank, kein Online-Dienst oder irgendein Unternehmen wird jemals nach einem Passwort fragen. Dies ist aus guten Gründen in jedem Benutzer verankert.

Wenn ich Ihr Kunde wäre und Ihr Arbeitgeber mich nach einem Passwort fragen würde, würde ich es Ihnen a) nicht geben und b) ziemlich schnell zu meinem Management laufen. Ich würde sehr versuchen sicherzustellen, dass wir nicht länger Ihr Kunde sind.

Ich gebe mein Passwort nicht einmal an meine eigenen Support-Mitarbeiter weiter (in dem unwahrscheinlichen Fall, dass ich mich während einer Support-Sitzung für sie anmelden muss, werde ich dies selbst tun). Ich habe Sicherheitsüberprüfungen (für Systeme und/oder Anwendungen) erhalten und nie wurde ein tatsächliches Benutzerkonto an die Sicherheitsfirma übergeben. Wenn sie sich anmelden müssen, erhalten sie ihre eigenen temporären Konten. Ich hatte Kunden, die versuchten, mir ihr Passwort mitzuteilen, und ich stelle ziemlich sicher, dass sie sofort unterbrochen werden und sie es selbst eingeben.

TL; DR: Zögern Sie nicht, Ihrem Management diese Antwort zu zeigen - ich wäre ein Kunde, der für Sie verloren geht.

1
AnoE