Fabian Moritz - SharePoint 2013 Security V2

Preview:

DESCRIPTION

 

Citation preview

SharePoint SecurityDas Sicherheitssystem von SharePoint 2013

Fabian MoritzMVP SharePoint Server, ITaCS GmbH

SharePoint Security

Apps SicherheitAbsicherung

Authentifizierung

Authentifizierung

Identitäten

App Pool

Farm

System

Benutzer

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

Authentifizierungsprozess

Windows

FBA

SAML

Authentication Page

1 Web App

STS

2

3

4

5

6

78

4

Identität vs. Claims

Identität

Claims

Herausgeber

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

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

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|fm@itacs.deFederated Location mit E-Mail als Login Namen

Identität ermitteln

• Der alte WegHttpContext.Current.Identity;

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

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

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);}

DemoFormular-basierte Authentifizierung

SharePoint Security

Apps SicherheitAbsicherung

Authentifizierung

Absicherung

Die Rolle der Site Collection

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

Das Berechtigungsdreieck

Identität

Objekt

Recht

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

DemoBerechtigungen Best Practices

Daten klassifizieren

Öffentlich Keine besonderen Schutzbestimmungen

Intern

Vertraulich

Absicherung über Berechtigungen

Verschlüsselung für erforderlich

Privat Sensible persönliche Daten

Daten verschlüsseln

SQL Verschlüsselung

Dateiverschlüsselung

Rights Management Services

Inhaltsdatenbanken

BitLocker & EFS

Auf Dokumentenebene

Richts Management Services

Autor

Active Directory

SQL Server

AD RMS

Dokumente, E-

Mails

Empfänger

PLPL

UL

ReadPrintModify

Rights Management Services

SharePoint WFE

Active Directory

SQL Server

AD RMS

Empfänger

PL

UL

RMS Key Features

SharePoint Online und On-Premise

Support für Office Web Applications

Gruppenschutz

PDF Support

DemoRights Management Services in SharePoint

SharePoint Security

Apps SicherheitAbsicherung

Authentifizierung

Apps Sicherheit

SharePoint 2013 Apps

Plattformen Dienste und DatenApps

Apps Store und Katalog

Urlaubs-antrag

EventManagement

Währungsrechner

Urlaubs-antrag

RisikoManagementHelp Desk

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

SharePoint

SharePoint

App Web

Cloud App

SharePoint

Apps Authentifizierung

SharePoint

Sandbox

OA

uth

10

Authentifizierungsprozess

1

Browser App

2 3

5

9

8

7

6

4

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

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>

SharePoint Security

Apps SicherheitAbsicherung

Authentifizierung

Fabian MoritzITaCS GmbHMVP SharePoint Server

Fabian.Moritz@itacs.dehttp://www.itacs.de

@FabianMoritz

http://sharepointcommunity.de/fabianm

Recommended