5 bewährte Verfahren zur Sicherung von Single-Sign-On-Systemen Gehen Sie nicht davon aus, dass SSO von Natur aus sicher ist. Beachten Sie die folgenden Hinweise, um unbefugten Zugriff aufgrund von Authentifizierungsfehlern zu verhindern. [...]
Die jüngste „Sign in with Apple„-Schwachstelle brachte einem Forscher im Rahmen des Bug-Bounty-Programms von Apple 100.000 Dollar ein. Die Schwachstelle selbst entstand durch eine OAuth-Implementierung, die die JSON Web Token (JWT)-Authentifizierung zwischen Anfragen nicht ordnungsgemäß validierte. Dies hätte es einem böswilligen Akteur ermöglicht, sich „bei Apple anzumelden“, indem er die Apple-ID einer anderen Person benutzt hätte.
Die Schwere des Fehlers, wie einfach er verursacht wurde und wie leicht er hätte verhindert werden können, legt nahe, dass Sie die von Ihren Unternehmenssystemen verwendeten Single-Sign-On-Implementierungen (SSO) daraufhin überprüfen sollten, wie sie besser gesichert werden können. Single Sign-On (SSO) ist ein zentralisierter Ansatz zur Authentifizierung und Autorisierung. Es verbessert die allgemeine Sicherheit und das Benutzererlebnis (UX), indem es den Endbenutzer davon entlastet, sich wiederholt bei einem Dienst anzumelden oder zu registrieren.
Typischerweise können Authentifizierungsmängel wie dieser auftreten, weil keine ordnungsgemäße Sicherheitsüberprüfung des Arbeitsablaufs durchgeführt wurde. Auch wenn Identitätsmanagementprodukte von Anbietern beschafft werden, ohne dass überprüft wird, ob sie den Branchenspezifikationen genau entsprechen, kann es zu solchen Fehlern kommen. Dies sind die Sicherheitsvorkehrungen, die Sie getroffen haben müssen:
Führen Sie Sicherheitsaudits während der Anschaffung von SSO durch
Aaron Zander, IT-Leiter bei HackerOne, weist darauf hin, dass, da OAuth ein offener Standard ist, jeder dafür verantwortlich ist, ihn zu verbessern. „In der Unternehmenswelt verwenden die meisten Tools wie Okta, Azure AD SSO, die Angebote von Google oder eines der anderen halben Dutzend großer Anbieter, die es gibt. Alle werden unter Verwendung von OAuth, SAML (Security Assertion Markup Language) oder SCIM (System for Cross-domain Identity Management) erstellt, bei denen es sich um offene Sprachen handelt, die auf andere Härtungstechniken wie X.509-[Verschlüsselungs-]Zertifikate angewiesen sind, um sicher zu bleiben.
Unternehmensorganisationen konzentrieren sich oft nicht genug auf die Beschaffungsstandards, um sicherzustellen, dass die Tools über SSO und Provisioning und De-Provisioning verfügen, meint Zander. „IT und Sicherheit werden oft zu spät im Tool-Auswahlverfahren konsultiert, was in der Regel bedeutet, dass die Entscheidungen bereits getroffen wurden, Geld ausgegeben wurde und die beschafften Tools keine SSO verwenden. Die Macht des Single Sign-On beruht auf der Tatsache, dass man umso stärker ist, je mehr Tools es nutzen“, erklärt er.
Schreiben Sie eine Multi-Faktor-Authentifizierung vor
Wie bei jedem kennwortbasierten Authentifizierungssystem garantiert ein zweiter Authentifizierungsfaktor möglicherweise nicht die totale Sicherheit, schreckt aber kompromittierende Vorfälle bei weitem ab. „Einer der am meisten übersehenen und schwächsten Teile jedes SSO-Tools ist die Art und Weise, wie sich die Menschen bei ihm anmelden. Zu viele Organisationen verlassen sich immer noch auf Passwörter, die zu kurz sind, zu oft rotiert werden und nicht für alles MFA benötigen“, so Zander.
Zander empfiehlt, die schwächsten Glieder in einem SSO-Workflow zu stärken, wozu Richtlinien zur Auswahl und Rotation von Passwörtern gehören. Benutzer sollten starke Passwörter (mindestens 32 Zeichen lang mit zufälligen Zeichen) verwenden, die weniger oft gedreht werden müssen, und dass Organisationen MFA in ihren SSO-Implementierungen verwenden.
Evaluieren Sie die architektonische Platzierung und die verwendeten Protokolle
Ihre SSO-Lösung entspricht möglicherweise den Branchenspezifikationen und ist ansonsten sicher. Wo sie sich jedoch in der IT-Architektur Ihres Unternehmens befindet, kann einen großen Unterschied ausmachen. Beispielsweise können bestimmte Architekturanordnungen Quell-IP-Adressen maskieren, was eine Herausforderung darstellt.
„Die architektonische Platzierung einer SSO- oder OAuth-Lösung in Ihrem Authentifizierungsmodell ist sehr wichtig“, sagt Morey Haber, CTO und CISO bei BeyondTrust. Wenn Sie sich auf einen Web-Proxy, einen agentenbasierten Web-Inhaltsfilter, ein VPN oder eine andere Tunneling-Technologie verlassen, kann die Platzierung der SSO-Lösung die tatsächliche Quell-IP-Adresse des ursprünglichen Benutzers stumm schalten. Der Grund dafür ist, dass möglicherweise zuerst ein Tunneling erforderlich ist und die Quelle des gesamten Datenverkehrs zuerst vom selben Standort zu kommen scheint“.
Viele Sicherheitsstrategien beruhen darauf, böswillige IP-Adressen automatisch auf eine Blacklist zu setzen, damit sie nicht auf ein System zugreifen können, oder nur einem bestimmten IP-Subnetz den Zugang zu einem System zu gestatten. Wenn Sie die Quell-IPs nicht analysieren können, bevor der Verkehr zum SSO-System getunnelt wird, wird es zu einer Herausforderung, die Gefährdung des Systems nur auf die vorgesehenen Benutzer zu beschränken.
„Stellen Sie sicher, dass die Technologie richtig in Ihrem Authentifizierungsstapel platziert ist, so dass Sie die wahre Quelle der IP-Adresse des Benutzers sehen können, um ein situatives Bewusstsein auf der Grundlage der Geolokalisierung zu schaffen“, schlägt Haber vor.
Bei SAML-Implementierungen können Peer-Identifizierung und kryptographische Überprüfung das Vertrauen in das „vertrauensbasierte“ System erheblich steigern. Pascal Geenens, Direktor für Threat Intelligence bei Radware, sagt: „Nach meiner Erfahrung mit [SAML] ist der beste Rat, den ich Unternehmen anbieten kann, die Peer-Identifikation und -Validierung mit Hilfe von Zertifikaten sicherzustellen, da das gesamte Single Sign-On vom Vertrauen zwischen den Peers im System abhängt.“
Praktische Ratschläge, die auf Ihre Unternehmensumgebung anwendbar sind, variieren je nachdem, welche Protokolle und in welchem Kontext (lokal, über das Internet usw.) verwendet werden. Die Auswirkungen auf die Sicherheit wären für jeden Systemtyp unterschiedlich und erfordern angesichts des Gesamtarchitekturmodells unterschiedliche Abhilfemaßnahmen.
Geenens schlägt vor, die Unterschiede zwischen den Technologien zu berücksichtigen. JWT, das von „Sign in with Apple“ verwendet wird, ist eine Spezifikation für JSON Web Tokens, die direkt von Anwendungen oder zur Erstellung benutzerdefinierter Authentifizierungs- oder Autorisierungsprotokolle verwendet werden kann. OAuth und SAML sind standardisierte Authentifizierungs- und Autorisierungsprotokolle. Kerberos SSO, Microsoft SSO und AD/LDAP sind für die Verwendung innerhalb des Unternehmens (LAN) konzipiert, während SAML und OAuth für die Verwendung im Internet gebaut sind“.
Erwägen Sie die Verwendung sicherer Alternativen
Ähnlich wie es HTTPS zur Sicherung von HTTP, FTPS und SFTP (die beiden sind nicht dasselbe) für FTP gibt, sind sicherere Protokolle für Ihre bestehende SSO-Einrichtung verfügbar. „LDAPS ist eine LDAP-Konfiguration, die Ihre Verbindung zwischen Active Directory und anderen externen Verbindungen noch sicherer macht“, erklärt Jeff Roscher, Präsident von eWorkOrders. „Es fügt eine zusätzliche Schutzebene durch TLS mit Zertifikaten und Sicherheitsschlüsseln hinzu. Bei eWorkOrders verwenden wir LDAPS, damit Kunden bei der Anmeldung im CMMS ihre eigenen Passwörter verwenden können, anstatt unterschiedliche Anmeldeinformationen für verschiedene Systeme zu erstellen, zu verfolgen und zu verwalten.“
Secure LDAP (LDAPS) ist eine kundenspezifische „LDAP over TLS“-Einrichtung und nicht Teil des eigentlichen LDAP-Standards. Daher werden zusätzliche Verifizierungsschritte von Ihrer Seite aus empfohlen. Prüfen Sie, ob die von Ihnen verwendete LDAPS-Bibliothek SSL im Hinblick auf die Validierung von Hostnamen und Zertifikaten korrekt implementiert.
Begrenzen Sie die Gesamtexposition und die Gültigkeit der Sitzung
Ihre SSO-Lösung wird möglicherweise mit einer vorkonfigurierten Sitzungsgültigkeit und Standardeinstellungen geliefert. Überprüfen und passen Sie diese mit Schwerpunkt auf Sicherheit an. Was passiert zum Beispiel, wenn sich ein Benutzer über ein Facebook-Konto bei einer Anwendung anmeldet? Soll die App über Ihre Facebook-Anmeldedaten auf unbestimmte Zeit autorisiert werden, oder gibt es eine Begrenzung der Gültigkeit dieser Autorisierung? Wenn Sie die Benutzer bitten, Dienste und Anwendungen von Zeit zu Zeit über Ihr SSO-System erneut zu autorisieren, kann dies sehr hilfreich für die Sicherheit sein und schurkische Anwendungen mit unbegrenztem, ungeprüftem Zugriff abschrecken.
„Für die Übertragung empfehlen wir die Verwendung von HTTPS, nicht HTTP, und die SAML-Assertion-Verschlüsselung, um die Sicherheit zu gewährleisten“, rät Piyush Pandey, CEO bei Appsian. „Die Implementierung der SAML-Antragssignatur ist wichtig, um auch die Nachrichtenintegrität zu gewährleisten“, so Pandey. Weitere Verifizierungsempfehlungen sind die Kreuzverifizierung der IdP-Entitäts-ID und der Entitäts-ID [des Dienstanbieters], die Validierung der Ablaufzeit der Behauptung, [und] die Sicherstellung, dass Behauptungen nicht wiederverwendet werden können. Schließlich sollte die ‚InResponseTo‘-Validierung verwendet werden, um Wiederholungsangriffe zu verhindern“.
Die von Pandey empfohlenen Validierungen, insbesondere im Zusammenhang mit der Ablaufzeit von Behauptungen und Antworten, sind entscheidend für die Verhinderung von Replay-Angriffen.
Die Befolgung der oben genannten Strategien und die Durchführung regelmäßiger Tests und Audits mit dem Sicherheitsstift können bei der Erhöhung der Sicherheit Ihrer Corporate Identity Management-Infrastruktur sehr hilfreich sein.
*Ax Sharma ist ein erfahrener Cybersicherheitsexperte und Technologe, der es liebt, zu hacken, ethisch zu handeln und über Technologie zu schreiben, um ein breites Publikum zu informieren.
Be the first to comment