Frage:
Soll ich protokollieren, dass ein Benutzer sein Passwort geändert hat?
edruid
2018-05-15 18:03:04 UTC
view on stackexchange narkive permalink

Gibt es Sicherheitsbedenken bei der Protokollierung, dass ein Benutzer sein Kennwort geändert hat? Ich protokolliere bereits, wenn ein Administrator ein Benutzerkennwort zu Überwachungszwecken ändert. Gibt es jedoch einen Grund, kein Protokoll darüber zu haben, wann jeder Benutzer sein eigenes Kennwort geändert hat?

Bearbeiten: Antworten auf die folgenden Fragen

Was ist Ihr erwarteter Gewinn daraus?

Hauptsächlich forensisch. Die Möglichkeit zu sehen, wer (Benutzer-ID von Administrator oder Selbst) das Kennwort geändert hat, falls der Benutzer behauptet, gehackt worden zu sein.

Wir verwenden dies nicht, um Kennwortverwaltungsschemata wie erzwungene Kennwortänderung oder Nichtzulassung von Kennwörtern zu unterstützen Wiederverwendung.

Wer hätte Zugriff auf diese Protokolle?

Systemadministratoren und möglicherweise ein kleines Support-Team.

Über welche Art von Konten sprechen wir?

Benutzerkonten auf einer E-Learning-Plattform, dh Lehrern und Schülern.

Haben Sie auch ein Passwort? Ablaufregeln?

Nein. Ich spreche vom Speichern, wenn jede Änderung des Passworts vorgenommen wurde, nicht nur von der letzten Änderung.

Welche Informationen speichern Sie? (nicht tatsächlich gefragt, aber impliziert)

Wir speichern die Benutzer-ID des Benutzers, dessen Kennwort geändert wurde, die Benutzer-ID des Benutzers, der die Änderung vornimmt (es kann sich um einen Administrator oder einen Schüler handeln Lehrer), die Zeit, zu der das Passwort geändert wurde, und die URI, mit der das Passwort geändert wurde.

Was ist Ihr erwarteter Gewinn daraus?Wer hätte Zugriff auf diese Protokolle?Über welche Art von Konten sprechen wir?
Haben Sie auch Regeln für das Ablaufen von Passwörtern?(Wenn ja, ist die Antwort wahrscheinlich offensichtlich.)
Protokollieren Sie es nicht nur, sondern informieren Sie den Benutzer auch darüber, dass diese Änderung stattgefunden hat.Dies kann einem Benutzer helfen, zu erkennen, dass etwas Unerwünschtes passiert.Dies ist natürlich nur dann sinnvoll, wenn die Benachrichtigung über einen kompromisslosen Kanal gesendet wird.
Wie @msanford sagt, deutet die Tatsache, dass Kennwortablaufregeln existieren und in einigen Szenarien sogar empfohlen werden, darauf hin, dass das Speichern der Zeit der letzten Kennwortänderung keine Nachteile hat
Wenn jemand anderes in der Lage ist, das Kennwort eines Benutzers zu ändern, sollte diese Aktion protokolliert werden - und zwar nur, um verwirrten Benutzern Unterstützung zu bieten.
Warum muss ein Administrator das Kennwort ändern, um sich als Benutzer anzumelden?Keine Funktionalität annehmen?
@Snake Ein Administrator kann Passwörter als Teil des Imports von Benutzerstapeln mit von der Schule gesendeten Passwörtern festlegen (ich weiß, dass dies eine unsichere Vorgehensweise ist, aber einige Schulen verlangen, dass wir dies tun ...)
Fünf antworten:
Shane Andrie
2018-05-15 19:15:26 UTC
view on stackexchange narkive permalink

Beantworten Sie Ihre Frage: Ja, Sie können und sollten Kennwortänderungen protokollieren, und daran ist nichts grundlegend Falsches, solange Sie dies nicht tun, z. Notieren Sie das Kennwort selbst. "

Was soll protokolliert werden?

Wenn Sie die Protokollierung aus Sicherheitsgründen entwerfen, möchten Sie folgende Fragen beantworten:

Wann ist das Ereignis aufgetreten?

  • Datum und Uhrzeit des Ereignisses (Verwenden Sie das allgemeine Protokollformat)

Was war das Ereignis?

  • Eine kurze Beschreibung des Ereignisses (z. B. Kennwortänderung)

