Frage:
Sollten gleichzeitige Anmeldungen erlaubt sein?
Kritz
2020-02-27 19:35:45 UTC
view on stackexchange narkive permalink

Wir haben eine Web-App (Django), die Benutzer abmeldet, wenn sie innerhalb von 1 Stunde keine Anfrage gestellt haben.

Aus Sicherheitsgründen empfiehlt es sich, auch das gleichzeitige Protokoll zu blockieren Mit anderen Worten, wenn sich ein Benutzer an seinem PC anmeldet und sich dann von seinem mobilen Gerät aus anmeldet, sollte er dann auf seinem PC von der Sitzung abgemeldet werden?

Dies ist eine Frage der Funktionalität.Ist das nützlich oder nicht?Stellen Sie aus Sicherheitsgründen einen Abmeldungstimer ein.
Wir haben einen Abmeldetimer von 1 Stunde, fragen uns aber, ob dies die Sicherheit irgendwie erhöht?
IMHO erhöht es nicht die Sicherheit an sich, kann aber die Rückverfolgbarkeit erhöhen, die eine Unterdomäne der Sicherheit ist.Wenn Sie feststellen möchten, dass "Benutzer X Y-Aktion ausgeführt hat", müssen Sie wahrscheinlich erzwingen, dass "Benutzer X" nur einmal protokolliert wird (wenn nicht, liegt dies wahrscheinlich daran, dass Benutzer X seinen Berechtigungsnachweis an eine andere Person weitergegeben hat)..
@binarym Wenn Benutzer X seine Anmeldeinformationen preisgegeben hat, was hindert ihn daran, das Konto der anderen Person zu überlassen?Die Beschränkung auf eine Sitzung würde sehr wenig helfen und kann in vielen Situationen sehr unpraktisch sein.Wenn Ihr Bedrohungsmodell Benutzer umfasst, die ihre Anmeldeinformationen angeben, können Sie niemals davon ausgehen, dass Benutzer X wirklich angemeldet sind, wenn sie sich anmelden. Sie müssten vom Benutzer verlangen, dass er kontinuierlich seinen Fingerabdruck- / Retina-Scan usw. bereitstellt, um dies sicherzustellensitzen selbst vor dem Kunden ...
Es wird sie nicht aufhalten, aber den Service schmerzhafter nutzen und sie wahrscheinlich davon abhalten, ein Konto zu teilen ...
Der Abmelde-Timer stellt sicher, dass eine andere Person, die das angemeldete Terminal verwendet, keinen Zugriff auf das gewünschte System hat.
Wäre es für Ihren Abmelde-Timer akzeptabel, jede Sitzung einzeln zu planen?Ob ein Sicherheitsrisiko besteht, hängt davon ab.Stack Exchange ermöglicht gleichzeitige Anmeldungen.Stellt dies ein Sicherheitsrisiko für sie dar?Überlegen Sie, wie vorhandene Dienste dieses Problem lösen. Es sieht so aus, als würden Sie das falsche Problem beheben.
@binarym Ich vermute, 2FA wäre eine bessere Wahl.
Nun, ich bin permanent von 3 verschiedenen Geräten (gleichzeitig) in meinem E-Mail-Konto angemeldet.Ratet mal, wie ich dem Dienstleister Feuer und Schwefel zuwerfen würde, wenn das nicht funktionieren würde ...
Übrigens, bitte erlauben Sie mehrere Registerkarten in einem einzigen Browser, auch wenn Sie einen guten Grund haben, mehrere Geräte zu sperren.
Bitte binden Sie das Login zumindest nicht an die IP-Adresse, da es auf IPv6-fähigen Websites sehr oft zu unerwarteten Abmeldungen führt, wenn der Browser seine Meinung ändert ...
Fünf antworten:
#1
+59
phyrfox
2020-02-28 00:41:20 UTC
view on stackexchange narkive permalink

