44
Sicherheit in SOA Was kommt auf Entwickler zu? Sebastian Weber

Sicherheit in SOA Was kommt auf Entwickler zu? Sebastian Weber

Embed Size (px)

Citation preview

Page 1: Sicherheit in SOA Was kommt auf Entwickler zu? Sebastian Weber

Sicherheit in SOAWas kommt auf Entwickler zu?Sebastian Weber

Page 2: Sicherheit in SOA Was kommt auf Entwickler zu? Sebastian Weber

Sicherheit in SOA

Sebastian WeberDeveloper Platform & Strategy GroupMicrosoft Deutschland [email protected]

Page 3: Sicherheit in SOA Was kommt auf Entwickler zu? Sebastian Weber

SOA der Hype

„In Architekturfragen zeigen die Unternehmen ein zunehmendes Interesse an der Serviceorientiertung. Im Jahr 2003 noch kaum genannt, liegen SOA-Projekt mittlerweile im Trend.“Quelle: www.computerwoche.de, „Agilität – Stand der Praxis“, 26.04.06

„IT-Dienstleister können mit SOA abkassieren“Quelle: www.cio.de, 10.04.06

„2006 wird das SOA-Jahr“ Quelle: www.cio.de, 03.12.05„SOA treibt das intelligente

Unternehmen“Quelle: www.computerwoche.de, 13.04.06

Page 4: Sicherheit in SOA Was kommt auf Entwickler zu? Sebastian Weber

SOA – was ist ein Dienst?*

==

Daten Logik („Code“)

Web Service

Nachrichten

*Serviervorschlag

Page 5: Sicherheit in SOA Was kommt auf Entwickler zu? Sebastian Weber

SOA – ein Schaubild

Service A Service B

UDDI

Page 6: Sicherheit in SOA Was kommt auf Entwickler zu? Sebastian Weber

SOA und die Sicherheit (I)

Jeder Web Servicebietet Zugang zum System

Service B

UDDI

Service A

Page 7: Sicherheit in SOA Was kommt auf Entwickler zu? Sebastian Weber

SOA und die Sicherheit (II)

Dokumente werdenüber das (Inter-)netversendet

Service B

UDDI

Service A

Page 8: Sicherheit in SOA Was kommt auf Entwickler zu? Sebastian Weber

SOA und die Sicherheit (III)

Services müssen„als Ganzes“geschützt sein

Service B

UDDI

Service A

Page 9: Sicherheit in SOA Was kommt auf Entwickler zu? Sebastian Weber

SOA Security – Es gibt viel zu tun!

Service B

UDDI

Service A

Page 10: Sicherheit in SOA Was kommt auf Entwickler zu? Sebastian Weber

Agenda SOA und Sicherheit

SOA Security Pattern Servicezugang schützen Nachrichten schützen Servicegrenzen sichern

Implementierungsstrategien

Page 11: Sicherheit in SOA Was kommt auf Entwickler zu? Sebastian Weber

Servicezugang schützenAu

then

tifizi

erun

g

Authorisierung

Page 12: Sicherheit in SOA Was kommt auf Entwickler zu? Sebastian Weber

Direkte Authentifizierung (I) Service verlangt

Authentifizierung des Clients

Service fungiert als Autentifizierungsdienst

Client und Server haben ein gemeinsames Geheimnis

Aufruf inkl.Credentials

Client Service

Page 13: Sicherheit in SOA Was kommt auf Entwickler zu? Sebastian Weber

Direkte Authentifizierung (II)

ContraPro Kein SSO möglich Aufwendiger Abgleich der Credentials bei mehreren Diensten Pro-Request Authent. kostet Zeit und Ressourcen

Keine weitere Infrastruktur benötigt Geht das Geheimnis verloren, ist „nur“ diese Verbindung

gefährdet

Page 14: Sicherheit in SOA Was kommt auf Entwickler zu? Sebastian Weber

Broker Authentifizierung (I) Service verlangt

Authentifizierung des Clients

Client authentifiziert sich beim Broker

Service und Client haben kein gemeinsamens Geheimnis

Authentifizierungsbroker

Authentifizierungs-anfrage

Client Service

Authentifi-zierungs-anfrage

Token

Page 15: Sicherheit in SOA Was kommt auf Entwickler zu? Sebastian Weber

Broker Authentifizierung (II)

ContraPro Single point of failure Broker darf niemals in die falschen Hände gelangen

Zentrale Vertrauensstellung Client und Service müssen sich nicht kennen Zentrale Verwaltung aller Credentials (möglich)

