Fabian Moritz - SharePoint 2013 Security V2

36
SharePoint Security Das Sicherheitssystem von SharePoint 2013 Fabian Moritz MVP SharePoint Server, ITaCS GmbH

description

 

Transcript of Fabian Moritz - SharePoint 2013 Security V2

Page 1: Fabian Moritz - SharePoint 2013 Security V2

SharePoint SecurityDas Sicherheitssystem von SharePoint 2013

Fabian MoritzMVP SharePoint Server, ITaCS GmbH

Page 2: Fabian Moritz - SharePoint 2013 Security V2

SharePoint Security

Apps SicherheitAbsicherung

Authentifizierung

Page 3: Fabian Moritz - SharePoint 2013 Security V2

Authentifizierung

Page 4: Fabian Moritz - SharePoint 2013 Security V2

Identitäten

App Pool

Farm

System

Benutzer

Page 5: Fabian Moritz - SharePoint 2013 Security V2

Classic

Authentifizierungsarten

NT TokenWindows Identität

Claims

NT TokenWindows Identität

ASP.NET (FBA)LDAP,

Custom, etc.

SAML 1.1ADFS, Live ID,

etc.

SAML TokenClaims

Identität

SPUser

Nur noch via PowerShell

Page 6: Fabian Moritz - SharePoint 2013 Security V2

Authentifizierungsprozess

Windows

FBA

SAML

Authentication Page

1 Web App

STS

2

3

4

5

6

78

4

Page 7: Fabian Moritz - SharePoint 2013 Security V2

Identität vs. Claims

Identität

Claims

Herausgeber

Page 8: Fabian Moritz - SharePoint 2013 Security V2

Claims Terminologie

IdentitätInformationen zu einer Person / einem

Objekt (AD, Facebook, Microsoft ID etc.)

Claims

Token

STS

Attribute der Identität (Nutzername, E-Mail, Alter, Schuhgröße etc.)

Binäre Repräsentanz der IdentitätEnthält einen Satz an Claims

Secure Token ServiceHerausgeber von Nutzer-Token

Page 9: Fabian Moritz - SharePoint 2013 Security V2

SharePoint Claims Encoding

i:0#.w|itacs\fabian

Claim Identität

c = andere Identitäten

i:/c:

Reserviert für zukünftige Claim Typen

0

#/./?/S etc.

Claim Typ# = Logon,5 = e-mail,- = role+ = group% = farm! = identity provider

Herausgeberw = windows,s = local STSm = membershipr = rolet = trusted STSp = personalc = claim providerf = formsw/s/m/r/t/c/f

etc.

Claim Wert Bei Forms mit weiteren | für den Namen des Herausgebers

Login Name

Page 10: Fabian Moritz - SharePoint 2013 Security V2

Claims Encoding Beispiele

i:0#.w|contoso\fabianmWindows Accountcontoso\fabianm

c:0!.s|windowsAlle authentifizieten

Windows-Nutzer

c:0+.w|s-1-5-21… Windows-Sicherheitsgruppe

i:0#.f|membership|fmForm-based Membership

Provider

i:05.t|azure|[email protected] Location mit E-Mail als Login Namen

Page 11: Fabian Moritz - SharePoint 2013 Security V2

Identität ermitteln

• Der alte WegHttpContext.Current.Identity;

• Weiterhin möglichSPContext.Current.Web.CurrentUser;

• Der Claims WegIClaimsIdentity identity = (ClaimsIdentity)Thread .CurrentPrincipal.Identity;

Page 12: Fabian Moritz - SharePoint 2013 Security V2

SPWeb.EnsureUser

• Der alte Weg

• Der Weg mit Claims

SPUser theOldWay = SPContext.Current.Web.EnsureUser(@"contoso\fritzh");

SPClaimProviderManager claimProviderManager = SPClaimProviderManager.Local; if (claimProviderManager != null){

SPClaim claim = new SPClaim(SPClaimTypes.UserLogonName, "fritzh", "http://www.w3.org/2001/XMLSchema#string",SPOriginalIssuers.Format(SPOriginalIssuerType.Forms,

"ldapmember"));

string encodedClaimString = claimProviderManager.EncodeClaim(claim);

SPUser user = SPContext.Current.Web.EnsureUser(encodedClaimString);}

Page 13: Fabian Moritz - SharePoint 2013 Security V2

DemoFormular-basierte Authentifizierung

Page 14: Fabian Moritz - SharePoint 2013 Security V2

SharePoint Security

Apps SicherheitAbsicherung

Authentifizierung

Page 15: Fabian Moritz - SharePoint 2013 Security V2

Absicherung

Page 16: Fabian Moritz - SharePoint 2013 Security V2

Die Rolle der Site Collection

• Sicherheitsgrenze• Gruppendefinition• Höchste Ebene der Berechtigungsvererbung• Backup / Recovery• Papierkorb

