Die Implementierung einer Single-Sign-On-Lösung kann kompliziert sein, insbesondere wenn Sie Anwendungen haben, die nicht im Katalog des SSO-Anbieters enthalten sind. Diese Tools können den Prozess vereinfachen. [...]
Wenn Sie ein Single-Sign-On-Produkt (SSO) gekauft haben, woher wissen Sie dann, dass es korrekt funktioniert? Das scheint eine einfache Frage zu sein, aber die Antwort darauf ist nicht so einfach. Die Konfiguration der automatischen Anmeldungen erfordert ein Verständnis der verwendeten Authentifizierungsprotokolle. Außerdem müssen Sie wissen, wie Ihre verschiedenen Anwendungen diese Protokolle verwenden – sowohl vor Ort als auch bei SaaS -, um sie im SSO-Portal richtig zu kodieren.
Die großen SSO-Anbieter unterstützen zwar Hunderte von Anwendungen, aber einige von ihnen – insbesondere Ihre eigenen – sind möglicherweise noch nicht in ihren Katalogen enthalten. Das bedeutet, dass Sie unter Umständen den nicht unerheblichen Aufwand betreiben müssen, um Ihre eigenen benutzerdefinierten Anmeldeskripte zu schreiben. Einige SSO-Anbieter verfügen über Tools oder Berater (die entweder als Teil des ursprünglichen Kaufs oder gegen eine zusätzliche Gebühr erhältlich sind), die Ihnen dabei helfen.
Wäre es nicht schön, wenn Sie ein automatisches Testtool einsetzen könnten, um herauszufinden, wo Sie Fehler gemacht haben oder wo Ihre SSO-Software versagt? Dies kann in drei Szenarien nützlich sein:
- Wenn Ihre App-Anbieter kleine Änderungen an ihren Anmeldebildschirmen vornehmen und diese Änderungen Ihre Automatisierungsroutinen durcheinander bringen könnten, was dazu führt, dass Ihre SSO-Anmeldung fehlschlägt. Die großen SSO-Anbieter behaupten, sie hätten Möglichkeiten, dies zu überwachen, aber wenn sie es nicht tun, werden Ihre Benutzer Sie in der Regel informieren, bevor Sie das Problem lösen können.
- Wenn Sie eine neue Anwendung einführen, entweder eine öffentliche SaaS-Anwendung oder etwas, das Sie intern entwickelt haben, und sicherstellen möchten, dass Ihre SSO-Verbindung korrekt funktioniert.
- Wenn ein böswilliger Akteur sich einen Weg in Ihr Unternehmen bahnt. (Mehr dazu später.)
Um all diese Szenarien abzudecken, haben Sie zwei grundlegende Möglichkeiten: Die erste besteht darin, die von Ihrem SSO-Anbieter entwickelten Testtools zu verwenden. Das Problem ist, dass es nicht einfach ist, diese Tools zu finden. Viele Anbieter behandeln diese Tools eher als Nebenentwicklungsprojekt, als dass sie sie mit ihren Hauptproduktlinien anbieten.
Die zweite Möglichkeit ist, ein Testtool eines Drittanbieters in Betracht zu ziehen. Eine wachsende Zahl dieser Tools kann Ihnen dabei helfen festzustellen, ob Sie die zahlreichen Variablen, kryptografischen Token und Richtlinien korrekt eingerichtet haben. Der Nachteil dabei ist, dass sie nur mit einigen wenigen SSO-Produkten funktionieren – zumindest bis jetzt. Auch wenn das Fehlen eines Testtools keinen Einfluss auf Ihre SSO-Kaufentscheidung haben sollte, ist es gut zu wissen, ob ein solches Tool für Ihre eventuelle Implementierung verfügbar ist.
Eine weitere Option ist der Einsatz eines Cloud Access Security Broker (CASB)-Tools. Diese können nicht nur die Anmeldung bei Ihren SaaS-Anwendungen automatisieren, sondern auch eine weitere Sicherheitsebene hinzufügen.
Test-Tools von großen SSO-Anbietern
Wenn Sie Ihre SSO-Implementierung zum ersten Mal in Betrieb nehmen, haben Sie in der Regel eine kleine Testgruppe von Benutzern, um sicherzustellen, dass sie für eine kleine Auswahl Ihrer Anwendungen wie vorgesehen funktioniert. Einige SSO-Anbieter können eine Testumgebung erstellen, um die Fehler zu beheben, z. B. bei der Bereitstellung und Aufhebung der Bereitstellung von Benutzern und bei der Identifizierung unbekannter (oder zumindest der IT-Organisation unbekannter) Anwendungen, die weitere Aufmerksamkeit erfordern.
Hier werden die Dinge interessant. Wenn Sie zum ersten Mal mit den Protokollen Security Assertion Markup Language (SAML), OpenID Connect und Open Authorization (OAuth) in Berührung kommen, sollten Sie wissen, wie Ihr SSO-Anbieter sie implementiert. Alle Anbieter verfügen über eine umfangreiche (und fast unleserliche) Dokumentation. Hier können diese Testtools sehr nützlich sein, denn sie erfordern kein Studium der Protokollsyntax, sondern bieten eine menschenfreundlichere Schnittstelle. Um eine bessere Vorstellung davon zu bekommen, was auf Sie zukommt, können Sie diesen Blog von Testim lesen, einem Anbieter von allgemeinen Software-Automatisierungstests. Darin werden die Schritte zum Einrichten typischer SSO-Tests beschrieben.
Zwei SSO-Anbieter bieten Details zu SSO-Tests, die eine gute Ausgangsbasis darstellen, insbesondere wenn Sie den Unterschied zwischen einem SAML-Dienstanbieter und einem Identitätsanbieter nicht kennen. Sie müssen kein Kunde sein, um die meisten dieser Tools von CyberArk (das die SSO-Produktlinie von Centrify erworben hat) und NetIQ (von Microfocus in CyberRes umbenannt) zu nutzen.
Die Reihe der SAML-Testtools von CyberArk ist in verschiedenen Sprachen verfügbar (PHP, Python, Ruby, Java und .NET). Ein schönes Plus ist, dass sie alle auf GitHub verfügbar sind. Außerdem gibt es ein quelloffenes SAML-Tracing-Tool, mit dem Sie Ihren SAML-Nachrichtenverkehr direkt im Browser debuggen und Fehler beheben können. Die Reihe der öffentlichen SAML-Bibliotheken von NetIQ umfasst eine breitere Palette von Programmiersprachen.
Sie sollten wahrscheinlich eine separate Testinstanz für Ihre gesamte Webanwendungsumgebung haben, damit Sie mit SSO experimentieren können, ohne Ihre Produktionssysteme zu beeinträchtigen. Drei Anbieter haben solche Lösungen entwickelt:
- NetIQ hat seinen Access Manger OAuth Playground, wo Sie Dinge mit ihrem Identitätsmanagementprodukt ausprobieren können.
- Ping Identity hat ebenfalls einen OAuth Playground für diesen Zweck, wo Sie mit OAuth- und OpenID Connect-Skripten experimentieren können, ohne Ihre Produktionssysteme zu beeinträchtigen. Ping verfügt über weitere Tools, wie z. B. einen SAML-Decoder, mit dem Sie die XML-Anfragebefehle untersuchen können.
- Okta bietet mit seinem Integration Network etwas Ähnliches. Dieses bietet vorgefertigte Konnektoren zu Tausenden von Anwendungen und noch viel mehr: Tools für zusätzliche Sicherheit, Analysen und gewöhnliche SaaS-Anwendungen. Es gibt auch eine ausführliche Dokumentation zur Erstellung eigener Integrationen sowie Assistenten zur Erstellung von SAML- und OpenID Connect-Integrationen. Das ist zwar eine Menge, aber zumindest sind die Chancen groß, dass die meisten Anwendungen, die Ihre Benutzer verwenden, bereits bekannt sind.
Wenn Sie andere SSO-Produkte verwenden, müssen Sie auf einen Flickenteppich von Tools zurückgreifen:
- Auth0 bietet Hilfe bei der Fehlersuche in SAML-Implementierungen, aber die manuellen Schritte zur Behebung verschiedener Fehlermeldungen können mühsam sein. Sie können einen speziellen Debug-Modus auswählen, um eine ausführlichere Reihe von Fehlermeldungen zu erhalten. Sie haben auch einen Dienst entwickelt, der Änderungen an den Diensten verwaltet, sobald sie erstellt wurden. Auch wenn Sie Auth0 nicht verwenden, ist dies eine nützliche Referenz, wenn Sie etwas über die Fehlersuche bei SAML lernen wollen.
- OneLogin hat seine eigenen SAML-Testtools. Auch hier handelt es sich um Tools, die spezifisch für ihre Umgebung sind. Kürzlich wurden neue Produkte zur Workflow-Automatisierung veröffentlicht, die die Erstellung von SSOs für Ihre benutzerdefinierten Anwendungen erleichtern sollen.
- Matt Fuller bietet hilfreiche Debugging-Tipps für Benutzer von Amazons SSO und anderen Identitätsmanagement-Implementierungen für seine Webservices.
SSO-Testtools von Drittanbietern
Das Problem mit den Tools der SSO-Anbieter ist, dass Sie keine Möglichkeit haben, Tests für Ihre gesamte Anwendungsinfrastruktur zu automatisieren. Hier kommen die Produkte von Drittanbietern ins Spiel, wie z. B. das bereits erwähnte Testim. Testim ist ein allgemeiner Anbieter für die Automatisierung von Softwaretests, von denen es Dutzende, wenn nicht Hunderte gibt (z. B. Silk und Selenium). Testim bietet zwar keine SSO-spezifischen Tools an, aber Sie können eine Möglichkeit zum Testen Ihrer SSO-Implementierung zusammenschustern, wenn Sie über Spezialisten verfügen (oder diese ausgelagert haben), die ein bestimmtes Automatisierungsprogramm bevorzugen. Andere Software-Testunternehmen decken SSO-Implementierungen ab:
Canny
Canny arbeitet mit Azure Active Directory und OneLogin. Eine Okta-Version befindet sich in der Beta-Phase. Sie erfordert eingebettete Canny-Widgets, um SSO-Token zu übergeben. Die Preise beginnen bei 50 US-Dollar pro Monat.
Dorothy
Dorothy von Elastic funktioniert nur mit Okta und erfordert Elastic Security. Die Preise beginnen bei $16 pro Monat.
SSOScan
SSOScan ist ein Open-Source-Schwachstellen-Scanner nur für Facebook SSO.
Walrus
Walrus arbeitet mit Okta, Auth0, IBM, ForgeRock und NetIQ zusammen. Es basiert auf seinem universellen Tool für automatisierte Tests. Die Preise werden nicht bekannt gegeben.
Viele dieser Testtools stammen aus dem Bereich der allgemeinen Testautomatisierung, was bedeutet, dass diese Anbieter viel mehr als nur Ihre SSO-Anwendungen testen können. Das ist sowohl eine gute als auch eine schlechte Nachricht. Gut, weil es zeigt, dass die Anbieter von Automatisierungstools sich endlich um die Lösung von SSO-Problemen kümmern. Schlecht, weil die Anzahl der SSO-Kunden immer noch eine kleine Teilmenge der Benutzerbasis jedes Anbieters ist, was bedeutet, dass es eine Herausforderung sein kann, einen sachkundigen Support-Mitarbeiter zu finden.
Eigentlich ist es eine Herausforderung, überhaupt Support zu finden. Keiner dieser Anbieter wollte auf unsere Anfragen antworten. Ein weiterer Nachteil ist, dass die Beschaffung von Dokumentationen zu den SSO-bezogenen Funktionen ebenfalls einige Mühe erfordert. (Im Fall von Walrus erwies es sich als unmöglich, die Preise zu erfahren.)
Die Tools bieten gemeinsame Funktionen:
- Automatisierte Fehlererkennung. Wenn ein Anmeldeskript fehlschlägt, können Sie es identifizieren, bevor Ihre Benutzer anrufen und sich beschweren.
- Schnelle Erstellung neuer Testskripte. Wenn Sie sich erst einmal mit dem Tool vertraut gemacht haben, können Sie innerhalb weniger Minuten neue Skripte erstellen. Das Schreiben von Skripten sollte auch einfacher sein als das Debuggen von SAML- oder JSON-Code-Fehlermeldungen.
- Software-Schwachstellentests. (Ich behandle dies weiter unten.)
Wenn Sie das SSO-Modul von Okta verwenden, können Sie die meisten dieser Automatisierungstools ausprobieren und sehen, welches Ihnen am besten gefällt. Wenn Sie Auth0 (das Okta Anfang des Jahres übernommen hat, aber als unabhängiges Produkt weiterführt), Ping oder etwas anderes verwenden, haben Sie nur begrenzte Möglichkeiten, bis die Anbieter ihre Unterstützung erweitern.
Testen auf Sicherheitslücken
Beim Aufbau einer SSO-Implementierung werden Sie wahrscheinlich einige Probleme haben, um sicherzustellen, dass ein böser Akteur nicht durch Ihre Infrastruktur schlüpft. In einem extremen Beispiel war ein Hacker in der Lage, kryptografische Token zu vergiften, um die Berechtigung für Active Directory zu erweitern.
Andere Umstände sind häufiger, wie z. B.:
- Können Sie leicht herausfinden, ob Benutzer, die nicht mehr beschäftigt sind, erfolgreich aus Ihren Anmeldungen entfernt worden sind?
- Können Sie nach nicht benötigten Admin-Benutzern, einfachen Passwörtern oder falsch konfigurierten Netzwerkzonen suchen?
- Können Sie das SSO-Protokoll eines Anbieters analysieren, und wenn ja, wie geschieht dies? (Das Dorothy-Tool von Elastic beispielsweise verwendet Fleet für genau diesen Zweck).
Man könnte meinen, dass allgemeine Schwachstellen-Scanner einige dieser Aufgaben übernehmen können, aber wiederum nicht unbedingt auf die Unantastbarkeit Ihres SSO-Systems ausgerichtet sind. Hier kommt SSOScan ins Spiel, der einzige universelle SSO-Schwachstellen-Scanner, den ich finden konnte, der sogar noch eingeschränkter ist, weil er nur mit den SSO-Logins von Facebook funktioniert. Da es sich um einen Open-Source-Scanner handelt, können Sie untersuchen, wie er aufgebaut ist, und ihn vielleicht so ändern, dass er mit Ihrer SSO-Implementierung funktioniert. Das kann mehr Aufwand bedeuten, als es wert ist, wenn Sie Facebook-Integrationen nicht verwenden und sich nicht darum kümmern.
Das Testen Ihrer SSO-Konfiguration kann frustrierend sein. Einige neue Tools von Drittanbietern können Ihnen dabei helfen, insbesondere wenn Sie die SSO-Umgebung von Okta nutzen. Andere SSO-Anbieter haben nur langsam bessere automatisierte Methoden entwickelt. Wenn Sie Okta, Ping oder Auth0 SSO verwenden, sollten Sie mit deren Tools beginnen. Wenn Sie etwas anderes haben, beginnen Sie entweder mit den Code-Bibliotheken von CyberArk oder NetIQ. Fügen Sie dann Ihre Automatisierungsschicht mit dem Tool hinzu, das Ihnen am vertrautesten ist.
*David Strom schreibt und spricht für CSO Online, Network World, Computerworld und andere Publikationen über Sicherheits-, Netzwerk- und Kommunikationsthemen.
Be the first to comment