Wer hat das Ereignis ausgelöst?

  • Die Benutzer-ID, der Name, die E-Mail-Adresse oder eine eindeutige Kennung

Warum wurde das Ereignis ausgelöst?

  • Dies ist nicht dasselbe wie "Was", obwohl viele Leute es auf diese Weise verwenden. Dies ist der Grund, warum das Ereignis ausgeführt wurde (z. B. Passwort aufgrund einer Richtlinie geändert, Benutzer manuell Passwort geändert, Dies kann sehr gut sein, um Lärm auszusortieren.

Szenarien

Eine der besten Methoden, um zu diskutieren, was zu sehen ist, ist über Szenarien und Fragen an das Team:

  • Welche Informationen bietet die Veranstaltung?
  • Ist die Veranstaltung erforderlich? rot für Compliance / Recht?
  • Melden wir uns aus Detektivgründen an? (z. B. Auslösen eines SIEM) oder zur Korrektur? (z. B. Forensik nachträglich)
  • Wer wird die Protokolle anzeigen?
  • Wie werden wir die Protokolle schützen?

Beispiel:

James ist Teil des IR-Teams, das für die kritische Anwendung 'Non-Existence' von Made-Up Company verantwortlich ist. James möchte in der Lage sein, alle Kennwortänderungen zu sehen, um Änderungen zu erkennen, die außerhalb des normalen Richtlinienprozesses auftreten. Diese Ereignisse werden ausgelöst und untersucht, wenn eine Kennwortänderung ohne einen vom Support-Team protokollierten Vorfall erfolgt. Protokolle werden an die IR SIEM-Appliance gesendet, die mithilfe eines Regelsatzes Warnungen an das IR-Team auslöst, wenn ein Vorfall nicht mit einer Kennwortänderung außerhalb einer erforderlichen Richtlinienänderung korreliert werden kann.

(Vorsicht bei der Verwendung an einem Arbeitsplatz. Ich habe gerade dieses Beispiel erfunden.)

[Bearbeiten] - Die ursprüngliche Antwort wurde aktualisiert, um klarer zu sein. Vielen Dank an @SeldomNeedy für den Vorschlag.

Ich hoffe es ist selbstverständlich, aber ich werde es trotzdem sagen, * nicht * das Passwort selbst protokollieren.Das Protokollieren des Ereignisses einer Passwortänderung ist in Ordnung, aber * nicht * als "Benutzer jsmith hat sein Passwort in f00Bar geändert!"
@JesseM, es sei denn, Sie arbeiten natürlich bei Twitter oder GitHub.
@JustinLardinois Oder es sei denn, Sie sind ein NSA-Agent, der bei Twitter oder Github arbeitet und vorgibt, zu dummen Protokollierungsfehlern zu neigen.
Es gibt keine negativen Sicherheitsbedenken bei der Protokollierung, aber es gibt (begrenzte) Bedenken bei der Nichtprotokollierung, die aus Ihrem Beitrag scheinen, als wären Ihnen diese Instanzen bekannt.(Ändern Sie auch die Antwort in Ja, Sie sollten sie protokollieren. Die Frage lautet "Sollte ich dies protokollieren", nicht "Gibt es Sicherheitsbedenken?". Ich habe die Antwort zuerst falsch verstanden.)
Könnten Sie hier die erste Zeile Ihrer Antwort neu einordnen?Der Betreff für die Frage lautet *** "Soll ich protokollieren, dass ein Benutzer sein Passwort geändert hat?" ***, auf die Sie antworten *** "Nein ..." ***.Angesichts des zusätzlichen grammatikalischen Fehlers "Es gibt keine Sicherheitsbedenken durch Protokollierung" (im Gegensatz zu "Es gibt ** keine ** Sicherheitsbedenken") musste ich zweimal nachlesen, um sicherzustellen, dass ich verstanden habe, dass Sie tatsächlich *** "Ja,Sie können und sollten Kennwortänderungen protokollieren, und daran ist nichts grundlegend Falsches, solange Sie nicht z. B. das Kennwort selbst aufzeichnen "***
Es kann auch nützlich sein, die IP-Adresse des Akteurs zu protokollieren, der das Kennwort geändert hat.Dies kann bei der Identifizierung von Missbrauch hilfreich sein.
Seien Sie sich ganz und gar bewusst, dass alle von Ihnen protokollierten personenbezogenen Daten wahrscheinlich unter die DSGVO fallen und auf Anfrage gelöscht werden müssen. Dies bedeutet, dass das Protokollieren von E-Mails, Benutzernamen, IP-Adressen usw. später zu einem * großen * Problem für Sie werden kann.Geben Sie dem Benutzerdatensatz, wie in der Antwort angegeben, eine nicht persönliche Kennung und protokollieren Sie diese nur in permanenten Protokollen. Alles andere sollte anhand des Benutzerdatensatzes in der Datenbank gespeichert und somit leicht zerstört werden können.
workoverflow
2018-05-15 18:19:14 UTC
view on stackexchange narkive permalink

Ich kann Ihnen keinen Grund geben, etwas nicht zu protokollieren. Sie müssen mir einen Grund nennen, warum Sie es protokollieren müssen.

Sie können theoretisch alles protokollieren, was die Benutzer tun (bis hin zur Bewegung des Mauszeigers, Klicks und wenn ein Fenster im Vordergrund steht oder nicht).

Aber müssen Sie alles protokollieren? Können Sie alles protokollieren, ohne die Leistung zu beeinträchtigen? Können Sie die Protokolle für einen nützlichen Zeitraum speichern?

Es gibt keinen Grund, nicht zu protokollieren, wenn der Benutzer sein Kennwort ändert. Sie können verhindern, dass die Benutzer ihr Kennwort zu oft ändern. Oder jede Funktion, die Sie auf dem Verlauf, den Gewohnheiten und Mustern der Kennwortänderung aufbauen können.

Sie können die Kennwortänderung sogar mit schwerwiegenden Sicherheitsverletzungen in Beziehung setzen, um festzustellen, wie "technisch" der Benutzer ist. P. >

Bitte beachten Sie, dass Sie unter der DSGVO das Recht haben müssen, bestimmte Dinge zu protokollieren.und einige Dinge, wenn sie protokolliert werden, stellen eine sofortige Sicherheitsverletzung dar (denken Sie an das Klartext-Passwort eines Benutzers).
Ich bezog mich auf das Protokollieren von Benutzeraktionen, Systemantworten und Softwarestatus.Von der Protokollierung von Daten wird dringend abgeraten.
Benutzeraktionen ** sind Daten ** und möglicherweise hochinvasive Daten.
-1 für "Es gibt keinen Grund, etwas NICHT zu protokollieren".Es gibt sehr gute Sicherheits- und Datenschutzgründe, Dinge nicht zu protokollieren, die Sie nicht protokollieren müssen.Alles, was protokolliert / gespeichert wird, kann möglicherweise von einem Angreifer oder einer feindlichen Behörde gelesen werden.
-1 - "Es gibt keinen Grund, etwas nicht zu protokollieren" ist aus Sicherheitsgründen ein schlechter Rat.Im Allgemeinen sollten Sie etwas immer nur implementieren, wenn es einen Grund dafür gibt, nicht nur, weil es keinen Grund gibt, dies nicht zu tun.Viele Sicherheitsverletzungen treten aufgrund eines Szenarios auf, an das Sie bei der Implementierung nicht gedacht haben.
Bitte teilen Sie dem Benutzer bei einem fehlgeschlagenen Login nicht mit, dass er sein Passwort vor X Tagen geändert hat.Das gibt einem Brute-Force-Angreifer zu viele Informationen.
@JonBentley "nicht nur wegen des Fehlens eines Grundes, nicht zuzustimmen."Ich habe das nicht richtig erklärt.Was ich wirklich meinte, war, dass ich Ihnen keinen Grund geben kann, es nicht zu protokollieren. Sie müssen mir einen Grund geben, es zu protokollieren.
@schroeder Wenn ich mich nicht anmelde, wird angezeigt, dass Sie Ihr Passwort vor 15 Tagen geändert haben und so.
@SurajJain Ich habe ein Dummy-Google-Konto verwendet, um den Effekt zu replizieren.Es heißt "x Anzahl Tage". Dies ist meiner Meinung nach eine schlechte Sicherheitspraxis.
@schroeder Das gibt zu viele Informationen, oder?
@schroeder Kennen Sie SOP?Ich habe einige Zweifel, die mich beunruhigen.
Sangam Belose
2018-05-15 19:36:54 UTC
view on stackexchange narkive permalink

Sie können eine Nachricht protokollieren, um anzuzeigen, dass der Benutzer das Kennwort geändert hat, sowie Informationen wie die IP-Adresse (um zu verfolgen, ob jemand versehentlich sein Kennwort geändert hat), von wo aus er das Kennwort geändert hat.

Bitte Vermeiden Sie die Protokollierung von PII-Informationen, die zu einem bestimmten Benutzer führen, wenn die Protokolldatei durchgesickert ist.

Da GDPR zu glauben scheint, dass eine vollständige IP-Adresse PII ist, werde ich es vermeiden, dies zu protokollieren (aber möglicherweise die ersten 24 Bits oder ähnliches hinzufügen).
Ein Hash der IP sollte ausreichen.
Hashing reicht nicht aus: Da es nur sehr wenige IP-Adressen gibt, ist es sehr einfach, den Hash umzukehren.
Der Grund für das Speichern der IP-Adresse besteht darin, einen Eindruck davon zu bekommen, wo auf der Welt die Kennwortänderung vorgenommen wurde. 24 Bit der IP-Adresse sollten daher eine allgemeine Vorstellung davon geben, woher die Änderung stammt, ohne einen bestimmten Haushalt zu bestimmen.
OP scheint bereits vorzuschlagen, PII über eine Kontokennung für das Benutzerkonto zu protokollieren, das die Kennwortänderung ausgelöst hat.Eine IP-Adresse ändert mehr oder weniger nichts an der Tatsache, dass diese Protokolle PII enthalten, wie von GDPR definiert.
Ghost8472
2018-05-15 22:08:52 UTC
view on stackexchange narkive permalink

Sie nicht zu protokollieren ist ein größeres Sicherheitsrisiko als sie zu protokollieren, aber (wie alle anderen gesagt haben) seien Sie vorsichtig, was / wie Sie die Informationen protokollieren.

Andere Antworten weisen darauf hin, dass die Protokolle dies zulassen Wenn Ihre Administratoren das Verhalten von Verstößen erkennen und Benachrichtigungen an Benutzer senden, können sie Verstöße einzeln erkennen.

Ich denke, wir gehen alle davon aus, dass Sie Ihre Passwörter als Hashes mit zufälligen Salzen speichern. Nur eine Erinnerung daran, dass die Verwendung von zufälligen Salzen die Fähigkeit eines Angreifers, die gehashten Passwörter zu knacken, erheblich verlangsamt, da er den vollständigen Cracking-Prozess für jedes einzelne Salz ausführen muss (was hoffentlich für jedes Passwort im System und jedes Mal einzigartig ist geändert).

Wenn Sie einige neue Kennwortrichtlinien implementieren möchten, können Sie:

  • Aufzeichnungen (möglicherweise keine "Protokolle") darüber führen, wann Kennwörter geändert wurden
  • behalte eine gehashte Version des Passworts mit seinem zufälligen Salt

Mit diesen können Sie später Richtlinien implementieren für:

  • Ablauf mit Nur der Zeitstempelabschnitt
  • Passwortverlauf, indem das neue Passwort mit jedem der historischen Salze gehasht und mit den historischen Hashes verglichen wird, um sicherzustellen, dass der Benutzer alte Passwörter nicht wiederverwendet
Sentinel
2018-05-16 02:10:27 UTC
view on stackexchange narkive permalink

In einer der obigen Antworten wird dies nebenbei erwähnt, und ich werde die beiden wichtigsten Dinge hervorheben, die Sie beachten sollten:

  1. Pflegen Sie die Hash-Liste, um sicherzustellen, dass der Benutzer keine alten Pwords wiederverwendet.
  2. Nicht speichern wann, daher können Hacker nicht mit Informationen zur Langlebigkeit von Pwords arbeiten. Z.B. UserX setzt das Pword-Ende eines jeden Monats zurück.
  3. ol>
Das Verwalten einer Hash-Liste ist sehr riskant.Es multipliziert den durch eine gestohlene Datenbank verursachten Schaden.
Können Sie die Gefahren der Speicherung der Zeitstempel erläutern?Was kann ein Hacker mit den Langlebigkeitsdaten tun?
@edruid Wenn der Angreifer über Kontoanmeldeinformationen verfügt, kann der Angreifer Prioritäten setzen, auf deren Konten am längsten zugegriffen werden kann, ohne dass der Benutzer weiß, dass das Konto gefährdet ist.Wenn der Angreifer keine Kontoanmeldeinformationen hat, kann der Angreifer Prioritäten setzen, wann und wo Keylogger usw. bereitgestellt werden sollen.


Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 4.0-Lizenz, unter der er vertrieben wird.
Loading...