Kerberos - Alptraum oder Zusammenspiel?

Kerberos - Alptraum oder
Zusammenspiel?
SQL Server, SharePoint, ein Client und der
Doppelhopp
Mark A. Kuschel
Organizer
13.06.2015
SQLSaturday Rheinland 2015
Bronze Sponsor
13.06.2015
SQLSaturday Rheinland 2015
Silver Sponsor
13.06.2015
SQLSaturday Rheinland 2015
Gold Sponsor
13.06.2015
SQLSaturday Rheinland 2015
You rock!
13.06.2015
SQLSaturday Rheinland 2015
Quelle:
http://www.crunchyroll.com/group/Mythical_Creatures__Club
Kerberos?
13.06.2015
SQLSaturday Rheinland 2015
Serveranmeldung: Klassisch
GET Default.aspx
HTTP 401
13.06.2015
SQLSaturday Rheinland 2015
Serveranmeldung: Klassisch
Du
kommst
hier net
rein!
WWW-Authenticate
HTTP 403
13.06.2015
SQLSaturday Rheinland 2015
Basic / NTLM Authentifizierung
•
•
•
•
Direktes Versenden der Anmelde-informationen
von Client und Server
Häufig unverschlüsselte Übermittlung (Basic)
• NTLM ist über einen Hash ein wenig sicherer
Abgreifen / Fälschen der Informationen über
Man-In-The-Middle Attacken ist einfach möglich
Alle Dienste müssen auf dem selben Server
Installiert sein
13.06.2015
SQLSaturday Rheinland 2015
Mit Kerberos geht es sicher
•
Server und Dienste misstrauen sich
standardmäßig gegenseitig
•
Der Benutzer erhält bei der Anmeldung
am Active Directory ein Kerberos Token
und einen Sitzungsschlüssel für die
Authentifizierung sowie Verschlüsselung
des Datenverkehrs
13.06.2015
SQLSaturday Rheinland 2015

Kerberos ist nicht Microsoft spezifisch!
 Definiert in RFC 4120 (Version 5, July 2005)
 Ursprünglich RFC 1510 (September 1993)
 Active Directory ist am weitesten verbreitete Implementierung
(Microsoft Security Support Provider Interface = SSPI)
 Weitere:
 MIT Kerberos (Unix / Linux)
 Heimdal Kerberos (Unix, Linux, Mac)
 GNU Shishi (Unix / Linux)
13.06.2015
SQLSaturday Rheinland 2015
Vertrauen und Delegierung
 Das Kerberos Token kann nur zwischen Servern und Diensten
weitergereicht werden, welche sich explizit gegenseitig vertrauen
 Jeder Server und Dienst muss mit Server Prinzipal Namen (SPN)
registriert werden
 Um das weiterreichen zu Erlauben muss eine Delegierung
eingerichtet werden
13.06.2015
SQLSaturday Rheinland 2015
Kerberos im SSPI Kontext
13.06.2015
SQLSaturday Rheinland 2015
Kerberos Tickets
13.06.2015
SQLSaturday Rheinland 2015
WinLogon
13.06.2015
SQLSaturday Rheinland 2015
Beispiele für SPNs
 MSSQLSvc/MeinSQLServer ADVENTUREWORKS\SQLService
 http/MeinSharePointServer ADVENTUREWORKS\SPWebService
 Definiert die Dienste, diese vertrauen sich aber noch nicht

SharePoint
13.06.2015
SQLSaturday Rheinland 2015
SQL-Server
Delegierung definieren
 Kein KommandozeilenBefehl verfügbar
 Eigenschaften des
Dienstkontos
 Delegierung auf Zielserver,
Dienst und Protokoll definieren
13.06.2015
SQLSaturday Rheinland 2015
DEMO
 SPN im AD, SetSPN und Delegierungen
13.06.2015
SQLSaturday Rheinland 2015
Authentifizierung per Excel-Client (ROLAP)
MDX

SQL
Analysis Services

SQL-Server


13.06.2015
SQLSaturday Rheinland 2015
Das Zusammenspiel mit SharePoint
HTTP
?
HTTP
SharePoint

SQL
Berichtsserver

SQL-Server


13.06.2015
SQLSaturday Rheinland 2015

Und was ist mit diesen Geräten?
• Können sich nicht am Active Directory anmelden
 Kein Kerberos 
13.06.2015
SQLSaturday Rheinland 2015
Claims to Windows Token Service (C2WTS)
 Fragt ein Kerberos Token am Domänencontroller an,
nach Anmeldung per Web
 Benötigt spezielle Servereinstellungen (lokale
Sicherheitsrichtlinie)
 Einsetzen als Teil des Betriebssystems
 Als Dienst anmelden
 Annehmen der Clientidentität nach Authentifizierung
 Muss im SharePoint als Service Application eingerichtet
werden
13.06.2015
SQLSaturday Rheinland 2015
Der Anmeldevorgang im Detail
HTTP
www
Auth
HTTP
SharePoint
SQL

Berichtsserver

SQL-Server


C2WTS
13.06.2015
SQLSaturday Rheinland 2015

Demo
 C2WTS
13.06.2015
SQLSaturday Rheinland 2015
SPNs SQL Server
MSSQLSvc/MeinSQLServer:1433 ADV\SQLService
MSSQLSvc/MeinSQLServer.dev.local:1433 ADV\SQLService
MSOLAPDisco.3/MeinSSASServer ADV\SSASService
MSOLAPSvc.3/MeinSSAServer.adventureworks.local ADV\SSASService
MSOLAPSvc.3/MeinSSASServer ADV\SSASService
MSOLAPDisco.3/MeinSSASServer. adventureworks.local ADV\SSASService
MSOLAPSvc.3/MeinSSASServer. adventureworks.local:1433
ADV\SSASService
MSOLAPSvc.3/MeinSSASServer:1433 ADV\SSASService
13.06.2015
SQLSaturday Rheinland 2015
SPNs SQL Server seit 2012 R2
MSSQLSvc/MeinSQLServer:1433 ADV\SQLService
MSSQLSvc/MeinSQLServer.dev.local:1433 ADV\SQLService
MSOLAPDisco.3/MeinSSASServer ADV\SSASService
MSOLAPSvc.3/MeinSSAServer.adventureworks.local ADV\SSASService
MSOLAPSvc.3/MeinSSASServer ADV\SSASService
MSOLAPDisco.3/MeinSSASServer. adventureworks.local ADV\SSASService
MSOLAPSvc.3/MeinSSASServer. adventureworks.local:1433
ADV\SSASService
MSOLAPSvc.3/MeinSSASServer:1433 ADV\SSASService
FQDN ist ausreichend
NEU
13.06.2015
SQLSaturday Rheinland 2015
SPNs SharePoint & SSRS





SP/C2WTS ADV\C2WTS
http/intranet ADV\SPService
http/intranet.adventureworks.local ADV\SPService
http/reporting ADV\SSRSService
http/reporting.adventureworks.local ADV\SSRSService
13.06.2015
SQLSaturday Rheinland 2015
Alles klar? Oder eher nicht?
13.06.2015
SQLSaturday Rheinland 2015
Hilfe! Kerberos funktioniert nicht
Registry & Eventlog
Microsoft Message Analyzer
13.06.2015
SQLSaturday Rheinland 2015
Save the date!
13.06.2015
SQLSaturday Rheinland 2015