it-swarm.com.de

SSO - Was soll passieren, wenn der Benutzer auf "Abmelden" klickt?

Wir bieten Unternehmen die Möglichkeit, die Anmeldung bei unserer Webanwendung über externe Single-Sign-On-Anbieter zu konfigurieren (zunächst über WS-FED, zukünftige Versionen unterstützen jedoch zusätzliche Protokolle). Die Authentifizierung mit Benutzername und Kennwort ist auch für Kunden verfügbar, die keinen externen SSO-Anbieter konfigurieren müssen/möchten, und auch als Ersatz für Fälle, in denen Probleme mit dem SSO-Anbieter auftreten.

Was soll passieren, wenn Benutzer in unserer Anwendung auf die Schaltfläche "Abmelden" klicken?

  • Sie werden nur von unserer Anwendung abgemeldet, damit andere Anwendungen, die sich über den SSO-Anbieter authentifizieren, weiterhin verfügbar sind.
  • Wie oben, aber wir fordern zusätzlich eine erneute Authentifizierung beim SSO-Anbieter an.
  • Sie sind vollständig von ihrem SSO-Anbieter abgemeldet
6
Justin

Dies ist einer dieser Orte, an denen Benutzerfreundlichkeit und Sicherheit radikal unterschiedliche Antworten liefern.

Unter dem Gesichtspunkt der Benutzerfreundlichkeit habe ich die folgenden Argumente beobachtet:

  • Wenn ich mich anmelde Site a Ich melde mich hier nur ab und kann weiterhin die anderen Standorte verwenden, an denen ich noch angemeldet bin.
  • Wenn ich auf Abmelden drücke Site a Ich werde tatsächlich nur zu Site b (das Portal) weitergeleitet und erst wenn ich mich dort abmelde, bin ich tatsächlich abgemeldet. (Wird hauptsächlich im Kontext eines Intranets oder einer ähnlichen Umgebung verwendet.)

Unter Sicherheitsgesichtspunkten habe ich folgende Argumente beobachtet:

  • Wenn ein Benutzer sich abmeldet, macht er ALLE Sitzungen für diesen Benutzer sofort ungültig und meldet ihn von allen Systemteilen des SSO ab.
  • Wenn sich ein Benutzer abmeldet, informieren Sie den SSO-Anbieter und lassen Sie keine neuen Sitzungen und Abmeldungen der aktuellen Anwendung zu. Es gibt jedoch keine implizite Abmeldung für alle Systeme im SSO. (in der Regel mit kurzen Sitzungszeiten/Cookie-Lebensdauern gemildert). Dies kann aufgrund der beteiligten Technologien (und/oder Lizenzen) eine technische Einschränkung sein.
3
LvB

Hier gibt es wahrscheinlich keine richtige Antwort, aber ich werde dafür eintreten, dass "Abmelden" nur für Ihre Website gilt.

Stack Exchange als Beispiel

Ich verwende die Option "Mit Google anmelden". Wenn ich auf Abmelden klicke, wird Folgendes angezeigt:

(The logout "menu" in stack exchange

Anmerkungen:

  1. Es zeigt, dass ich von allen Stack Exchange-Domänen abgemeldet werde.
  2. Ich habe die Wahl, ob ich mich nur von diesem Gerät oder von allen Geräten abmelden möchte. (Ich gehe davon aus, dass es sich um das Löschen des lokalen Browser-Caches im Vergleich zu einer ungültigen Server-Sitzung handelt.).
  3. Nach dem Abmelden von SE funktioniert mein Google Mail-Tab weiterhin.

Einige Gründe, mit denen ich mich nicht wohl fühle

Sie sind vollständig von ihrem SSO-Anbieter abgemeldet

Benutzerfreundlichkeit

Ich wäre ziemlich verärgert, wenn ich mich auf meinem Laptop von Stack Exchange abmelden und einige Zeit später feststellen würde, dass mein Telefon aus meinem Google-Konto entfernt wurde, was dazu führt, dass ich dringende E-Mails, Chats, nicht synchronisierte Google Text & Tabellen usw. verpasse.

Sicherheit

Wenn das Abmelden von einem Dienst dazu führt, dass ich vom SSO-Anbieter abgemeldet werde, kann dies als Denial-of-Service-Angriffsvektor angesehen werden? Kann ein betrügerischer Stack Exchange-Mitarbeiter meinen Browser dazu bringen, mich von allen Google-Diensten abzumelden? Erhöht es die Auswirkungen von XSS-Schwachstellen auf Websites von Drittanbietern? dh verbindet dies in irgendeiner Weise die Sicherheit von zwei nicht verwandten Sites, nur weil sie denselben SSO-Anbieter verwenden? (Ich müsste noch etwas darüber nachdenken)

1
Mike Ounsworth

In den meisten von mir verwendeten SSO-Authentifizierungssystemen bedeutet Abmelden normalerweise das Abmelden vom Authentifizierungsanbieter und allen verbundenen Systemen.

In einigen schlecht geschriebenen Anwendungen und SSO-Systemen speichert die Anwendung möglicherweise die Authentifizierung zwischen und merkt möglicherweise nicht, dass die von ihnen verwendete Sitzung bereits abgelaufen ist. Die Anwendung sollte jedoch die Gültigkeit der Sitzung regelmäßig überprüfen, um zu verhindern, dass diese Situation lange anhält. Bessere SSO-Systeme können in die Anwendungen zurückkehren und sie zwingen, sich sofort abzumelden, anstatt regelmäßig von der Anwendungsprüfung abhängig zu sein.

1
Lie Ryan

Fragen wie diese stellen sich, wenn Unklarheiten über den Zweck der Schaltfläche "Abmelden" bestehen.

Wofür ist "Abmelden"?

Einige Voraussetzungen:

  • Wenn sich der Benutzer nicht abmelden möchte, sollte er diese Schaltfläche einfach nicht verwenden.
  • Wenn der Website, auf der die Schaltfläche zum Abmelden bereitgestellt wird, nicht vertraut werden kann, ist das Abmelden tatsächlich umstritten.
  • "Abmelden" sollte nicht mit "Konto wechseln" verwechselt werden. Obwohl "Konto wechseln" durch Abmelden und erneutes Anmelden emuliert werden kann, sollte die Verwendbarkeit dieses Anwendungsfalls bei der Gestaltung der Schaltfläche "Abmelden" keine Priorität haben. Usability-Probleme, die aufgrund des Fehlens einer Schaltfläche "Konto wechseln" auftreten, sind genau auf dieses Fehlen zurückzuführen und sind nicht daran schuld, was die Schaltfläche "Abmelden" bewirkt.

Wofür ist "Abmelden"?

Wenn der Browser in einem physisch freigegebenen PC verwendet wird, muss der Benutzer seine Sitzungen auf irgendeine Weise löschen, damit ein anderer Benutzer, der anschließend denselben PC verwendet, nicht auch auf dieselben Sitzungen zugreifen kann.

Daher sollte das "Abmelden":

  1. Machen Sie die Sitzung auf der verwendeten Website ungültig
  2. Melden Sie sich vom SSO-Anbieter ab

Wenn bei der Implementierung der Schaltfläche "Abmelden" das zweite Aufzählungszeichen weggelassen wird, können andere Benutzer mithilfe der noch aktiven SSO-Anbietersitzung einfach SSO auf die Website zurücksenden.

Hinweis: "Abmelden vom SSO-Anbieter" bedeutet nicht, dass Sie sich sofort von allen Websites abmelden, die mit demselben SSO-Anbieter angemeldet sind. Jede Website hat ihre eigene unabhängige Sitzung, sodass einige Websites möglicherweise nach dem Abmelden vom SSO-Anbieter gut zugänglich sind. Abmelden von jeder Website, die mit demselben SSO-Anbieter angemeldet ist liegt außerhalb des Bereichs der Schaltfläche "Abmelden" einer einzelnen Website.

0
antak