Präsentation anlässlich des User Group Treffens der SharePoint User Group Köln am 14. Juni 2012 bei Quest.
Weitere Infos zur User Group:
http://sharepointcommunity.de/groups/koeln/default.aspx
3. Das Unternehmen
Gegründet 1997
Software Entwicklung & IT Beratung
• Software Entwicklung
Multi-Tier Anwendungen, .NET 4.0
SharePoint Server Entwicklung
E-Commerce
• Infrastruktur
Kommunikation
Server Applikationen
Sicherheit, VPN, Firewall
Virtualisierung
3
4. Das Unternehmen
Microsoft Certified Partner
• Gold Midmarket Solution Provider
• Silver Content Management
• Silver Desktop
• Silver Hosting
• Silver Portals and Collaboration
• Silver Server Platform
• Silver Software Development
• Silver Web Development
4
5. Die Dienstleistungen
SharePoint Applications
Konzeption von SharePoint Farmen
• Zugriffskonzepte intern
• Zugriffskonzepte mit externen Partnern
• Konfiguration
Branding & Layout
Analyse & Durchführung Migration von Bestandsdaten
Programmierung von individuellen SharePoint Lösungen
• SharePoint Commodity
• Full Custom
7
6. Die Dienstleistungen
SharePoint Operations
Migration von SharePoint Altsystemen
Evaluierung von SharePoint Erweiterungen
Konzepte für die Sicherung und Wiederherstellung von Daten
Datenbankoptimierung
Empfehlung zur Überwachung von Betriebsparametern
8
7. Extranet Topologie: Einzelne Firewall
Pro Kontra
• Einfache Lösung, geringer Hardwareeinsatz • Nur eine Firewall zwischen Internet und
und Konfiguration Firmennetzwerk
• Gesamte Farm im Unternehmensnetzwerk • Geringe Sicherheit
• Eine Farm für interne und externe Inhalte
• Alle Benutzer greifen auf den gleichen
Inhalte zu
INTERNET PERIMETER CORPORATE LAN
UAG
13
8. Extranet Topologie: Back-To-Back
Pro Kontra
• Farm in DMZ • Mehr Hardware notwendig
• Zugriff durch interne und externe Benutzer • Größerer Konfigurationsaufwand
• Externe Benutzer haben keinen Zugriff auf
Unternehmensnetzwerk
• Mit einem AD in der DMZ können externe
Benutzer in einer separaten Domäne
verwaltet werden
INTERNET PERIMETER CORPORATE LAN
TMG
UAG
14
9. Extranet Topologie: Split Back-to-Back
Pro Kontra
• SQL Datenbank im Unternehmensnetzwerk • Großer Konfigurationsaufwand
• Applikationsserver im • Sicherheitseinschränkungen für
Unternehmensnetzwerk als Option zur Dienstkonten
Performancesteigerung
INTERNET PERIMETER CORPORATE LAN
UAG TMG
15
10. Authentifizierungsarten
Windows ASP.NET SAML/
(FBA) Custom
Membership ADFS
NTLM
Provider
OpenID
Role
Kerberos
Provider Custom
16
11. Windows Authentifizierung
Auswahl zwischen NTLM oder Kerberos
Beste Wahl für interne Benutzer (Funktionalität)
Erforderlich für das Durchsuchen der Sites
Integrierte Authentifizierung innerhalb der Domäne
17
12. ASP.NET Authentifizierung
Authentifizierung über eine Anmeldeseite
Verwendung unterschiedlicher Membership- und Role-Provider
Membership-Provider Beispiele: SQL Datenbank (ASP.NET),
SharePoint Liste, LDAP oder XML-Datei
Keine „Client Integration“
18
13. SAML / Custom Authentifizierung
Trust zum Authentifizierungsprovider erforderlich
Kein Membership-Provider erforderlich
Delegation ohne Kerberos möglich
Federation zwischen Unternehmen möglich
19
14. Authorisierung
Nach erfolgter Authentifizierung wird ein Benutzer auf ein
SharePoint Benutzerobjekt gemappt (SPUser)
Zugriff auf SharePoint Objekte wird über Access Control Listen
(ACL) kontrolliert
Kein Unterschied zwischen Classic und Claims Modus
20
15. Authentifizierung in MOSS 2007
https://extranet.company.com http://company
Extranet Intranet
Zone Zone
FBA Windows
AuthN AuthN
Externe User Mitarbeiter
21
16. Authentifizierung in SPS 2010
https://extranet.company.com http://company
Intranet
Zone
FBA SAML Windows
Claims Claims Claims
Externe User Mitarbeiter
Partner
22
17. Terminologie Objekte
Identity
Security Principal CLAIM
Claim CLAIM
Aussage(n) über eine Identity CLAIM
• Mein Name ist
CLAIM
• Mein Alter ist
SIGNATURE
Security Token
Digital signierte Sammlung von Claims TOKEN
23
18. Terminologie Dienste
Security Token Service (STS)
Erstellt, signiert und gibt Security Token aus
Identity Provider STS (IP-STS)
Authentifiziert und gibt Security Token aus
Relying Party STS (RP-STS)
Transformiert bestehende Claims und fügt neue Claims zu einem
Security Token hinzu
24
22. Authentifizierung
GET ApplicationURL
302 REDIRECT
Authenticate User
200 <FORM METHOD=POST VALUE=[TOKEN] …>
302 ApplicationURL [httpResponseHeader = SetCookie]
28
23. Single Sign On
1. Zugriff auf Applikation 1
2. Applikation 1 leitet Benutzer zum
IP-STS um
3. Benutzer authentifiziert sich gegen
Active Directory
4. IP-STS erstellt Token für
Applikation 1
5. Benutzer präsentiert Token und
erhält Zugriff auf Applikation 1
6. Zugriff auf Applikation 2
7. Applikation 2 leitet Benutzer zum
IP-STS um
8. Benutzer ist bereits authentifiziert,
keine Authentifizierung erforderlich
9. IP-STS erstellt Token für
Applikation 2
10. Benutzer präsentiert Token und
Applikation 1 Applikation 2 erhält Zugriff auf Applikation 2
29
24. Windows Identity Foundation
API Verwendung durch „Relying Party“
Durchführung der passiven Umleitung
Akzeptiert den ausgestellten Token
Verifiziert die Token Signatur und entschlüsselt den Token
Erstellt das Identity Objekt für die Applikation
30
25. WS-Federation Authentication Module
WS-FAM wird in die http Pipeline der ASP.NET Applikation
hinzugefügt
Ohne FAM
• 401 Status Code bei Zugriff auf eine geschützte Ressource durch einen
nicht authentifizierten Benutzer
Mit FAM
• FAM fängt 401 Status Code Antwort ab
• Änderung zu 302 Status Code mit Umleitung zum IP-STS
• Nach Token Ausstellung fängt FAM 401 Status erneut ab
• FAM erstellt ein IClaimsPrincipal Objekt für die Applikation
31
26. Session Authentication Module
web.config
<cookieHandler mode="Custom" path="/" persistentSessionLifetime="1.0:0:0">
Erstellt ein SessionSecurityToken
• Spiegelt den vom FAM empfangenen Token
• Speichert SessionSecurityToken im FedAuth Cookie
Bei weiteren Zugriffen wird das FedAuth Cookie verwendet
SAM fängt das FedAuth Cookie ab
• Extrahiert den SessionSecurityToken
• Erstellt das IClaimsPrincipal Interface für die Applikation
Konfiguration über PowerShell
$expire = 60*24*31 # 31 days
Set-SPSecurityTokenServiceConfig -FormsTokenLifetime $expire
iisreset
32
27. SharePoint 2010 Claims Sign-in
Client
7
Browser
1 8
Local Authentication Provider
4 3 2
Multi-Auth SharePoint http Modules
Windows Auth Sign-In Page
Sign-In Redirect
Identity
4 3 Foundation
SharePoint STS
ASP.NET Sign-In Page
Identity Claims
5 Foundation Token 9
Trusted Login Provider 10
4 3 Audience SharePoint
Custom STS Sign-In Page 6 Groups Authorization
Other Claims
11
Claims Providers SharePoint
Live ID
Site
AD FS
12
33
28. SharePoint 2010 Claims Sign-in 1
• Aufruf der SharePoint Web Applikation
- https://[WEBAPP]
• Keine Authentifizierung des Benutzers
• Site antwortet mit 401 „Not authorized“
• SP-FAM
- Mehr als ein Auth-Provider konfiguriert
• Umleitung zur „Multiple Authentication Redirect “
Seite
- Nur ein Auth-Provider konfiguriert
• Direkte Umleitung zur Anmeldeseite
34
29. SharePoint 2010 Claims Sign-in 2 (optional)
• Umleitung zur „Multiple
Authentication Redirect“ Seite
• Auswahl einer Authentifizierungs-
methode
• 302 Umleitung zur richtigen
Anmeldeseite
- https://[WEBAPP]/_login/default.aspx
35
30. SharePoint 2010 Claims Sign-in 3
• 302 Umleitung zum SharePoint STS
- https://[WEBAPP]/_trust/default.aspx
- Query String Parameter übergibt
Providerauswahl des Benutzers
/default.aspx?trust=[Provider Name]
• Weitere 302 Umleitung zur richtigen
Anmeldeseite
- Interne SharePoint Anmeldung
- Federation STS
36
31. SharePoint 2010 Claims Sign-in 4 & 5
• Anmeldung und Authentifizierung
• STS prüft wtream Parameter
- URI der Relying Party Applikation
&wtrealm=urn:portal:sharepoint…
• STS sucht URI
- Findet Ziel-URL für POST des SAML
Tokens
• STS sendet SAML Token an
SharePoint STS
- https://[WEBAPP]/_trust
37
32. SharePoint 2010 Claims Sign-in 6 & 7
• SharePoint ruft registrierten Claims Provider
auf
• Zusätzliche Claims werden dem Token
hinzugefügt
- „Augmentation“
• SPSession Authentication Modul
- Erstellt SessionSecurityToken aus dem erweiterten
Claims Token
- Speichert den SessionSecurityToken im FedAuth
Cookie
• 302 Umleitung durch SharePoint STS zur
Web Applikation
- https://[WEBAPP]/_layouts/Authenticate.aspx
38
33. SharePoint 2010 Claims Sign-in 8-12
• SharePoint FAM erkennt FedAuth Cookie
• SAM erstellt IClaimsProncipal auf Basis des
Cookies
• ClaimsPrincipal Objekt wird in SPUser
Objekt konvertiert
- SPUser.UserToken enthält Claims
• Prüfung der Berechtigungen auf Basis von
SPUser.UserToken gegen ACL
39
34. SPUser Objekt Zuweisungen
Classic Claims
NT Token NT Token ASP.NET (FBA) SAML 1.1+
Windows Identity Windows Identity SQL, LDAP, Custom AD FS, Live ID, u.a.
SAML Token
Claims Based
Identity
SPUser Objekt
40
37. Planung
Anzahl der externen Benutzer
Client Integration erforderlich?
Externer Zugriff auf MySites erforderlich?
Art des Zugriffs?
• Portal
• Collaboration
• Content Management
43
38. Planung
Fragen zur Infrastruktur
• Split DNS?
• Firewall Systeme?
• DMZ vorhanden?
SSL Zertifikate
• Externer Namespace?
• Zusammenfassung von Diensten in einer URL?
(SAN Zertifikate)
• Interne CA oder Zertifkate von Drittanbietern?
• Separate Url für mobile Endgeräte?
44
41. Links
Active Directory Federation Services 2.0
http://www.microsoft.com/en-us/download/details.aspx?id=10909
Windows Identity Foundation
http://msdn.microsoft.com/en-us/security/aa570351.aspx
WS-Federated Authentication Module Overview
http://msdn.microsoft.com/en-us/library/ee517293.aspx
IClaimsPrincipal Interface
http://msdn.microsoft.com/de-de/library/microsoft.identitymodel.claims.iclaimsprincipal.aspx
Add a trusted root certification authority to a Group Policy object
http://technet.microsoft.com/en-us/library/cc738131%28v=ws.10%29.aspx
SharePoint Security Token Service Web Service Protocol Specification
http://msdn.microsoft.com/en-us/library/dd959418%28v=office.12%29
Professional ASP.NET 2.0 Security, Membership, and Role Management (Wrox Professional Guides)
http://amzn.to/LKilf4
Microsoft Windows Identity Foundation Cookbook
http://amzn.to/KuwSN0
Automating SharePoint 2010 with Windows PowerShell 2.0
http://amzn.to/LEnZxb
47