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

Post on 06-Apr-2016

215 views 0 download

Transcript of Sicherheit in SOA Was kommt auf Entwickler zu? Sebastian Weber.

Sicherheit in SOAWas kommt auf Entwickler zu?Sebastian Weber

Sicherheit in SOA

Sebastian WeberDeveloper Platform & Strategy GroupMicrosoft Deutschland GmbHSebastian.Weber@microsoft.com

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

SOA – was ist ein Dienst?*

==

Daten Logik („Code“)

Web Service

Nachrichten

*Serviervorschlag

SOA – ein Schaubild

Service A Service B

UDDI

SOA und die Sicherheit (I)

Jeder Web Servicebietet Zugang zum System

Service B

UDDI

Service A

SOA und die Sicherheit (II)

Dokumente werdenüber das (Inter-)netversendet

Service B

UDDI

Service A

SOA und die Sicherheit (III)

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

Service B

UDDI

Service A

SOA Security – Es gibt viel zu tun!

Service B

UDDI

Service A

Agenda SOA und Sicherheit

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

Implementierungsstrategien

Servicezugang schützenAu

then

tifizi

erun

g

Authorisierung

Direkte Authentifizierung (I) Service verlangt

Authentifizierung des Clients

Service fungiert als Autentifizierungsdienst

Client und Server haben ein gemeinsames Geheimnis

Aufruf inkl.Credentials

Client Service

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

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

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)

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

Agenda SOA und Sicherheit

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

Implementierungsstrategien

Nachrichten schützen?

Oliver

Spesenabrechnungvon Sebastian

Sebastian

Nachrichten schützen!NichtSebastian

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

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

Vertraulichkeit - Symmetrisch

EmpfängerSender

Verschlüsseln Entschlüsseln

Gemeinsamer Schlüssel

Vertraulichkeit - Asymmetrisch

EmpfängerSender

Verschlüsseln Entschlüsseln

Öffentlicher Schlüsselvom Empfänger

Privater Schlüsselvom Empfänger

Integrität & Authentizität der Herkunft – Symmetrisch

EmpfängerSender

Signieren Signatur prüfen

Gemeinsamer Schlüssel

Integrität & Authentizität der Herkunft – Asymmetrisch

Empfänger

Privater Schlüsselvom Sender

Öffentlicher Schlüsselvom Sender

EmpfängerSender

Signieren Signatur prüfen

Nachrichten schützen Vertraulichkeit

Verschlüsseln der Nachrichten Symmetrisch / Asymmetrisch

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

Agenda SOA und Sicherheit

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

Implementierungsstrategien

Servicegrenzen sichern

Wirklich sicher?

Servicegrenzen sichernReplay Attack? DOS?

Injection?

Zugang zu

Internas?

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!‘“

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...

Schutz vor RAs / DOS

EmpfängerSender Replay CachePrüfen, ob bekannt

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

Agenda SOA und Sicherheit

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

Implementierungsstrategien

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

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

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

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“

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

Mehr zu Web Service Security Web Service Security

ISBN: 0735623147 Online und als Download

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

Agenda SOA und Sicherheit SOA Security Pattern

Servicezugang schützen Nachrichten schützen Servicegrenzen sichern

Implementierungsstrategien

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

Fragen und Antworten

Vielen Dank!

Sebastian WeberSebastian.Weber@microsoft.comhttp://sebastianweber.org

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

Ihr Potenzial. Unser Antrieb.