620 likes | 767 Views
Implementierung einer hochverfügbaren, sicheren SharePoint 2007 Infrastruktur. Fabian Moritz Senior Consultant, MVP ITaCS GmbH. Denis Holtkamp Senior Consultant ITaCS GmbH. Themen. SharePoint 2007 Grundlagen Sicherheitsmodell Topologien Hochverfügbarkeits-Setup im Detail
E N D
Implementierung einer hochverfügbaren, sicheren SharePoint 2007 Infrastruktur Fabian Moritz Senior Consultant, MVP ITaCS GmbH Denis Holtkamp Senior Consultant ITaCS GmbH
Themen • SharePoint 2007 Grundlagen • Sicherheitsmodell • Topologien • Hochverfügbarkeits-Setup im Detail • Kapazitätsplanung • DisasterRecovery
Kundenwünsche und Pain Points • Inkonsistentes Setup zwischen den Produkten • Zentrale Administration mehrerer Server • Topologie Restriktionen • Skalierung: Farmen verschiedener Größen • Flexibilität: Umbenennung und Neuzuweisung von Res. • Netzwerk Support • Mehrere Authentifizierungsprovider • Reverse Proxies, SSL Termination • IP-bound IIS virtualservers • Bessere Ressourcen-Ausnutzung und –Isolation • Upgrademöglichkeiten
SharePoint 2007 – Grundlagen1. Architektur Farm Physical Server Web Application(s) aka Virtual Server aka IIS Web Site Top Level Site(s) Central Admin Central Admin Site(s) Site(s) Site Collection
Plattform ServicesArbeitsbereiche, Mgmt, Sicherheit, Speicher, Topologie, Site Model SharePoint 2007 – Grundlagen2. Services vs. ServerWindows SharePoint Services 2007 Dokumente/Aufgaben/Termine, Blogs, Wikis, E-Mail-Integration, Project Management “lite”, Outlook Integration, Offline Dokumente und Listen Zusammenarbeit
Plattform ServicesArbeitsbereiche, Mgmt, Sicherheit, Speicher, Topologie, Site Model SharePoint 2007 – Grundlagen2. Services vs. ServerOffice SharePoint Server 2007 Server-basierte Excel- Spreadsheets und Datenvisualisierung, Report Center, BI Webparts, KPIs/Dashboards Dokumente/Aufgaben/Termine, Blogs, Wikis, E-Mail-Integration, Project Management “lite”, Outlook Integration, Offline Dokumente und Listen Business Intelligence Zusammenarbeit Enterprise Portal Vorlage, Website-Verzeichnis, My Sites, Social Networking Client und Web Formulare, LOB Aktionen, Pluggable SSO Geschäfts-formulare Portal Content Management Suche Integriertes Dokumenten-management, Records Management und Web Content Management mit Policies und Workflow Enterprise-Skalierbarkeit, Kontextuelle Relevanz, Umfassende Personen und Geschäftsdaten-Suche
SharePoint 2007 – Grundlagen3. Shared Services Shared Services • Office Server Search • Directory import • User profile sync • Audiences • Targeting • Business Data Catalog • Excel calculation service • Usage Reporting • MySite Web App 1 Web App 2 Site A Site B Site C Site D
SharePoint 2007 – Grundlagen4. Was istaus “Portalen” geworden? Ein SharePoint Portal istjetzt:SP Site + MOSS Template + Shared Services MOSS Single Server Web Application(s) Portal Template Central Admin SSP Admin Portal Template
SharePoint 2007 – Grundlagen5. Logischer und physikalischer Aufbau • Keine Topologie-Restriktionen mehr! • Server haben Rollen • Web Front End (WFE) • Application Server • Datenbank Server • Farmen jeder Größe können erstellt werden und alle Serverrollen abbilden • Es gibt allerdings ein paar Empfehlungen, Richtlinien und Best Practices z.B. • Mind. ein Index Server pro Farm • Nicht mehr als 8 WFEs pro SQL Server
Sharepoint Search – Begriffe • Crawl • Durchsucht bestimmte Ziele (Content Sources) • Übergibt Daten (Content + Properties) an Index • Index • Erstellt Full-Text-Index (File) und Properties-DB • Kopiert Full-Text-Index an alle Query-Server • Query • Beantwortet Suchanfragen von Benutzern • Content Sources • SharePoint Sites, WebSites, Fileserver, Exchange Public Folder, Business Data Catalog
Config DB Search DB SSP DB Content DB CA Content DB SharePoint 2007 – GrundlagenDatenbanken Farm Physical Server SSP Central Admin Central Admin Site Collection A Site Collection A
Datenbank Namen (Best Practices) • SharePoint_Config_FarmName • Existiert nur einmal pro Farm • SharePoint_ContentAdmin_FarmName • Existiert einmal pro Farm, manuell umbenennen • SharePoint_Content_WebApplicationName# • Existiert ein- oder mehrmal pro WebApplication • SharePoint_SSPName • Existiert einmal pro SSP • SharePoint_SSPName_Search • Existiert einmal pro SSP • SharePoint_Search_AppServer • Existiert einmal pro WSS Service Help Search
SicherheitsmodellWas waren die Schwachstellen? • Keine Berechtigungen auf einzelne Verzeichnisse oder Elemente • Fehlende Wiederherstellungs-Möglichkeiten für einzelne Elemente (kein Papierkorb) • Nur Authentifizierung gegen Windows-Benutzerdatenbanken • Berechtigungen des Benutzers werden nicht bei der Darstellung berücksichtigt • Keine (echte) Backup & Recovery-Funktionalität
SicherheitsmodellSharePoint Identitäten • Application Pool-Identität • Konfiguration über WSS-Administration • Zugriff auf Ressourcen (Dateisystem, SQL) • WSS System-Identität • Wird verwendet, um AppPool-Identität zu verstecken • SHAREPOINT\system • Benutzer-Identität • Windows oder anderer Authentifizierungs-Provider • Vergabe von Berechtigungen
SicherheitsmodellApplication Pool Identität • Pro IIS Website ein Application Pool • AppPool wird unter eigener Identität ausgeführt • Identität ist lokales oder Domain-Benutzerkonto • In Serverfarmen Domainkonto verwenden!
SicherheitsmodellApplication Pool & SQL Server • Zugriff auf Config-Datenbank • Erstellung und Zugriff auf Content-Datenbank • Benutzerkonto benötigt SQL Server-Rechte
SicherheitsmodellNeue Authentifizierungsverfahren • Windows Authentifizierung • Authentifizierung gegen IIS • Benutzer authentifizieren sich über ein Active Directory- oder lokales Benutzerkonto • WSS v2 unterstützt nur diesen Typ • ASP.NET 2.0 Forms Authentifizierung • Basiert auf Authentication Provider Framework • IIS wird für “Anonymen Zugriff” konfiguriert • Web SSO Authentifizierung • Basiert Active Directory Federation Services (ADFS)
SicherheitsmodellWindows Authentifizierung • Authentifizierungüber Windows-Benutzerkonto • LokaleBenutzerkonten in Stand-Alone-Umgebungen • Active Directory Benutzerkonten (besser) • Authentifizierungsverfahren • Windows IntegrierteAuthentifizierung(Negotiate NTLM, Kerberos) • Basic Authentifizierung (Nurmit SSL!) • Über IIS zusätzlich: Certificates und Digest
Internet Identity Mgmt App Operating System Identity Login PWD Bob xoxoxo Mary oxox Wally xoxox SicherheitsmodellForms basierte Authentifizierung • Basiert auf ASP.NET Authentifizierungsprovider • Membership Provider für Benutzerkonten • Role Provider • Out-of-the-box Provider • SqlMembershipProvider • ActiveDirectoryMembershipProvider Desktop Windows XP Web Server Windows Server 2003 WSSv3 Application Browser Office App Custom App Authentication Provider
SicherheitsmodellBerechtigungsmodell • SharePoint liefert vordefiniert Rechte • Listenberechtigungen (Hinzufügen, Ändern, etc.) • Websiteberechtigungen (Website erstellen) • Persönliche Berechtigungen (Ansicht anpassen) • Vergabe durch Berechtigungsstufen • Security Trimmed UI
SicherheitsmodellBerechtigungsmodell • Aktivierung in Zentraladministration • Einfache Verwaltung innerhalb der Website • Direkte Berechtigungsvergabe auf Ebene der Liste oder des Listeneintrags
SicherheitsmodellBerechtigungsmodell • SharePoint integriert einen Papierkorb • Für Benutzer auf Site-Ebene • Für Administratoren auf Site-Collection-Ebene • Listen, Bibliotheken, Verzeichnisse, Elemente
Sicherheitsmodell Best Practices • Unterschiedliche Benutzerkonten für: • Farm Account • Content Application Pool • SSP Prozess Account • Achtung: Darf in Farm-Umgebungen nicht “Network Service” sein! • Kann aber gleich dem SSP Shared Web Service Account sein. • Kerberos on (default = NTLM) • Jeder Prozess-Account muss einen SPN registriert haben. • SSL aktivieren (default = off) • Einschaltenfür die Admin Site und die Server-zu-Server-Kommunikation • SPAdmin Service: • Single Server: Off (Empfehlung ‘On’ für MOSS) • Farm: On
Keine Angst vor Kerberos • Schneller durch „credentialcaching“ • Kommunikation WFE DB • Service Principle Name für das SQL Dienstkonto SETSPN -A MSSQLSVC/<FQDN>:<Port> <Domain\SQLServiceAccountName>z.B. SETSPN -A MSSQLSvc/srv01.contoso.com:1433 CONTOSO\sql_srv • Kommunikation Benutzers WFE • Service Principle Name für die WebApplicationSETSPN -A HTTP/<FQDN> <Domain>\<AppPoolIdentity>z.B. SETSPN -A HTTP/Intranet CONTOSO\sp_app_intranet
Kerberos Auth ohne Impersonifizierung SQL Service Account UPN = CLU-SQL-SRV SPN = MSSQLSvc/CLU-SQL.ms- demos.de MOSS Service Account UPN = SP_APP_Intranet User Account UPN = bob@msdemos.de OK Dienstanstart mit Kerberos Authentifizierung OK BASIC, NTLM, NEGOTIATE, FORMS Windows Authentifizierung
Kerberos Auth mit Impersonifizierung MOSS Service Account UPN = SP_APP_Intranet SPN = http/intranet.msdemos.de Contraint: MSSQLSvc/CLU-SQL.ms- demos.de SQL Service Account UPN = CLU-SQL-SRV SPN = MSSQLSvc/CLU-SQL.ms- demos.de User Account UPN = bob@xxx.de OK Dienstanstart mit Kerberos Authentifizierung NEGOTIATE OK Kerberos Delegation Benutzeranmeldung mit Kerberos Authentifizierung
Topologien Single Server Kleine Farm Mittlere Farm Große Farm
Server 1: Content Sites SSP SSP Admin Site Shared Services Shared Web Services Central Admin Site AlleDatenbanken • Ein Server mitallen Rollen: • Web Front End • Applikation • Datenbank TopologienSingle server Physikalisch Logisch
Topologien2*1 kleine Farm Server 1 & 2: Content Sites SSP SSP Admin Site Shared Services Shared Web Services Central Admin Site (nur Server 1) Server 3 AlleDatenbanken Physikalisch Logisch Load balanced Server: Web Front EndApplikation Dedicated SQL Server
Topologien2*1*2 mittlere Farm Servers 1 & 2: Content Sites SSP SSP Admin Site Shared service Shared web services Server 3 SSP Shared service (Index) Shared web services Central Admin Site Server 4 & 5 AlleDatenbanken Physikalisch Logisch Load balanced Server: • Web Front End • Applications Application Server (Index) GeclusterterSQL Server
Topologien4*6*2 große Farm Physikalisch Logisch • WFE Server: 1-4 • Content Sites • SSP Admin Site • Application Server: 5-10 • SSP • Server 5 - 6: • - Shared service (Index) • - Central Admin • Server 7 - 8: • - Shared service (Query) • - Shared web services (Query) • Server 9 – 10: • - Shared service (Excel) • - Shared web services (Excel) • DB Server: 11 & 12 • AlleDatenbanken Web front end Web front end Application Servers Index Search Excel calculation Clustered SQL Server
Hochverfügbarkeits-Setup im Detail Datenbank System Sharepoint Server Firewall System
Demo Infrastruktur 172.21.12.1 = intranet.msdemos.de 172.21.12.2 172.21.12.3 192.168.1.2 192.168.1.3 192.168.1.1 192.168.1.21 = intranet CLU-SQL DB SQL Server 2005 + SP2 192.168.1.10 192.168.1.15 192.168.1.20 192.168.1.25 192.168.1.30 192.168.1.35 192.168.1.40 192.168.1.45
Datenbank SystemInstallation • Backend Datenbank Systeme • Microsoft SQL Server 2005 Express Edition • Microsoft SQL Server 2005 SP2 • Microsoft SQL Server 2000 SP4 • Datenbank-Berechtigungen werden automatisch angepasst • DBA-createdDatabases möglich
Datenbank SystemSQL Failover Clustering • Hot Standby: Sehrkurze Recovery-Zeiten • ApplikationsverfügbarkeitohneÜberwachung und ohne Administrative Eingriffe SharePoint Web Front Ends Server Cluster Heartbeat Node A Node B Shared Disk Arrays
Demo Infrastruktur 172.21.12.1 = intranet.msdemos.de 172.21.12.2 172.21.12.3 192.168.1.2 192.168.1.3 192.168.1.1 192.168.1.21 = intranet CLU-SQL DB SQL Server 2005 + SP2 192.168.1.10 192.168.1.15 192.168.1.20 192.168.1.25 192.168.1.30 192.168.1.35 192.168.1.40 192.168.1.45
Demo Infrastruktur 172.21.12.1 = intranet.msdemos.de 172.21.12.2 172.21.12.3 192.168.1.2 192.168.1.3 192.168.1.1 192.168.1.21 = intranet CLU-SQL DB SQL Server 2005 + SP2 192.168.1.10 192.168.1.15 192.168.1.20 192.168.1.25 192.168.1.30 192.168.1.35 192.168.1.40 192.168.1.45
Applikations- und Web Front End ServerSetup • Installationsvoraussetzungen • Windows Server 2003 • Mindestens Service Pack 1 bzw. R2 • Editionen: Web, Standard, Enterprise, Datacenter • Als x32 oder x64 Version • Später auch Windows Server Codename Longhorn • Internet Information Services • .NET Framework 2.0 • .NET Framework 3.0 wegen Workflow Foundation • ASP.NET 2.0 muss im IIS registriert seinC:\Windows\Microsoft.NET\Framework\v2.0.xxxxx>aspnet_regiis.exe -i
Web Front End ServerLastverteilung und Failover • Lastverteilung mittels: • Hardware Load-Balancer • Z.B. F-5 BigIP, Cisco Content Service Switch…. • Microsoft Network LoadBalancing • Cluster operationmode • Default: Unicast Modus (nicht empfohlen bei single NIC) • Empfohlen: Multicast Modus (Vorsicht bei älteren Switches)Hosts können weiterhin untereinander kommunizieren • ISA Server 2006 LoadBalancing • ISA übernimmt die Lastverteilung und überprüft die Verfügbarkeit der Nodes
Language Packs • Derzeit in 37 Sprachen • Sowohl für WSS als auch für die Office Server • Language Packs sollten • nach dem WSS bzw. MOSS Setup und • vor dem ConfigurationWizzard installiert werden • Auf allen Servern der Farm installiert sein • Default Language ist die Sprache der Verwaltungswebseite
Service Accounts • Alle Accounts sollten im Active Directory liegen • Service Accounts müssen nicht Mitglied der Gruppe „Domänen-Benutzer“ sein • SharePoint Farm Account für die Zentraladministration • Scope: ein Account pro Farm • DOMAIN\SP_CA_<FarmName> • SharePoint Application Pool Account • Scope: Account für jeden Application Pool • DOMAIN\SP_App_<WebApplicationName>
Service Accounts • SharePoint Content Access Account • Konto für Crawling der Inhaltsquellen • DOMAIN\SP_CAA_<FarmName> • SharePoint Search Service Account • DOMAIN\SP_Search_<FarmName> • Shared Service Provider WebService Account • Ein Account pro SSP • DOMAIN\SP_<SSPName>_WebService
Installation der Applikationsserver Installation der Web Front End Server Erstellung einer Web Applikation sowie einer Site Collection Einrichtung von NLB
Demo Infrastruktur 172.21.12.1 = intranet.msdemos.de 172.21.12.2 172.21.12.3 192.168.1.2 192.168.1.3 192.168.1.1 192.168.1.21 = intranet CLU-SQL DB SQL Server 2005 + SP2 192.168.1.10 192.168.1.15 192.168.1.20 192.168.1.25 192.168.1.30 192.168.1.35 192.168.1.40 192.168.1.45
Konfiguration des Shared Service Provider für Indexing und Search
Demo Infrastruktur 172.21.12.1 = intranet.msdemos.de 172.21.12.2 172.21.12.3 192.168.1.2 192.168.1.3 192.168.1.1 192.168.1.21 = intranet CLU-SQL DB SQL Server 2005 + SP2 192.168.1.10 192.168.1.15 192.168.1.20 192.168.1.25 192.168.1.30 192.168.1.35 192.168.1.40 192.168.1.45
First lineofdefenseFirewall • Firewall muss • http (TCP/80) und https (TCP/443) erlauben • Firewall sollte • „stateful“ Paketfilterung unterstützen • Applikations-Filter für http haben • SSL Terminierung übernehmen können • Authentifizierung überprüfen und weiterleiten • Basic Auth / Forms-Auth • HA Szenarien (z.B. Clustering) unterstützen • ISA Server 2006 Enterprise Edition erfüllt diese Bedingungen
ISA Server 2006Authentifizierung • Basic Authentification • Integrated Authentification • NTLM / Kerberos • Forms-BasedAuthentification • Authentifizierungsprovider • Lokale Verzeichnisdatenbank • Active Directory • LDAP Directory • ASP. Net pluggableauthNprovider • Protokolltransition
Einrichtung des ISA Server 2006 Array und Veröffentlichung der SharePoint Server 2007 Farm