Page 16: Sicherheit in SOA Was kommt auf Entwickler zu? Sebastian Weber

Direkt oder via Broker? Mal wieder: keine pauschale Antwort Direkte Authentifizierung ist schnell

implementiert und bedarf keine weitere Infrastruktur

Broker-basierte Authentifizierung ist aufwendiger, dafür in vielen Szenarien flexibler

Page 17: Sicherheit in SOA Was kommt auf Entwickler zu? Sebastian Weber

Agenda SOA und Sicherheit

SOA Security Pattern Servicezugang schützen Nachrichten schützen Servicegrenzen sichern

Implementierungsstrategien

Page 18: Sicherheit in SOA Was kommt auf Entwickler zu? Sebastian Weber

Nachrichten schützen?

Oliver

Spesenabrechnungvon Sebastian

Sebastian

Page 19: Sicherheit in SOA Was kommt auf Entwickler zu? Sebastian Weber

Nachrichten schützen!NichtSebastian

Page 20: Sicherheit in SOA Was kommt auf Entwickler zu? Sebastian Weber

Was genau ist zu schützen?

Service BService A

Hat A wirklich

X gemeint?

Ist die Nachricht wirklich von B?

Das sollte C

lieber nie erfahren

...

Authentizitätder Herkunft

Integritätder Daten

Geheimhaltung

Page 21: Sicherheit in SOA Was kommt auf Entwickler zu? Sebastian Weber

Das Prinzip VIA Vertraulichkeit

Daten der Nachricht dürfen nicht von Dritten eingesehen werden

Integrität & Authentizität der Herkunft Überprüfbarkeit, ob der Inhalt

unverändert übermittelt wurde Überprüfbarkeit, ob der Inhalt wirklich

vom Abesender stammt

Page 22: Sicherheit in SOA Was kommt auf Entwickler zu? Sebastian Weber

Vertraulichkeit - Symmetrisch

EmpfängerSender

Verschlüsseln Entschlüsseln

Gemeinsamer Schlüssel

Page 23: Sicherheit in SOA Was kommt auf Entwickler zu? Sebastian Weber

Vertraulichkeit - Asymmetrisch

EmpfängerSender

Verschlüsseln Entschlüsseln

Öffentlicher Schlüsselvom Empfänger

Privater Schlüsselvom Empfänger

Page 24: Sicherheit in SOA Was kommt auf Entwickler zu? Sebastian Weber

Integrität & Authentizität der Herkunft – Symmetrisch

EmpfängerSender

Signieren Signatur prüfen

Gemeinsamer Schlüssel

Page 25: Sicherheit in SOA Was kommt auf Entwickler zu? Sebastian Weber

Integrität & Authentizität der Herkunft – Asymmetrisch

Empfänger

Privater Schlüsselvom Sender

Öffentlicher Schlüsselvom Sender

EmpfängerSender

Signieren Signatur prüfen

Page 26: Sicherheit in SOA Was kommt auf Entwickler zu? Sebastian Weber

Nachrichten schützen Vertraulichkeit

Verschlüsseln der Nachrichten Symmetrisch / Asymmetrisch

Integrität & Authentizität der Herkunft Signieren der Nachrichten Symmetrisch / Asymmetrisch

Page 27: Sicherheit in SOA Was kommt auf Entwickler zu? Sebastian Weber

Agenda SOA und Sicherheit

SOA Security Pattern Servicezugang schützen Nachrichten schützen Servicegrenzen sichern

Implementierungsstrategien

Page 28: Sicherheit in SOA Was kommt auf Entwickler zu? Sebastian Weber

Servicegrenzen sichern

Wirklich sicher?

Page 29: Sicherheit in SOA Was kommt auf Entwickler zu? Sebastian Weber

Servicegrenzen sichernReplay Attack? DOS?

Injection?

Zugang zu

Internas?

Page 30: Sicherheit in SOA Was kommt auf Entwickler zu? Sebastian Weber

Servicegrenzen sichern Schutz vor Injections

Steht etwas „Böses“ in den Nachrichten?

Schutz vor Replay Attacks / DOS „2-mal die gleiche Nachricht?“ „Wirklich 1.000.000.000 Nachrichten von X?“

Schutz vor Spionage Exception Shielding Nie wieder: „Fehler in SQL Statement: SELECT *

FROM KennwortTabelle WHERE User = ‘Ernie‘ AND Pass = ‘geheim!‘“