Hier gibt es keine "eine Antwort passt für alle". Wenn es sich lediglich um eine Social-Media-App handelt, reicht es möglicherweise aus, gleichzeitige Sitzungen zuzulassen, bietet aber auch die Möglichkeit, eine oder alle Sitzungen zu beenden, wenn das Konto gefährdet ist. Für viele Arten von Spielen bedeutet gleichzeitiger Zugriff Betrug. Daher sollte er wahrscheinlich nicht zugelassen oder zumindest so gestaltet werden, dass das Konto nicht betrügen kann (z. B. kann es mehrere latente Sitzungen geben, aber nur eine aktive Sitzung). Für Systeme mit vertraulichen Informationen wie HIPAA- oder GDPR-bezogenen Informationen sollte wahrscheinlich 2FA erforderlich sein, kurze Sitzungszeiten und gleichzeitige Anmeldungen sollten wahrscheinlich nicht zulässig sein.

Wichtig ist hier der gesunde Menschenverstand. Sie müssen sich fragen: "Was ist das Schlimmste, was passieren kann, wenn gleichzeitiger Zugriff zulässig ist?" und "Was würde der Benutzer von einer solchen Funktion profitieren?" Wenn die Nachteile die Vorteile überwiegen, tun Sie es nicht. Wenn das Risiko zu hoch ist, tun Sie es nicht. Wenn es für den Benutzer bequemer ist, sollten Sie in Betracht ziehen, gleichzeitige Anmeldungen zuzulassen, möglicherweise mit einigen Einschränkungen, z. B. wenn jeweils nur eine Sitzung aktiv ist, oder die Sitzungsverwaltung Sitzungen deaktivieren zu lassen. In jedem Fall sollte 2FA wahrscheinlich verfügbar sein, falls dies nicht erforderlich ist .

Gute Antwort.Und man sollte auch fragen: "Was ist das Schlimmste, was passieren könnte, wenn gleichzeitiger Zugriff ** nicht ** erlaubt wäre?"
@mentallurg Auch ein guter Punkt - Benutzer möchten nicht mehr eingeschränkt werden als Hacker, sodass sie möglicherweise versuchen, die Sicherheit zu gefährden, wenn dies für sie von Vorteil ist.
Wo liegt das Risiko, sich gleichzeitig anzumelden und gleichzeitig sensible Daten zu verarbeiten?
Ich sehe nicht, wo das große Risiko liegt.Sofern es keinen Grund gibt, warum der Benutzer bei zwei Geräten angemeldet ist (z. B. bei einer Registrierkasse), sollte dies zulässig sein, insbesondere wenn die Anwendung sowohl auf Computern als auch auf Mobilgeräten funktioniert.
Wenn Sie die Benutzerinteraktion maximieren möchten, entfernen Sie so viele Hindernisse wie möglich - wie das Anmelden. Wenn es sich um eine E-Commerce-Website handelt, wäre ich so freizügig, wie es die Vereinbarung mit meinem Zahlungsgateway zulässt.
@metallurg Ein Beispiel für ein schreckliches System war ein selbstgebrautes System an einer von mir besuchten Bildungseinrichtung, wo die App voller Links war, die Sie als neue Registerkarten öffnen konnten, was praktisch war, da es viel zu lesen gab.Das Öffnen eines zweiten Tabs der App wurde anscheinend als zwei gleichzeitige Anmeldungen angesehen und erzeugte einen Fehler.Jemand erkannte, dass man tatsächlich zwei Logins von zwei verschiedenen Browsern haben konnte, und so haben wir es gemacht, um zwei Dinge gleichzeitig betrachten zu können.Die Liste der Personen im Internet würde sogar zwei dieser Personen anzeigen.Was auch immer die Lösung von OP ist ... das sollte es nicht sein.
#2
+11
Joseph Sible-Reinstate Monica
2020-02-27 20:17:04 UTC
view on stackexchange narkive permalink

Gleichzeitige Anmeldungen sollten unbedingt zulässig sein. Hier sind zwei konkrete Beispiele, die veranschaulichen sollten, warum:

  1. Stellen Sie sich vor, wenn Sie iCloud / iMessage / Gmail / Google Drive auf Ihrem Computer verwenden, wurde Ihr Apple- oder Google-Konto auf Ihrem Telefon abgemeldet und umgekehrt
  2. Stellen Sie sich vor, wenn Sie durch die Synchronisierung von Dropbox auf Ihrem Laptop auf Ihrem Desktop abgemeldet wurden.
  3. ol>

    Randnotiz: Da Bildschirmschließfächer vorhanden sind, sollten Sie Ihre 1- Stunden-Timeout auch. Stellen Sie sich erneut vor, Google Mail hätte dies.