Page 17: Fabian Moritz - SharePoint 2013 Security V2

Das Berechtigungsdreieck

Identität

Objekt

Recht

Page 18: Fabian Moritz - SharePoint 2013 Security V2

Berechtigungen Best Practices

AD / SP Gruppen sinnvoll einsetzen

Lockdown Feature anwenden

Single Item Permissions vermeiden (wenn möglich)

Freigeben ausblenden (oder passend schulen)

Code ggf. heraufstufen / impersonifizieren

Page 19: Fabian Moritz - SharePoint 2013 Security V2

DemoBerechtigungen Best Practices

Page 20: Fabian Moritz - SharePoint 2013 Security V2

Daten klassifizieren

Öffentlich Keine besonderen Schutzbestimmungen

Intern

Vertraulich

Absicherung über Berechtigungen

Verschlüsselung für erforderlich

Privat Sensible persönliche Daten

Page 21: Fabian Moritz - SharePoint 2013 Security V2

Daten verschlüsseln

SQL Verschlüsselung

Dateiverschlüsselung

Rights Management Services

Inhaltsdatenbanken

BitLocker & EFS

Auf Dokumentenebene

Page 22: Fabian Moritz - SharePoint 2013 Security V2

Richts Management Services

Autor

Active Directory

SQL Server

AD RMS

Dokumente, E-

Mails

Empfänger

PLPL

UL

ReadPrintModify

Page 23: Fabian Moritz - SharePoint 2013 Security V2

Rights Management Services

SharePoint WFE

Active Directory

SQL Server

AD RMS

Empfänger

PL

UL

Page 24: Fabian Moritz - SharePoint 2013 Security V2

RMS Key Features

SharePoint Online und On-Premise

Support für Office Web Applications

Gruppenschutz

PDF Support

Page 25: Fabian Moritz - SharePoint 2013 Security V2

DemoRights Management Services in SharePoint

Page 26: Fabian Moritz - SharePoint 2013 Security V2

SharePoint Security

Apps SicherheitAbsicherung

Authentifizierung

Page 27: Fabian Moritz - SharePoint 2013 Security V2

Apps Sicherheit

Page 28: Fabian Moritz - SharePoint 2013 Security V2

SharePoint 2013 Apps

Plattformen Dienste und DatenApps

Apps Store und Katalog

Urlaubs-antrag

EventManagement

Währungsrechner

Urlaubs-antrag

RisikoManagementHelp Desk

Page 29: Fabian Moritz - SharePoint 2013 Security V2

App Architektur

Plat

tfor

mApp

Client Code: HTML / CSS / JavaScript

Server Code: HTML, ASP.NET, PHP, etc.

SharePoint(Online oder On-Premises)

Ser

vice

s

On Premises

SharePoint & Exchange Server

On-Premise PlattformenIIS

WorkflowSQL

Cloud

Office 365

Azure RuntimeAzure WebsitesAzure Workflows

SQL Azure

REST, OAuth, OData, Remote Events

3rd Party DiensteBing, SalesForce, SAP, Twitter, Facebook

Page 30: Fabian Moritz - SharePoint 2013 Security V2

SharePoint

SharePoint

App Web

Cloud App

SharePoint

Apps Authentifizierung

SharePoint

Sandbox

OA

uth

Page 31: Fabian Moritz - SharePoint 2013 Security V2

10

Authentifizierungsprozess

1

Browser App

2 3

5

9

8

7

6

4

Page 32: Fabian Moritz - SharePoint 2013 Security V2

App-Berechtigungen

• App-Berechtigungen… sind anders als Nutzer-Berechtigungen gelten für sämtliche Nutzer haben keine Hierarchie

• Apps haben eine Standard-Berechtigung Limitierte Leserechte auf das Host Web Apps können weitere Rechte beantragen Der installierende Nutzer vergibt die Rechte

Page 33: Fabian Moritz - SharePoint 2013 Security V2

Rechte definieren

• Wird über das App-Manifest gesteuert

<AppPermissionRequests> <AppPermissionRequest Scope="http://sharepoint/content/sitecollection/web/list" Right="FullControl" /> <AppPermissionRequest Scope="http://sharepoint/content/sitecollection/web" Right="Read" /> <AppPermissionRequest Scope="http://sharepoint/search" Right="QueryAsUserIgnoreAppPrincipal" /> <AppPermissionRequest Scope="http://sharepoint/taxonomy" Right="Write" /> </AppPermissionRequests>

Page 34: Fabian Moritz - SharePoint 2013 Security V2

SharePoint Security

Apps SicherheitAbsicherung

Authentifizierung

Page 35: Fabian Moritz - SharePoint 2013 Security V2

Fabian MoritzITaCS GmbHMVP SharePoint Server

[email protected]://www.itacs.de

@FabianMoritz

http://sharepointcommunity.de/fabianm

Page 36: Fabian Moritz - SharePoint 2013 Security V2