Absicherung von Web Services in der Praxis Frank Riedel Senior IT-Architekt FSP GmbH 1 Frank Riedel | FSP GmbH | BiPRO-Tag 2014 | 25./26. Juni | Neuss Kurzvorstellung FSP Unternehmenssitz: Köln Seit 2002 erfolgreich am Markt 40 Mitarbeiter 2 Frank Riedel | FSP GmbH | BiPRO-Tag 2014 | 25./26. Juni | Neuss Kurzvorstellung FSP Software Business Consulting Fachkonzeption Aktuarielle Beratung Prozessoptimierung Projekt-/ Testmanagement IT Consulting & Development Softwareentwicklung IT-Architektur IT-Security IT-Projekt- / Testmanagement 3 Frank Riedel | FSP GmbH | BiPRO-Tag 2014 | 25./26. Juni | Neuss Kurzvorstellung FSP 4 Frank Riedel | FSP GmbH | BiPRO-Tag 2014 | 25./26. Juni | Neuss Agenda Allgemeine Anforderungen Lösungsarchitekturen Praxisbeispiele 5 Frank Riedel | FSP GmbH | BiPRO-Tag 2014 | 25./26. Juni | Neuss Allgemeine Anforderungen Web Service Definition: A Web service is a software system designed to support interoperable machine-to-machine interaction over a network. It has an interface described in a machine-processable format (specifically WSDL). Other systems interact with the Web service in a manner prescribed by its description using SOAP messages, typically conveyed using HTTP with an XML serialization in conjunction with other Web-related standards. Quelle: W3C 6 Frank Riedel | FSP GmbH | BiPRO-Tag 2014 | 25./26. Juni | Neuss Allgemeine Anforderungen Kategorien von Gefährdungen • Höhere Gewalt • Organisatorische Mängel • Menschliche Fehlhandlungen • Technisches Versagen • Vorsätzliche Handlungen 7 Frank Riedel | FSP GmbH | BiPRO-Tag 2014 | 25./26. Juni | Neuss Allgemeine Anforderungen Gefährdungspotentiale • SQL Injection • XML-Poisoning • WSDL-Scanning • XML-basierte Angriffe • WSDL-Probing • Angriffe auf den Parser der XML-Engine 8 Frank Riedel | FSP GmbH | BiPRO-Tag 2014 | 25./26. Juni | Neuss Allgemeine Anforderungen OWASP Top10 - 2013 A1 – Injection A2 – Broken Authentication and Session Management A3 – Cross Site Scripting (XSS) A4 – Insecure Direct Object References A5 – Security Misconfiguration A6 – Sensitive Data Exposure A7 – Missing Function Level Access Control A8 – Cross-Site Request Forgery (CSRF) A9 – Using Known Vulnerable Components A10 – Unvalidated Redirects and Forwards 9 Frank Riedel | FSP GmbH | BiPRO-Tag 2014 | 25./26. Juni | Neuss Allgemeine Anforderungen Anforderungen an die Sicherheit 10 • Vertraulichkeit • Autorisierung • Integrität • Authentizität • Verbindlichkeit • Nichtabstreitbarkeit • Verfügbarkeit Frank Riedel | FSP GmbH | BiPRO-Tag 2014 | 25./26. Juni | Neuss Allgemeine Anforderungen Einhaltung rechtlicher Anforderungen • Vertragsrechtliche Bestimmungen • Geltende Gesetze • OLAs (Operational Level Agreements) • SLAs (Service Level Agreements) 11 Frank Riedel | FSP GmbH | BiPRO-Tag 2014 | 25./26. Juni | Neuss Agenda Allgemeine Anforderungen Lösungsarchitekturen Praxisbeispiele 12 Frank Riedel | FSP GmbH | BiPRO-Tag 2014 | 25./26. Juni | Neuss Lösungsarchitekturen Transportsicherheit – SSL/TLS Anwendungsschicht (Application Layer) XML-Schicht Darstellungsschicht (Presentation Layer) Sitzungsschicht (Session Layer) SOAP BEEP SMTP Transportschicht (Transport Layer) HTTP FTP SSL/TLS TCP UDP Vermittlungsschicht (Network Layer) IP (v4, v6), X.25, SPX, IPX Sicherungsschicht (Data Link Layer) HDLC, SLIP, PPP, Ethernet, IEEE 802.x Bitübertragungsschicht (Physical Layer) 13 analoges Modem, V.90, ISDN, ADSL Frank Riedel | FSP GmbH | BiPRO-Tag 2014 | 25./26. Juni | Neuss Lösungsarchitekturen XML Security Anwendungsschicht (Application Layer) XML-Schicht Darstellungsschicht (Presentation Layer) Sitzungsschicht (Session Layer) SOAP BEEP SMTP Transportschicht (Transport Layer) HTTP FTP SSL/TLS TCP UDP Vermittlungsschicht (Network Layer) IP (v4, v6), X.25, SPX, IPX Sicherungsschicht (Data Link Layer) HDLC, SLIP, PPP, Ethernet, IEEE 802.x Bitübertragungsschicht (Physical Layer) 14 analoges Modem, V.90, ISDN, ADSL Frank Riedel | FSP GmbH | BiPRO-Tag 2014 | 25./26. Juni | Neuss Lösungsarchitekturen Übersicht XML-Security Standards • XML-Encryption (W3C) • XML-Signature (W3C) • XML Key Management Specification (XKMS) (W3C) • eXtensible Access Control Markup Language (XACML) (OASIS) • eXtensible rights Markup Language (XrML) (OASIS) • Security Assertion Markup Language (SAML) (OASIS) 15 Frank Riedel | FSP GmbH | BiPRO-Tag 2014 | 25./26. Juni | Neuss Lösungsarchitekturen XML Encryption (W3C) • Vertraulichkeit von XML-Daten durch Verschlüsselung • Verschlüsselung ganzer XML-Dokumente oder fein abgestuft (selektive Verschlüsselung) • von Elementgruppen • einzelnen Elementen • Elementinhalten • Unterschiedliche Schlüssel für verschiedene Teile eines Dokuments • Dadurch sind bestimmbare Abschnitte eines Dokuments nur für bestimmte Empfänger lesbar (End-to-End-Security) 16 Frank Riedel | FSP GmbH | BiPRO-Tag 2014 | 25./26. Juni | Neuss Lösungsarchitekturen XML Signature (W3C) • Integrität und Verbindlichkeit von XML-Daten durch digitale Signaturen • Signieren / Verifizieren ganzer XML-Dokumente oder selektiver Teile • Digitale Signaturen werden persistenter Bestandteil des Dokuments und bleiben somit dauerhaft verifizierbar • Alle per URI referenzierbaren Datenobjekte sind flexibel mit verschiedenen Optionen (enveloped, enveloping oder detached) signierbar 17 Frank Riedel | FSP GmbH | BiPRO-Tag 2014 | 25./26. Juni | Neuss Lösungsarchitekturen XML Key Management Specification (XKMS) (W3C) • Verwaltung und Verifikation öffentlicher Schlüssel (Zertifikate) • Zwei XML-basierte Request- / Response-Protokolle: • XKRSS: Generierung und Registrierung öffentlicher und privater Schlüssel • XKISS: Finden und Verifizieren öffentlicher Schlüssel bzw. Zertifikate 18 Frank Riedel | FSP GmbH | BiPRO-Tag 2014 | 25./26. Juni | Neuss Lösungsarchitekturen eXtensible Access Control Markup Language (XACML) (OASIS) • XML-basierte Spezifikation zur Definition von Autorisierungspolitiken • Zugriffskontrolle durch Auswertung von Regeln (Subjekte, Ressourcen, Aktionen) • Request- / Response-Protokoll zur Abfrage von Zugriffskontrollentscheidungen • ABAC-Profil spezifiziert (attributbasierte Zugriffskontrolle) • RBAC-Profil spezifiziert (rollenbasierte Zugriffskontrolle) 19 Frank Riedel | FSP GmbH | BiPRO-Tag 2014 | 25./26. Juni | Neuss Lösungsarchitekturen eXtensible rights Markup Language (XrML) (OASIS) • XML-basierte Spezifikationsgrammatik zur Beschreibung von Rechten und Bedingungen, die mit der Nutzung digitaler Ressourcen (Software, Services, Hardware) verbunden ist 20 Frank Riedel | FSP GmbH | BiPRO-Tag 2014 | 25./26. Juni | Neuss Lösungsarchitekturen Security Assertion Markup Language (SAML) (OASIS) • XML-basiertes Request- / Response-Protokoll zum Austausch von Autorisierungs- und Authentifizierungsinformationen • Ermöglicht Anfragen von SAML-Authorities von • Authentifizierungsaussagen über die Authentizität von Subjekten einer Domäne • Autorisierungsanfragen über Zugriffsrechte von Subjekten auf Ressourcen einer Domäne • Bietet die Basis für Single Sign-on (SSO) 21 Frank Riedel | FSP GmbH | BiPRO-Tag 2014 | 25./26. Juni | Neuss Lösungsarchitekturen Übersicht WS-*-Standards • WS-Security • WS-SecureConversation • WS-SecurityPolicy • WS-Trust • WS-Federation 22 Frank Riedel | FSP GmbH | BiPRO-Tag 2014 | 25./26. Juni | Neuss Lösungsarchitekturen WS-Security Schutz der Nachrichten vor unerlaubter Einsicht und vor Veränderung durch Dritte Sicherstellung von Nachrichtenintegrität und –verschlüsselung: • Übertragung von Security Tokens • Signieren von Nachrichten • Verschlüsseln von Nachrichten Unterstützung verschiedener Security Tokens: • Benutzername, Passwort • X.509 • Kerberos • SAML 23 Frank Riedel | FSP GmbH | BiPRO-Tag 2014 | 25./26. Juni | Neuss Lösungsarchitekturen WS-SecureConversation Beschreibt die Gegenseitige Authentifizierung bei Web Services Methoden zur Erstellung des Security-Contexts: • durch Security Token Service (STS) • durch Kommunikationspartner • durch Aushandeln unter den Teilnehmern 24 Frank Riedel | FSP GmbH | BiPRO-Tag 2014 | 25./26. Juni | Neuss Lösungsarchitekturen WS-SecurityPolicy • Definition „sicherheitsbasierter Policy Assertions“ • Absicherung der Übertragung durch WS-Security, WS-Trust und WS-SecureConversation • Zusicherungen auf unterschiedlichen Kommunikationsebenen: • Protection Assertions • Token Assertions • Security Binding Assertions 25 Frank Riedel | FSP GmbH | BiPRO-Tag 2014 | 25./26. Juni | Neuss Lösungsarchitekturen WS-Trust • Erweitert die WS-Security Spezifikation um das Herausgeben, Erneuern und Validieren von SecurityTokens • Beinhaltet das Konzept eines Security Token Service (STS) 26 Frank Riedel | FSP GmbH | BiPRO-Tag 2014 | 25./26. Juni | Neuss Lösungsarchitekturen WS-Federation • Vermittlung (brokering) von Identitäten • Auffinden und Erlangen von Attributen (discovery und retrieval) • Authentisierung, Authentifizierung und Autorisierung von Claims • Schutz der Vertraulichkeit (privacy) 27 Frank Riedel | FSP GmbH | BiPRO-Tag 2014 | 25./26. Juni | Neuss Lösungsarchitekturen Vergleich der Lösungsarchitekturen Vertraulichkeit SSL / TLS x XML Encryption x Autorisierung x Security Assertion Markup Language (SAML) x x Authentizität x x x x x WS-SecurityPolicy 28 x x WS-SecureConversation WS-Trust Verbindlichkeit x XML Signature WS-Security Integrität x x Frank Riedel | FSP GmbH | BiPRO-Tag 2014 | 25./26. Juni | Neuss x x x Agenda Allgemeine Anforderungen Lösungsarchitekturen Praxisbeispiele 29 Frank Riedel | FSP GmbH | BiPRO-Tag 2014 | 25./26. Juni | Neuss Praxisbeispiele Absicherung von Web Services mit Medusa und Airlock Client Corporate Network Airlock Medusa A STS Web Service (IDP) 30 Directory Database PKI Frank Riedel | FSP GmbH | BiPRO-Tag 2014 | 25./26. Juni | Neuss B Web Services C Praxisbeispiele Cross-Domain Single Sign-on mit Medusa und Airlock Client SAML Ticket SAML Ticket SAML Ticket Corporate Network 1 Corporate Network 2 Corporate Network 3 Airlock D STS Web Service (IDP) Medusa Web Service A Directory 31 Database PKI Frank Riedel | FSP GmbH | BiPRO-Tag 2014 | 25./26. Juni | Neuss B Web Services C Praxisbeispiele Identity-Plattform Broker Gate 32 Frank Riedel | FSP GmbH | BiPRO-Tag 2014 | 25./26. Juni | Neuss Praxisbeispiele Identity-Plattform Broker Gate 33 Frank Riedel | FSP GmbH | BiPRO-Tag 2014 | 25./26. Juni | Neuss Praxisbeispiele Identity-Plattform Broker Gate 34 Frank Riedel | FSP GmbH | BiPRO-Tag 2014 | 25./26. Juni | Neuss Vielen Dank für Ihre Aufmerksamkeit! Frank Riedel Senior IT-Architekt Tel.: +49 2203 371 000 0 E-Mail: [email protected] 35 FSP GmbH Albin-Köbis-Straße 8 51147 Köln Tel.: +49 2203 371 000 0 Fax: +49 2203 371 000 21 Frank Riedel | FSP GmbH | BiPRO-Tag 2014 | 25./26. Juni | Neuss [email protected] http://www.fsp-gmbh.com