Ihre Antwort ist zu weit gefasst und basiert nur auf der Verwendung von Verbraucherlösungen.Prinzipien können nicht unverändert auf jede Webanwendung angewendet werden, nur weil dies für GAFA-Inhalte so funktioniert ...
An die Leute, die diese Antwort nicht mögen: Ihre Einwände sind mit ziemlicher Sicherheit gültig.Denken Sie daran, dass die Benutzerfreundlichkeit, wie wichtig Sie sie auch finden, noch wichtiger ist.Und es ist gut, daran erinnert zu werden.
@JaredSmith In den meisten Fällen ist die Benutzerfreundlichkeit von größter Bedeutung.Ich bin jedoch froh, dass der Prozess zum Abschuss von Atomraketen absichtlich kompliziert ist, um eine versehentliche Entladung zu verhindern.
@emory Ich bin nicht anderer Meinung, aber wie viel von dieser Verantwortung liegt bei der * Software *?
@JaredSmith ist vielleicht ein besseres Beispiel das Löschen eines Github-Repositorys.Benutzerfreundlichkeit ist von größter Bedeutung.Wenn etwas nicht bequem ist, sollte es eher auf einer bewussten Entscheidung als auf Nachlässigkeit beruhen.
@emory Sie haben es geschafft.
@emory Sie können sogar noch an die Benutzerfreundlichkeit denken - es ist sehr unpraktisch, versehentlich Ihr Github-Repository gelöscht oder versehentlich eine Atomrakete gestartet zu haben.Sie können (Häufigkeit der absichtlichen Aktion x Aufwand für den Prozess) mit (Häufigkeit der unbeabsichtigten Aktion x Aufwand für die Umkehrung) vergleichen, um den besten Aufwand für den Prozess zu ermitteln.
Ja, ich musste beim Umgang mit Skripten, die mit Systemen interagieren, die keine gleichzeitigen Anmeldungen zulassen, durch viele Rahmen springen.
Ich stimme so ziemlich allen obigen Kommentaren zu, auch wenn sie etwas nicht übereinstimmen, was den wichtigen Teil bedeutet: * Die Antwort hängt von den Umständen ab *.Deshalb stimme ich einer pauschalen Aussage nicht zu.Benutzerfreundlichkeit ist sehr wichtig, bis andere Dinge wichtiger sind.Es ist Sache des Unternehmens, die relevanten Vor- und Nachteile abzuwägen und das richtige Gleichgewicht für sie und ihre Kunden zu finden.
#3
+6
Rory McCune
2020-02-28 04:03:54 UTC
view on stackexchange narkive permalink

Ob Sie gleichzeitige Anmeldungen zulassen oder nicht zulassen möchten, hängt stark vom Bedrohungsmodell Ihrer Anwendung ab. Normalerweise würde ich sagen, dass für Anwendungen mit höherem Risiko (z. B. Online-Banking oder andere Transaktionen) das Nichtzulassen gleichzeitiger Anmeldungen wahrscheinlich gerechtfertigt ist.

In Bezug auf den Sicherheitsvorteil besteht das Hauptproblem darin, gleichzeitige Anmeldungen nicht zuzulassen Dies kann das Risiko verringern, dass ein Sitzungsentführungsangriff lange andauert.

Wenn ein Angreifer beispielsweise ein Sitzungstoken stehlen kann und Sie gleichzeitige Anmeldungen nicht zulassen, wird dieser ungültig, wenn Der Benutzer hat sich erneut angemeldet.

Ein weiterer möglicher Vorteil besteht darin, dass ein Benutzer sich auf einem freigegebenen PC angemeldet lässt und diese Sitzung bei der nächsten Anmeldung ungültig macht, wodurch das Risiko verringert wird, dass ein anderer Benutzer dieses PCs Zugriff auf seinen PC erhält Sitzung.

Der Nachteil ist, dass Benutzer nicht gerne aufgefordert werden, sich häufig erneut zu authentifizieren, insbesondere wenn dies ein Prozess mit hoher Reibung ist.

