Sollten gleichzeitige Anmeldungen erlaubt sein?
On Januar 1, 2021 by adminWir haben eine Web-App (Django), die Benutzer abmeldet, wenn sie innerhalb von 1 Stunde keine Anfrage gestellt haben.
Von Ist es aus Sicherheitsgründen empfehlenswert, auch gleichzeitige Anmeldungen 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 von der Sitzung auf seinem PC abgemeldet werden?
Kommentare
- Dies ist eine Frage der Funktionalität. Ist dies nützlich oder nicht? Aus Sicherheitsgründen sollten Sie einen Abmelde-Timer festlegen.
- @binarym Wenn Benutzer X seine Anmeldeinformationen preisgibt, 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 Wenn Sie ihre Anmeldeinformationen angeben, können Sie niemals davon ausgehen, dass Benutzer X, wenn sie sich anmelden, tatsächlich angemeldet sind. Sie müssen den Benutzer dazu verpflichten, kontinuierlich seinen Fingerabdruck- / Retina-Scan usw. bereitzustellen, um dies sicherzustellen Sie sitzen selbst vor dem Kunden …
- ‚ hält sie nicht auf, wird aber den Service schmerzhafter nutzen und sie wahrscheinlich entmutigen Konto freigeben ….
- Wäre es für Ihren Abmelde-Timer akzeptabel, jede Sitzung einzeln zu planen? Es hängt davon ab, ob ‚ ein Sicherheitsrisiko besteht. 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.
- Nun, ich ‚ m ist von 3 verschiedenen Geräten (gleichzeitig) dauerhaft in meinem E-Mail-Konto angemeldet. Ratet mal, wie ich ‚ Feuer und Schwefel in Richtung des Dienstanbieters kotzen würde, wenn dies nicht ‚ nicht funktioniert hätte …
Antwort
Hier gibt es keine „eine Antwort passt für alle“. Wenn es sich lediglich um eine Social-Media-App handelt, könnte dies der Fall sein ausreichend sein, um gleichzeitige Sitzungen zuzulassen, aber auch eine Möglichkeit zu bieten, 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.
Das Wichtige hier ist häufig Sie müssen sich fragen: „Was ist das Schlimmste, was passieren könnte, wenn gleichzeitiger Zugriff erlaubt wäre?“ 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 dem Benutzer zusagt, sollten Sie gleichzeitige Anmeldungen zulassen, möglicherweise mit einigen Einschränkungen, z. B. nur einer Aktive Sitzung zu einem Zeitpunkt oder Ermöglichen, dass die Sitzungsverwaltung Sitzungen deaktiviert. In jedem Fall sollte 2FA wahrscheinlich verfügbar sein, falls dies nicht erforderlich ist.
Kommentare
- Gute Antwort. Und man sollte auch “ fragen, was ‚ das Schlimmste ist, das passieren könnte, wenn der gleichzeitige Zugriff nicht
erlaubt? “ - @mentallurg Auch ein guter Punkt – Benutzer ‚ möchten nicht eingeschränkt werden mehr als Hacker, so könnten sie versuchen, Wege zu finden, um die Sicherheit zu gefährden, wenn es ihnen gefällt.
- Wobei ‚ das Risiko besteht, sich gleichzeitig anzumelden Umgang mit sensiblen Daten?
- Ich sehe ‚ nicht, wo das große Risiko liegt. Unl Es ist ‚ etwas, bei dem ‚ kein guter Grund für den Benutzer ist, sich bei zwei Geräten anzumelden (z. B. für etwas wie Bargeld Registrieren) sollte dies zulässig sein, insbesondere wenn die Anwendung sowohl auf Computern als auch auf Mobilgeräten funktioniert.
- Wenn Sie die Benutzereingriffe maximieren möchten, entfernen Sie so viele Hindernisse wie möglich – wie z. B. das Anmelden E-Commerce-Site dann wäre ich ‚ so freizügig, wie es die Vereinbarung mit meinem Zahlungsgateway zulässt.
Antwort
Gleichzeitige Anmeldungen sollten unbedingt zulässig sein. Hier sind zwei konkrete Beispiele, die veranschaulichen sollten, warum:
- 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
- Stellen Sie sich vor, wenn Sie durch die Synchronisierung von Dropbox auf Ihrem Laptop auf Ihrem Desktop abgemeldet wurden
Randnotiz: Da Bildschirmschließfächer vorhanden sind, sollten Sie Ihre entfernen Stellen Sie sich vor, Google Mail hätte dies.
Kommentare
- Ihre Antwort ist zu weit gefasst und basiert nur auf der Verwendung einer Consumer-Lösung .Prinzipien konnten ‚ nicht unverändert auf jede Webanwendung angewendet werden, nur weil dies für GAFA-Inhalte so funktioniert …
- Für die Personen, die nicht ‚ gefällt dieser Antwort nicht: Ihre Einwände sind mit ziemlicher Sicherheit gültig. Denken Sie daran, dass ‚ noch wichtiger ist, auch wenn Sie der Meinung sind, dass Benutzerfreundlichkeit wichtig ist. Und es ist gut, ‚ daran erinnert zu werden.
- @emory Ich ‚ bin nicht anderer Meinung, aber wie Ein Großteil dieser Verantwortung liegt bei der Software ?
- @JaredSmith. Vielleicht ist ein besseres Beispiel das Löschen eines Github-Repositorys. Benutzerfreundlichkeit ist von größter Bedeutung. Wenn etwas nicht bequem ist, sollte es eher auf eine bewusste Entscheidung als auf Nachlässigkeit zurückzuführen sein.
- @emory Sie können sogar noch an die Benutzerfreundlichkeit denken – es ‚ ist sehr unpraktisch, wenn Sie versehentlich Ihr Github-Repository gelöscht oder versehentlich eine Atomrakete abgefeuert 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.
Antwort
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.
Kommentare
- z 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 für das Nichtzulassen ist gleichzeitige Anmeldungen. Sie müssen auch typische Anwendungsfälle verstehen, welche tatsächliche Bedrohung Sie ‚ zu stoppen versuchen 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 (dh von seinem Heim-PC und seinem Mobiltelefon), jedoch nicht von unbekannten Standorten (dh einer zufälligen IP-Adresse in einem anderen Land).
- Somit war der Anfangssatz meiner Antwort 🙂
Whether you want to allow or disallow concurrent logins will very much come down to the threat model of your application
Online-Banking 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 einen größeren Bereich von Mitigationen.
Antwort
Es ist unwahrscheinlich, dass gleichzeitige Sitzungen eine Bedrohung darstellen. Das Beenden dieser Sitzungen kann jedoch unpraktisch und aus Sicherheitsgründen tatsächlich schädlich sein.
Beispiel: Angenommen, ein Angreifer hat Zugriff auf Bei einem Konto besteht die einfachste Lösung darin, das Kennwort dieses Kontos zu ändern. Was wäre, wenn sich der Benutzer nicht anmelden könnte, um das Kennwort zu ändern, weil die Sitzung bereits an einem anderen Ort aktiv war? Der Benutzer ist jetzt vollständig gesperrt und der Hacker hat unbegrenzte Möglichkeiten Zugriff.
Ein System, bei dem die vorherige Sitzung stattdessen abgemeldet wird, ist möglicherweise etwas besser, aber nicht viel. Der Angreifer kann immer einen Bot veranlassen, sich von Zeit zu Zeit anzumelden und einen Denial-of-Service zu verursachen Dies würde den Benutzer wahrscheinlich glauben lassen, dass es eher einen Fehler im System gibt als diesen Ihr Konto wurde entführt und daher ist es weniger wahrscheinlich, dass das Kennwort zurückgesetzt oder andere Maßnahmen ergriffen werden.
Stattdessen wäre ein System, in dem Sitzungen vom angemeldeten Benutzer angezeigt werden können, viel effektiver als eine verdächtige Sitzung gemeldet und geschlossen werden, und der Benutzer würde dann wissen, wie er seine Anmeldeinformationen ändern muss.
Natürlich sind Systeme für jeweils eine Sitzung nützlich, aber meistens, um Betrug in Spielen usw. zu verhindern. In Kombination mit auslaufenden Sitzungen , IP-Überprüfung in Sitzungen und Ermöglichen, dass der Benutzer aktive Sitzungen anzeigt, sollten gleichzeitige Sitzungen absolut sicher sein.
Antwort
Die Benutzersicherheit wird von zwei Systemen geregelt:
-
Anmeldeinformationen : Wenn jemand das Kennwort des Benutzers stiehlt, hilft es, gleichzeitige Anmeldungen nicht zuzulassen (neue Geräte werden nicht akzeptiert) Eine bessere Idee ist 2fa. Wenn der Benutzer absichtlich sein Kennwort teilt, hat die gleichzeitige Anmeldung nur einen sehr geringen Sicherheitsvorteil (da der Benutzer sich abmelden und die andere Person anmelden kann).
-
Sitzungsverwaltung : Hier besteht das größte Risiko, dass Sitzungstoken gestohlen werden können. In diesem Fall Mehrere Geräte verwenden dieselbe Sitzung. Für Ihr Backend ist dies also immer noch nur eine gleichzeitige Anmeldung.
Kommentare
- “ Um dieses Problem zu lösen, verwenden Sie my Produkt! “ ist keine gültige Antwort. Bitte geben Sie eine Methode an, nicht Ihr eigenes Produkt als Lösung
Schreibe einen Kommentar