Page 31: Sicherheit in SOA Was kommt auf Entwickler zu? Sebastian Weber

Schutz vor Injections Client-seitige Überprüfung nicht ausreichend

AJAX (!!!!!!!!!!)

Ist die Nachricht formal korrekt? Länge, Schema, ...

Entsprechen die Daten der erwarteten Datentypen?

Eingabevalidierung, Eingabevalidierung, Eingabevalidierung, Eingab...

Page 32: Sicherheit in SOA Was kommt auf Entwickler zu? Sebastian Weber

Schutz vor RAs / DOS

EmpfängerSender Replay CachePrüfen, ob bekannt

Page 33: Sicherheit in SOA Was kommt auf Entwickler zu? Sebastian Weber

Schutz vor Spionage Ein sehr häufiges Problem: Exeptions

Angreifer erzwingt eine Exception Service gibt interne Informationen in der

Fehlermeldung preis Lösungsansatz

Jeder Exception muss vom Service behandelt werden

Erstellung explizierter Exceptions ohne interne Informationen

Page 34: Sicherheit in SOA Was kommt auf Entwickler zu? Sebastian Weber

Agenda SOA und Sicherheit

SOA Security Pattern Servicezugang schützen Nachrichten schützen Servicegrenzen sichern

Implementierungsstrategien

Page 35: Sicherheit in SOA Was kommt auf Entwickler zu? Sebastian Weber

Message vs Transport Layer Absicherund der Kommunikation kann

auf zwei unterschiedlichen Ebenen stattfinden

Message Layer Bestandteil der Nachrichten

Transport Layer Die Netzwerkverbindung wird pauschal

gesichert

Page 36: Sicherheit in SOA Was kommt auf Entwickler zu? Sebastian Weber

Technologien X.509 Zertifikate Kerberos Security Token Service (STS) SSL IPSec Diverse Web Service Spezikationen

WS-Security, WS-Trust, WS-Federation, ... ...

Page 37: Sicherheit in SOA Was kommt auf Entwickler zu? Sebastian Weber

SOA Security Implementierung .NET Framework 2.0

Verschlüsselung, Signierung, Zertifikate, ...

Web Service Enhancements 3.0 (WSE) Zusätzliche WS-* Implementierungen

Windows Communication Foundation (WCF) Next Generation Secure by Default „Eine Frage der Konfiguration“

Page 38: Sicherheit in SOA Was kommt auf Entwickler zu? Sebastian Weber

WCF Security Übersicht Einheitlich

Designed für On-Machine, Cross-Machine,und Cross-Internet Szenarien

Einheitliches Programmiermodell Interoperabel

Basiert auf WS-* Spezifikationen Kompatibel mit existierenden Security

Mechanismen (Windows, Kerberos, X.509, HTTPS) Secure by default

Alle Standard-Bindings sind per Default sicher BasicHttpBinding ist eine Ausnahme

Standardabsicherung ist Verschlüsseln und Signieren

Page 39: Sicherheit in SOA Was kommt auf Entwickler zu? Sebastian Weber

Mehr zu Web Service Security Web Service Security

ISBN: 0735623147 Online und als Download

(PDF) kostenfrei erhältlich http://msdn.com/practices

Page 40: Sicherheit in SOA Was kommt auf Entwickler zu? Sebastian Weber

Agenda SOA und Sicherheit SOA Security Pattern

Servicezugang schützen Nachrichten schützen Servicegrenzen sichern

Implementierungsstrategien

Page 41: Sicherheit in SOA Was kommt auf Entwickler zu? Sebastian Weber

Sicherheit in SOA Ein umfassendes Thema

Automatisierung macht den Angriff einfach

Auch hier: keine nachträgliche Sicherheit

WSE 3.0 und WCF erleichtern die Arbeit

Page 42: Sicherheit in SOA Was kommt auf Entwickler zu? Sebastian Weber

Fragen und Antworten

Vielen Dank!

Sebastian [email protected]://sebastianweber.org

Page 43: Sicherheit in SOA Was kommt auf Entwickler zu? Sebastian Weber

Mehr Informationen MSDN Security Center

http://microsoft.com/germany/msdn/security http://msdn.microsoft.com/security

TechNet Security Center http://www.microsoft.com/germany/technet/

sicherheit http://www.microsoft.com/technet/Security

Codezone.de http://codezone.de

Page 44: Sicherheit in SOA Was kommt auf Entwickler zu? Sebastian Weber

Ihr Potenzial. Unser Antrieb.