*z.B.Online-Banking * Ironischerweise bin ich dreimal gleichzeitig beim Online-Banking einer Bank angemeldet, während ich dies tippe.Ich denke nicht, dass "Anwendungen mit höherem Risiko" allein ein gutes Qualifikationsmerkmal dafür sind, gleichzeitige Anmeldungen nicht zuzulassen.Sie müssen auch typische Anwendungsfälle verstehen, welche tatsächliche Bedrohung Sie stoppen möchten und welche anderen Methoden Sie zum Stoppen dieser Bedrohung verwenden.Für das Online-Banking kann es typisch sein, gleichzeitige Anmeldungen von Terminals zuzulassen, die der Kunde zuvor verwendet hat (d. H. Von seinem Heim-PC und seinem Mobiltelefon), jedoch nicht von unbekannten Standorten (d. H. Einer zufälligen IP-Adresse in einem anderen Land).
Daher ist der Anfangssatz meiner Antwort :) `` `Ob Sie gleichzeitige Anmeldungen zulassen oder nicht zulassen, hängt stark vom Bedrohungsmodell Ihrer Anwendung ab``` Online-Banking war ein Beispiel für eine mögliche Anwendung mit höherem Risiko.Offensichtlich hat Ihre Bank eine andere Bestimmung ihres Bedrohungsmodells vorgenommen und verwendet möglicherweise ein breiteres Spektrum von Schutzmaßnahmen
#4
+3
TR_SLimey
2020-02-29 20:17:27 UTC
view on stackexchange narkive permalink

Es ist unwahrscheinlich, dass gleichzeitige Sitzungen eine Bedrohung darstellen. Das Stoppen kann jedoch unpraktisch und aus Sicherheitsgründen tatsächlich schädlich sein.

Beispiel: Angenommen, ein Angreifer hat Zugriff auf ein Konto erhalten, besteht die einfachste Lösung darin, das Kennwort dieses Kontos zu ändern. Was aber, wenn sich der Benutzer nicht anmelden konnte, um das Kennwort zu ändern, weil die Sitzung bereits an einer anderen Stelle aktiv war? Der Benutzer ist jetzt vollständig gesperrt und der Hacker hat uneingeschränkten Zugriff.

Ein System, bei dem die vorherige Sitzung stattdessen abgemeldet wird, ist möglicherweise etwas besser, aber nicht viel. Der Angreifer kann jederzeit einen Bot veranlassen, sich von Zeit zu Zeit anzumelden und dem Kontoinhaber einen Denial-of-Service zu verursachen. Dies würde den Benutzer wahrscheinlich glauben lassen, dass es einen Fehler im System gibt, anstatt dass sein Konto entführt wurde, und daher ist es weniger wahrscheinlich, dass sein Kennwort zurückgesetzt wird oder andere Maßnahmen ergriffen werden.

Stattdessen ein System, in dem Sitzungen stattfinden kann vom angemeldeten Benutzer angezeigt werden, wäre viel effektiver, da eine verdächtige Sitzung gemeldet und geschlossen werden könnte und der Benutzer dann wissen würde, wie er seine Anmeldeinformationen ändern muss.

Natürlich eine Sitzung nacheinander Zeitsysteme sind nützlich, aber hauptsächlich, um Betrug in Spielen usw. zu verhindern. In Kombination mit ablaufenden Sitzungen, IP-Überprüfung von Sitzungen und dem Anzeigen aktiver Sitzungen durch den Benutzer sollten gleichzeitige Sitzungen absolut sicher sein.

#5
  0
Rishabh Poddar
2020-03-04 23:00:10 UTC
view on stackexchange narkive permalink

Die Benutzersicherheit wird von zwei Systemen geregelt:

  • Anmeldeinformationen : Wenn jemand das Kennwort des Benutzers stiehlt, werden gleichzeitige Anmeldungen nicht zugelassen (neue Geräte nicht akzeptiert), wird helfen. Aber eine bessere Idee ist, 2fa zu haben. Wenn der Benutzer sein Kennwort absichtlich weitergibt, bietet die gleichzeitige Anmeldung nur einen geringen Sicherheitsvorteil (da sich der Benutzer abmelden und die andere Person anmelden kann).

  • Sitzungsmanagement : Hier besteht das größte Risiko darin, dass Sitzungstoken gestohlen werden können. In diesem Fall verwenden mehrere Geräte dieselbe Sitzung. Für Ihr Backend ist dies also immer noch nur eine gleichzeitige Anmeldung.

"Um dieses Problem zu lösen, verwenden Sie mein Produkt!"ist keine gültige Antwort.Bitte geben Sie eine Methode an, nicht Ihr eigenes Produkt als Lösung


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...