Qualität und Services - Pünktlich und zuverlässig liefern Qualitätssicherung von morgen Microservices: Architektur agil skalieren - SOAPARK
←
→
Transkription von Seiteninhalten
Wenn Ihr Browser die Seite nicht korrekt rendert, bitte, lesen Sie den Inhalt der Seite unten
www.bt-magazin.de 1.2015 Heft 20 € 4,90 Qualität und Services Pünktlich und zuverlässig liefern Qualitätssicherung von morgen Microservices: Architektur agil skalieren ©iStockphoto.com/tapilipa
SAML Single Sign-On (SSO) mit SAML implementieren Anwendungssicherheit mit SAML Unsere Welt ist seit Jahren durch eine wachsende Flut an Software geprägt. Große Unternehmen nutzen heute insbesondere Webapplikationen, um schnel- ler und flexibler auf die Anforderungen der Märkte zu reagieren. Viele davon sind zu unverzichtbaren Bausteinen der Geschäftsprozesse geworden. Aus diesem Grund sind Interoperabilität und Integration von großer Wichtigkeit. Internet- und Cloud-Architekturen tragen dazu bei, dass man fast von jedem Punkt der Erde Zugriff auf diese Applikationen erhält. Doch damit steigt auch das Risiko von un- berechtigtem Zugriff und Missbrauch. AUTOREN: MAMOON YUNUS UND DR. DIRK KRAFZIG Die typische Herangehensweise an die nötigen Schutz- Schwachpunkt. Mit der wachsenden Anzahl an öffentlich maßnahmen ist meist simpel. Jede Anwendung erhält eine zugänglichen Applikationen steigt die Wahrscheinlich- Login-Maske, die Benutzername und Kennwort abfragt. keit für Sicherheitslücken. Gelingt es einem Angreifer, Obwohl dies auf den ersten Blick eine logische und einfa- eine dieser Anwendungen zu kompromittieren, so ist die che Methode zu sein scheint, ist sie in der Praxis mit ho- Sicherheit aller Anwendungen gefährdet. hem Aufwand verbunden und kann zu unvermeidbaren Sicherheitslücken führen. Indem man den einzelnen Ap- FEDERATED IDENTITY MANAGEMENT plikationen aufbürdet, Benutzeridentitäten zu speichern Die daraus folgenden Herausforderungen führen ge- und diese unter Umständen mit anderen Benutzerdaten- radewegs zu Lösungsansätzen, die sich einer Disziplin banken zu synchronisieren, schafft man einen eklatanten bedienen, die unter der Bezeichnung Federated Identity Management (FIdM) unterschiedliche Standards und Artikelserie Vorgehensweisen umfasst. FIdM verwendet standardi- sierte Policies und Protokolle, um einzelnen Benutzern Teil 1: Anwendungssicherheit mit SAML – den Zugriff auf verschiedene Anwendungen zu ermög- Eine Einführung lichen, wenn diese von unterschiedlichen Systemen be- Teil 2: Implementierung von SAML SSO in der Praxis reitgestellt werden. Ein besonderer Vorteil von FIdM ist es, dass Geschäftspartner gegenseitig auf Anwendungen 56 bt | 1.2015 www.bt-magazin.de
zugreifen können, ohne dafür Benutzerdatenbanken austauschen zu müssen. Dabei ist das Single Sign-On ein angenehmes Nebenprodukt. Single Sign-On (SSO) ist die Fähigkeit von Benutzern, sich mit einem Satz an Anmeldedaten in mehrere Anwendungen einzuloggen. Obwohl es zahlreiche Standards wie OAuth, OpenID oder proprietäre Lösungen für FIdM gibt, setzt sich Se- curity Assertion Markup Language (SAML) als die viel- seitigste und am meisten genutzte Lösung durch. Dieser Artikel beschreibt, was SAML ist, zeigt ihre Vorteile und Funktionsweise auf und wie SAML ein- gesetzt werden kann, um Single Sign-On (SSO) sowie Limitationen von SAML zu implementieren, sowie Li- mitationen von SAML. WAS IST SAML? SAML wurde vom OASIS Security Services Technical Committee (SSTC) definiert. Es ist ein XML-basiertes Framework, das verwendet werden kann, um Benutzer zu authentisieren und autorisieren sowie Attribute und Privilegien von Benutzern zu kommunizieren. Dabei ist Abb. 1: Konzepte von SAML es nicht notwendig, dass kritische Daten wie zum Bei- spiel Kennworte oder Benutzerkennungen zwischen An- Schutzmaßnahmen konzentrieren müssen. SAML bietet wendungen ausgetauscht werden. Der SAML-Standard seinerseits einen hohen Grad an Schutz durch die Ver- ist durch mehrere Iterationen gegangen und wird heute wendung von Public-Key-Infrastrukturen (PKI). als ein stabiles, erprobtes und reifes Framework angese- Viele Anwender halten die Benutzerfreundlichkeit hen. Die erste Version von SAML, V1.0, wurde im No- für eine der größten Stärken von SAML. SAML kann vember 2002 veröffentlicht. Die aktuelle Version, V2.0, Eigenschaften und Rechte von Benutzern an einen Ser- stammt von März 2005. Die letzten freigegebenen Än- vice Provider (einer Anwendung) sicher weitergeben. derungen am Standard (Errata) stammen von Mai 2012. Dazu verwendet SAML so genannte Assertions, eines der stärksten Konzepte aus dem SAML-Standard. As- DIE VORTEILE VON SAML sertions ermöglichen es dem Identity Provider (Benut- SAML ist in großen Unternehmen vor allem aus drei zerdatenbank), detaillierte Informationen über Benutzer Gründen beliebt: Es ist standardisiert, sicher und ermög- bereitzustellen, insbesondere zur Art der Zugriffsrechte, licht eine einfache Handhabung durch Benutzer. die Benutzer auf verschiedene Anwendungen haben. Durch die Standardisierung ermöglicht SAML die In- teroperabilität verschiedener Anwendungen unabhängig WIE FUNKTIONIERT SAML? von der eingesetzten Technologie. Es ermöglicht offene Um die Funktionsweise von SAML zu verstehen, müs- Architekturen und Identity Federation, ohne dass die sen drei Parteien eingeführt werden: Benutzer, Identity Nachteile von geschlossenen, proprietären und hersteller- Provider (IdP) und Service Provider (SP). Der Benutzer spezifischen Lösungen in Kauf genommen werden müs- repräsentiert die Person, die eine Anwendung verwen- sen, oder dass ein Integrationsmehraufwand entsteht. den möchte. Der Service Provider repräsentiert die An- Besonders bei unternehmenskritischen Anwendungen wendung, die der Benutzer verwenden will. Der Service ist Sicherheit das A und O. SAML kann dafür eingesetzt Provider wird häufig auch als SAML Relying Party be- werden, eine zentrale Authentifizierung zu implementie- zeichnet, da der Service Provider auf die Inhalte vertraut, ren. Dabei kann eine zentrale Benutzerdatenbank ver- die ihm über SAML bereitgestellt werden. Der Identity wendet werden, die in höchstem Maße abgesichert wird. Provider speichert die Information über den Benutzer Originäre Benutzerdaten können hinter der Firewall ver- (z. B. Benutzername, Kennwort, x.509, Rollen etc.) und bleiben, während SAML Benutzeridentitäten verifiziert. wird häufig auch als SAML Asserting Party bezeichnet. Das bedeutet, dass Anwendungen keine Benutzerdaten Das SAML-Framework beherbergt vier wichtige speichern oder synchronisieren müssen. Das wieder- Konzepte: Assertions, Protokolle, Bindings und Profile um bedeutet, dass es weniger Orte gibt, auf die sich die (Abb. 1). www.bt-magazin.de bt | 1.2015 57
SAML ermöglicht das Anmelden bei mehreren Anwendungen zugleich. Assertions In anderen Anwendungsfällen würde man dazu ausge- Eine SAML-Assertion ist eine XML-Struktur, die Ei- feiltere Verfahren anwenden bzw. die Person, die die- genschaften des Benutzers enthält. SAML-Assertions se Prüfung durchführt, speziell ausbilden. Sobald der werden durch den Identity Provider erstellt und vom Personalausweis als gültig anerkannt ist, wertet der Ki- Service Provider konsumiert. SAML-Assertions und die osk die Inhalte (Assertions) des Ausweises aus, um zu Kontextinformationen erlauben es dem Service Provi- entscheiden, ob der Benutzer Alkohol erwerben darf. der, Entscheidungen über Gewährung oder Ablehnung Dabei wird das Foto herangezogen, um Benutzer und von Zugriffswünschen eines authentifizierten Benutzers SAML-Token einander zuzuordnen. Zudem wird das zu treffen. Geburtsdatum überprüft, um letztendlich die Autorisie- Bevor SAML-Assertions konsumiert werden, über- rungsentscheidung zu treffen. prüft der Service Provider die digitale Signatur (DSIG), um die Integrität und Authentizität des SAML-Tokens Protokolle zu verifizieren. Sobald der SAML-Token verifiziert ist, Häufig werden die Assertions vom Identiy Provider analysiert der Service Provider den Inhalt und trifft ent- als Reaktion einer Anfrage durch den Service Provider sprechende Entscheidungen über Zugriffe. Es gibt drei erstellt. Solche Frage/Antwort-Muster werden SAML- Typen von SAML-Assertions: Protokolle genannt. Im Standard gibt es sechs fest defi- nierte SAML-Protokolle, um unterschiedliche Aktionen • Authentication Statements: Authentication Statements durchzuführen: informieren den Service Provider darüber, dass der Be- nutzer durch den Identity Provider authentifiziert wur- • Authentication Request Protocol: Das Authentication de, wann die Authentifizierung stattfand und welche Request Protocol wird verwendet, um Assertions über Methode dazu angewandt wurde. Das Authentication den Benutzer vom Identity Provider zu erhalten. Ziel Statement kann zusätzliche Information über den Be- ist es, einen Security Context mit dem Service Provider nutzer im Kontext der Authentifizierung enthalten. zu etablieren. Dieses Protokoll wird im weit verbreite- • Attribute Statements: Mit Attribute Statements liefert ten Web Browser SSO Profile verwendet. der Service Provider Informationen über spezifische, • Single Logout Protocol: Das Single Logout Protocol den Benutzer identifizierenden Attribute. erlaubt es, alle Sessions eines Benutzers zu terminie- • Authorization Decision Statements: Authorization ren. Das Logout kann durch den Benutzer, den Service Decision Statements liefern Informationen darüber, Provider oder den Identity Provider eingeleitet wer- welche Ressourcen ein Benutzer verwenden darf. den. Beispielsweise kann das Single Logout Protocol vom Service Provider nach einem Timeout der Benut- Hier eine kleine Analogie zur Illustration der Konzep- zersession verwendet werden (Szenario: Benutzer geht te: Eine Person möchte eine Flasche Schnaps an einem in die Mittagspause). Kiosk kaufen. In dem Beispiel ist die Person, die den Al- • Assertion Query and Request Protocol: Das Assertion kohol erwerben möchte, der Benutzer. Der Kiosk ist der Query and Request Protocol definiert Nachrichten- Service Provider, der Wohnort der Person, die den Per- typen und Verarbeitungsregeln, um bereits bekannte sonalausweis herausgegeben hat, der Identity Provider Assertions per Referenz abzufragen oder über Such- und der Personalausweis entspricht dem SAML-Token. parameter nach Assertions zu suchen. Wie bereits erwähnt, muss der Service Provider die Si- • Artifact Resolution Protocol: Das Artifact Resolution gnatur des SAML-Tokens prüfen, bevor er den Inhalt Protocol ermöglicht es, Referenzen auf SAML-Nach- konsumiert. Das entspricht einer Prüfung, ob der Per- richten zu versenden, statt die Nachrichten selbst zu sonalausweis keine Fälschung und nicht abgelaufen ist. übermitteln. Mit diesem Protokoll werden sehr kleine Diese Prüfung führt der Kiosk (Service Provider) bzw. SAML-Artifacts via SAML-Binding anstelle einer grö- der Verkäufer im Kiosk durch scharfes Hinsehen aus. ßeren SAML-Nachricht verwendet. Das Protokoll stellt 58 bt | 1.2015 www.bt-magazin.de
Abb. 2: Schematischer Ablauf von SSO auch die Möglichkeit bereit, die Referenz aufzulösen WIE WIRD SAML FÜR SSP VERWENDET? und die Originalnachricht zu erhalten. Das Protokoll SAML ermöglicht es Benutzern, mehrere Anwendun- wird verwendet, wenn die Nachrichtengröße kritisch gen mit einem einzigen Satz an einmalig eingegebenen ist oder wenn man die SAML-Nachrichten über einen Anmeldedaten zu verwenden. Dadurch wird die Be- separaten sicheren Kanal transportieren möchte. nutzung der Anwendungen einfacher und geschäftli- • Name Identifier Management Protocol: Das Name che Transaktionen können reibungslos und effizienter Identifier Management Protocol ermöglicht es, den durchgeführt werden. Schon heute wird SSO bereits Wert oder das Format eines Identifiers, der mit einem häufig eingesetzt: Sei es, dass wir Onlinebanking ma- Benutzer verknüpft ist, zu verändern. Die Anfrage chen, mobile Applikationen nutzen oder auf einer kann vom Service Provider oder vom Identity Provider Webseite nach komplexen und verschachtelten Infor- ausgelöst werden. mationen suchen. • Name Identifier Mapping Protocol: Das Name Identi- Wenn sich beispielsweise ein Bankkunde über die fier Mapping Protocol ermöglicht es dem Service Pro- Website seiner Bank einloggt, wird er im technischen vider in einem Integrationsszenario, einen Identifier Sinn regelmäßig unterschiedliche Applikationen ver- für einen Benutzer beim Identity Provider abzufragen, wenden, um auf seine Sparkonten, Kreditkarteninfor- um auf einen weiteren Service Provider zuzugreifen. mationen, die Öffnungszeiten seiner Filiale u. v. m. zugreifen zu können. Verschiedene Bankprodukte Bindings (wie Sparkonto oder Kreditkarte) werden in der Regel SAML-Bindings legen fest, wie die Nachrichten im Rah- durch unterschiedliche Backend-Systeme unterstützt. men der SAML-Protokolle transportiert werden. Typi- Um dem Kunden eine benutzerfreundliche Bedienung scherweise werden SAML-Protokolle über SOAP oder der Website zu ermöglichen, müssen die verschiedenen HTTP transportiert. Anwendungen ohne Medienbrüche zusammenarbeiten. Folglich ist ein sicheres Verfahren erforderlich, dass es Profile dem Benutzer nach dem Login ermöglicht, die Daten aus SAML-Profile bündeln Assertions, Protokolle und Bin- unterschiedlichen Anwendungen bequem aufzurufen. dings für spezifische Anwendungsfälle. Eines der am häu- Und genau das ermöglicht SAML. figsten verwendeten SAML-Profile ist das Web Browser Betrachten wir die einzelnen Schritte, die es erfordert, SSO Profile. um ein SAML-Token zu generieren und es anschließend www.bt-magazin.de bt | 1.2015 59
dazu zu verwenden, Zugriff auf eine Anwendung zu er- • PKI und CPU: Die in den SAML-Assertions einher- halten. Abbildung 2 zeigt die grundlegenden Schritte, gehende Vertrauensstellung zwischen Identity und wie SSO mit SAML funktioniert: Service Provider setzt die Verarbeitung von digitalen Signaturen voraus. Das erfordert neben dem Fach- 1. Authentifizierung des Benutzers gegen den Identity wissen seitens der Entwickler eine entsprechende Provider unter Verwendung von Einzelfaktor oder CPU-Bandbreite und ein funktionierendes Schlüssel- Mehrfaktorauthentifizierung. management im Rahmen einer PKI. 2. Der Identity Provider gibt ein SAML-Token mit den Assertions an den Benutzer heraus. In mobilen Legacy-Anwendungen mit SAML auszustatten, kann Endgeräten und Webbrowsern wird SAML oft mit zeitaufwändig und kostspielig sein. Aus diesem Grund BASE64 in die HTML-Response eingebettet. werden häufig API-Gateways eingesetzt, die diese Prob- 3. Der Browser des Benutzers wird vom Identity Provi- leme out of the box lösen. Dadurch wird vermieden, dass der zum Service Provider weitergeleitet. Der Brow- bestehende Anwendungen auf Codeebene verändert wer- ser des Benutzers stellt seine Anfrage an den Service den müssen, und trotzdem ein zukunftsweisender Ansatz Provider mit dem eingebetteten SAML-Token. Der basierend auf SAML SSO vorangetrieben werden kann. Service Provider prüft das SAML-Token und seinen Inhalt, um die Zulässigkeit der Anfrage basierend Links & Literatur auf der Vertrauensstellung mit dem Identity Provi- [1] Security Assertion Markup Language (SAML) 2.0 Technical der zu klären. Der Service Provider stellt den Zugriff Overview: https://www.oasis-open.org/committees/download. php/11511/sstc-saml-tech-overview-2.0-draft-03.pdf auf die verschiedenen Onlinebankinganwendungen [2] SAML Executive Overview:https://www.oasis-open.org/ basierend auf den SAML-Assertions, die im Token committees/download.php/11785/sstc-saml-exec-overview- enthalten sind, bereit. 2.0-draft-06.pdf [3] Advantages of SAML: http://saml.xml.org/advantages-saml In der Praxis gibt es zwei Spielarten, nämlich „Service Provider initiated SAML“ und „Identity Provider initi- ated SAML“. Diese unterscheiden sich darin, ob der Be- nutzer den allerersten Request an den Identity Provider Mamoon Yunus oder den Service Provider sendet. Auf dieses und viele weitere Details werden wir in der nächsten Ausgabe mit ist CEO von Crosscheck Networks, ei- nem führenden Technologieanbieter für dem Artikel „Implementierung von SAML SSO in der Cloud- und Web-Services-Infrastruktu- Praxis“ eingehen. ren. Als SOA Pionier und Gründer von SAML SSO ermöglicht Benutzern das Verwenden Forum Systems hat er wichtige Tech- mehrerer Anwendungen ohne Medienbrüche. Zudem niken für XML Appliances patentieren kann mit SAML SSO vermieden werden, dass die teil- lassen. Er besitzt zwei Abschlüsse vom MIT. InfoWorld hat ihn 2004 als nehmenden Anwendungen größeren Änderungen unter- einen von vier „Up and coming CTOs zogen werden müssen, um sich der SAML-Technologie to watch“ ausgezeichnet. anzupassen. LIMITATIONEN VON SAML Dr. Dirk Krafzig Obwohl SAML eine der populärsten Methoden für SSO ist Gründer von SOAPARK. Als Spre- ist, gibt es doch einige Herausforderungen bei der Im- cher auf Konferenzen und Autor von plementierung von SAML-basierten Lösungen – insbe- Artikeln und Büchern gilt Dr. Krafzig sondere bei der Anbindung von Legacy-Anwendungen: als ein Protagonist der serviceori- entierten Architektur (SOA) und hat maßgeblich zu der Begriffsbildung in • Endpunkte mit SAML ausstatten: Um SAML-Assertions diesem Bereich beigetragen. Insbe- zu konsumieren, muss die entsprechende Technologie sondere die SOA-Fallstudien mit der bereitstehen, die es ermöglicht, die XML-Strukturen Deutschen Post, Credit Suisse, Ha- des SAML-Tokens zu dekodieren, die jeweils relevan- lifax Bank of Scotland und Winter- thur Versicherung in seinem Bestseller „Enterprise SOA“ ten Aspekte zu parsen und anschließend rollenbasiert haben viel Aufmerksamkeit auf sich gezogen. Derzeit ar- Entscheidungen über den Zugriff zu treffen. Das kann beitet Dr. Krafzig in einem strategischen SOA-Programm schwierig sein, wenn diese Aufgaben in die Hand der bei einem Mobilfunkanbieter an dem Thema Security. Entwickler der Legacy-Backends gelegt werden. 60 bt | 1.2015 www.bt-magazin.de
Sie können auch lesen