Plan security hardening for SharePoint Server

GILT FÜR:yes-img-132013 yes-img-162016 yes-img-192019 yes-img-seSubscription Edition no-img-sopSharePoint in Microsoft 365

Sichere Servermomentaufnahmen

In einer Serverfarmumgebung verfügen einzelne Server über bestimmte Rollen. Die Empfehlungen für die Verstärkung der Sicherheit dieser Server hängen von der jeweiligen Rolle der Server ab. Dieser Artikel enthält sichere Momentaufnahmen von zwei Kategorien von Serverrollen:

Die Momentaufnahmen sind in allgemeine Konfigurationskategorien unterteilt. Die für jede Kategorie definierten Merkmale stellen den optimalen gehärteten Zustand für SharePoint Server dar. Dieser Artikel enthält keine Anleitung zum Verstärken der Sicherheit für andere Software in der Umgebung.

Zusätzlich zum Verstärken der Sicherheit für bestimmte Rollen ist es wichtig, die SharePoint-Farm zu schützen, indem zwischen den Farmservern und externen Anforderungen eine Firewall eingerichtet wird. Der Leitfaden in diesem Artikel kann zum Konfigurieren einer Firewall verwendet werden.

SharePoint-Server

In diesem Abschnitt werden Härtungsmerkmale für SharePoint-Server beschrieben. Einige der Anleitungen gelten für bestimmte Dienstanwendungen; In diesen Fällen müssen die entsprechenden Merkmale nur auf die Server angewendet werden, auf denen die Dienste ausgeführt werden, die den angegebenen Dienstanwendungen zugeordnet sind.

Kategorie Merkmal
Im MMC-Snap-In Dienste aufgeführte Dienste
Aktivieren Sie folgende Dienste:
ASP.NET-Zustandsdienst (bei Verwendung von InfoPath Forms Services oder Project Server 2016)
Ansichtstatusdienst (bei Verwendung von InfoPath Forms Services)
WWW-Publishingdienst
Stellen Sie sicher, dass diese Dienste nicht deaktiviert sind:
Forderungen an den Windows-Tokendienst
SharePoint-Verwaltung
SharePoint-Timerdienst
SharePoint-Ablaufverfolgungsdienst
SharePoint VSS Writer
Stellen Sie sicher, dass diese Dienste auf den Servern mit den entsprechenden Rollen nicht deaktiviert sind:
AppFabric-Cachedienst
SharePoint-Benutzercodehost
SharePoint-Suchhostcontroller
SharePoint Server-Suche
Ports und Protokolle
TCP 80, TCP 443 (SSL)
Benutzerdefinierte Ports für Suchdurchforstung, falls konfiguriert (z. B. zum Durchforsten einer Dateifreigabe oder einer Website auf einem Nicht-Standardport)
Von der Suchindexkomponente verwendete Ports - TCP 16500-16519 (nur innerhalb der Farm)
Für den AppFabric-Cachedienst erforderliche Ports - TCP 22233-22236
Für die Windows Communication Foundation-Kommunikation erforderliche Ports - TCP 808
Ports, die für die Kommunikation zwischen SharePoint-Servern und Dienstanwendungen erforderlich sind (Der Standardwert ist HTTP):
HTTP-Bindung: TCP 32843
HTTPS-Bindung: TCP 32844
net.tcp-Bindung: TCP 32845 (nur wenn ein Drittanbieter diese Option für eine Dienstanwendung implementiert hat)
Wenn Ihre Computernetzwerkumgebung Windows Server 2012, Windows Server 2008, Windows Server 2008 R2, Windows 7, oder Windows Vista zusammen mit früheren Windows-Versionen als Windows Server 2012 und Windows Vista verwendet, müssen Sie die Konnektivität über die folgenden beiden Portbereiche aktivieren:
Oberer Portbereich 49152 über 65535
Unterer Portbereich 1025 über 5000
Standardports für die SQL Server-Kommunikation - TCP 1433, UDP 1434. Wenn diese Ports auf dem SQL Server Computer blockiert sind und Datenbanken auf einer benannten Instanz installiert sind, konfigurieren Sie einen SQL Server Clientalias für die Verbindung mit der benannten Instanz.
Microsoft SharePoint Foundation-Benutzercodedienst (für Sandkastenlösungen) - TCP 32846. Dieser Port muss für ausgehende Verbindungen auf allen Front-End- und Front-End-Servern mit verteilten Cacheservern geöffnet sein. Dieser Port muss für eingehende Verbindungen auf Front-End- und Front-End-Servern mit verteilten Cacheservern geöffnet sein, auf denen dieser Dienst aktiviert ist.
Stellen Sie sicher, dass Ports für Webanwendungen, auf die Benutzer zugreifen können, geöffnet bleiben.
Blockieren Sie den externen Zugriff auf den Port, der für die Website der Zentraladministration verwendet wird.
SMTP für die E-Mail-Integration – TCP 25 oder ein benutzerdefinierter TCP-Port, wenn Sie ausgehende E-Mails für die Verwendung eines nicht standardmäßigen Ports konfiguriert haben.
Registrierung
Keine zusätzlichen Hinweise
Überwachung und Protokollierung
Wenn Protokolldateien verschoben werden, stellen Sie sicher, dass die Speicherorte der Protokolldateien entsprechend aktualisiert werden. Aktualisieren Sie auch die Zugriffssteuerungslisten (ACLs) der Verzeichnisse.
Web.config
Folgen Sie diesen Empfehlungen für jede Datei Web.config, die nach der Ausführung des Setupprogramms erstellt wird:
Lassen Sie Kompilierung oder Skripting von Datenbankseiten über die PageParserPaths-Elemente nicht zu.
Stellen Sie sicher, dass Folgendes festgelegt ist: <SafeMode> CallStack="false" und AllowPageLevelTrace="false".
Stellen Sie sicher, dass die Webpartlimits für maximale Steuerelemente pro Zone niedrig festgelegt sind.
Stellen Sie sicher, dass die Liste SafeControls auf die mindestens für die Websites benötigten Steuerelemente festgelegt ist.
Stellen Sie sicher, dass die Liste Workflow SafeTypes auf die mindestens benötigen SafeTypes festgelegt ist.
Stellen Sie sicher, dass "customErrors" aktiviert ist (<customErrors mode="On"/>).
Berücksichtigen Sie ihre Webproxyeinstellungen nach Bedarf (<system.net>/<defaultProxy>).
Legen Sie den Upload.aspx-Grenzwert auf die höchste Größe fest, von der Sie vernünftigerweise erwarten, dass Benutzer hochladen. Durch Uploads von mehr als 100 MB kann die Leistung beeinträchtigt werden.

Datenbankserverrolle

Hinweis

Mit der Ergänzung zum Feature MinRole in SharePoint Server 2016 hat sich das Konzept der Rollen geändert. Informationen zu Rollen finden Sie unter Planen einer MinRole-Serverbereitstellung in SharePoint Server 2016.

Die primäre Empfehlung für SharePoint Server besteht darin, die farmübergreifende Kommunikation zu schützen, indem die Standardports blockiert werden, die für SQL Server Kommunikation verwendet werden, und stattdessen benutzerdefinierte Ports für diese Kommunikation eingerichtet werden. Weitere Informationen zum Konfigurieren von Ports für die SQL Server-Kommunikation finden Sie unter Blockieren der standardmäßigen SQL Server-Ports weiter unten in diesem Artikel.

Kategorie Merkmal
Ports
Blockieren Sie UDP 1434.
Ziehen Sie das Blockieren von TCP 1433 in Betracht.

Das Sichern von SQL Server wird in diesem Artikel nicht beschrieben. Weitere Informationen zum Schützen von SQL Server finden Sie unter Schützen von SQL Server (https://go.microsoft.com/fwlink/p/?LinkId=186828).

Leitfaden für bestimmte Ports, Protokolle und Dienste

Im weiteren Verlauf dieses Artikels werden die spezifischen Härtungsanforderungen für SharePoint Server ausführlicher beschrieben.

In diesem Abschnitt:

Blockieren der standardmäßigen SQL Server-Ports

Die spezifischen Ports, die zum Herstellen einer Verbindung mit SQL Server verwendet werden, hängen davon ab, ob die Datenbanken in einer Standardinstanz von SQL Server oder in einer benannten Instanz von SQL Server installiert sind. Die Standardinstanz von SQL Server hört TCP 1433 auf Clientanforderungen ab. Eine benannte Instanz von SQL Server hört eine zufällig zugewiesene Portnummer ab. Außerdem kann die Portnummer für eine benannte Instanz neu zugewiesen werden, wenn die Instanz neu gestartet wird (abhängig von der Verfügbarkeit der vorher zugewiesenen Portnummer).

Standardmäßig wird auf Clientcomputern, die eine Verbindung mit SQL Server herstellen, zuerst eine Verbindung mithilfe von TCP 1433 hergestellt. Wenn diese Kommunikation nicht erfolgreich ist, fragen die Clientcomputer den UDP 1434 abhörenden SQL Server-Auflösungsdienst ab, um den von der Datenbankinstanz abgehörten Port zu ermitteln.

Das Standardport-Kommunikationsverhalten von SQL Server führt zu verschiedenen Problemen, die sich auf die Verstärkung der Serversicherheit auswirken. Erstens handelt es sich bei den von SQL Server verwendeten Ports um allgemein veröffentlichte Ports, und der SQL Server-Auflösungsdienst ist Ziel von Pufferüberlaufangriffen und Denial-of-Service-Angriffen, beispielsweise durch den Wurmvirus "Slammer". Auch wenn SQL Server aktualisiert wird, um die Sicherheitsprobleme im SQL Server-Auflösungsdienst zu mindern, bleiben die allgemein veröffentlichten Ports ein Ziel. Zweitens wird, wenn Datenbanken in einer benannten Instanz von SQL Server installiert werden, der entsprechende Kommunikationsport zufällig zugewiesen und kann geändert werden. Dieses Verhalten kann möglicherweise in einer Umgebung mit verstärkter Sicherheit die Kommunikation zwischen Servern verhindern. Die Möglichkeit, zu steuern, welche TCP-Ports geöffnet sind oder blockiert werden, ist unerlässlich für den Schutz der Umgebung.

Hinweis

Es wird empfohlen, die SQL-Standardports zu verwenden, aber stellen Sie sicher, dass die Firewall so konfiguriert ist, dass nur die Kommunikation mit den Servern zugelassen wird, die Zugriff auf die SQL Server benötigen. Server, die keinen Zugriff auf die SQL Server benötigen, sollten daran gehindert werden, über TCP-Port 1433 und UDP-Port 1444 eine Verbindung mit dem SQL Server herzustellen.

Es gibt verschiedene Methoden, die Sie zum Blockieren von Ports verwenden können. Sie können die Ports mithilfe einer Firewall blockieren. Wenn Sie jedoch nicht sicher sind, dass keine weiteren Routen in das Netzwerksegment vorhanden sind und dass keine böswilligen Benutzer mit Zugriff auf das Netzwerksegment vorhanden sind, sollten Sie diese Ports direkt auf dem Server blockieren, auf dem SQL Server gehostet wird. Hierzu können Sie die Windows-Firewall in der Systemsteuerung verwenden.

Konfigurieren von SQL Server-Datenbankinstanzen zum Überwachen eines Nichtstandardports

In SQL Server können Ports, die von der Standardinstanz und benannten Instanzen verwendet werden, neu zugewiesen werden. In SQL Server weisen Sie Ports mithilfe des SQL Server-Konfigurations-Managers neu zu.

Konfigurieren von SQL Server-Clientaliasen

In einer Serverfarm sind alle Front-End-Webserver und Anwendungsserver SQL Server-Clientcomputer. Wenn Sie UDP 1434 auf dem SQL Server-Computer blockieren oder den Standardport für die Standardinstanz ändern, müssen Sie auf allen Servern, die eine Verbindung mit dem Computer mit SQL Server herstellen, einen SQL Server-Clientalias konfigurieren. Bei diesem Szenario gibt der SQL Server-Clientalias den TCP-Port an, der von der benannten Instanz abgehört wird.

Zum Herstellen einer Verbindung mit einer Instanz von SQL Server installieren Sie die SQL Server-Clientkomponenten auf dem Zielcomputer und konfigurieren dann den SQL Server-Clientalias mithilfe des SQL Server-Konfigurations-Managers. Zum Installieren der SQL Server-Clientkomponenten führen Sie das Setup aus und wählen nur die folgenden Clientkomponenten für die Installation aus:

  • Konnektivitätskomponenten

  • Verwaltungstools (enthalten den SQL Server-Konfigurations-Manager)

Spezifische Härtungsschritte zum Blockieren der Standardports SQL Server finden Sie unter Konfigurieren SQL Server Sicherheit für SharePoint Server.

Kommunikation zwischen Dienstanwendungen

Standardmäßig erfolgt die Kommunikation zwischen SharePoint-Servern und Dienstanwendungen innerhalb einer Farm über HTTP mit einer Bindung an TCP 32843. Beim Veröffentlichen einer Dienstanwendung können Sie entweder HTTP oder HTTPS mit folgenden Bindungen auswählen:

  • HTTP-Bindung: TCP 32843

  • HTTPS-Bindung: TCP 32844

Daneben können Drittanbieter, die Dienstanwendungen entwickeln, eine dritte Möglichkeit implementieren:

  • net.tcp-Bindung: TCP 32845

Sie können die Protokoll- und Portbindung für jede Dienstanwendung ändern. Wählen Sie auf der Seite Dienstanwendungen in der Zentraladministration die Dienstanwendung aus, und klicken Sie dann auf Veröffentlichen.

Die HTTP/HTTPS/net.tcp-Bindungen können auch mithilfe der Microsoft PowerShell-Cmdlets Get-SPServiceHostConfig und Set-SPServiceHostConfig angezeigt und geändert werden.

Die Kommunikation zwischen Dienstanwendungen und SQL Server erfolgt über die standardmäßigen SQL Server-Ports oder die Ports, die Sie für die SQL Server-Kommunikation konfigurieren.

Verbindungen mit externen Servern

Mehrere Features von SharePoint Server können für den Zugriff auf Daten konfiguriert werden, die sich auf Servercomputern außerhalb der Serverfarm befinden. Wenn Sie den Zugriff auf Daten auf externen Servercomputern konfigurieren, sollten Sie sicherstellen, dass die Kommunikation zwischen den entsprechenden Computern aktiviert ist. In den meisten Fällen sind die verwendeten Ports, Protokolle und Dienste von der externen Ressource abhängig. Zum Beispiel:

  • Für Verbindungen mit Dateifreigaben wird der Datei- und Druckerfreigabedienst verwendet.

  • Bei Verbindungen mit externen SQL Server-Datenbanken werden die standardmäßigen oder angepassten Ports für die SQL Server-Kommunikation verwendet.

  • Für Verbindungen mit Oracle-Datenbanken wird normalerweise OLE DB verwendet.

  • Für Verbindungen mit Webdiensten werden sowohl HTTP als auch HTTPS verwendet.

In der folgenden Tabelle sind die Features aufgeführt, die für den Zugriff auf Daten, die sich auf Servercomputern außerhalb der Serverfarm befinden, konfiguriert werden können.

Feature Beschreibung
Inhaltscrawling
Sie können Durchforstungsregeln für das Durchforsten von Daten auf externen Ressourcen, wie Websites, Dateifreigaben, öffentlichen Exchange-Ordnern und Branchenanwendungen, konfigurieren. Beim Durchforsten externer Datenquellen kommuniziert die Durchforstungsrolle direkt mit diesen externen Ressourcen.
Weitere Informationen finden Sie unter Verwalten der Durchforstung in SharePoint Server.
Business Data Connectivity-Verbindungen
Webserver und Anwendungsserver kommunizieren direkt mit Computern, die für Business Data Connectivity-Verbindungen konfiguriert sind.

Dienstanforderungen für die E-Mail-Integration

Für die E-Mail-Integration ist die Verwendung von zwei Diensten erforderlich:

SMTP-Dienst

Für die E-Mail-Integration muss auf mindestens einem der Front-End-Webserver in der Serverfarm der SMTP-Dienst (Simple Mail Transfer-Protokoll) verwendet werden. Der SMTP-Dienst ist für die eingehende E-Mail-Kommunikation erforderlich. Für ausgehende E-Mail-Nachrichten können Sie entweder den SMTP-Dienst verwenden oder die Nachrichten über einen dedizierten E-Mail-Server in Ihrem Unternehmen weiterleiten, z. B. einen Computer mit Microsoft Exchange Server.

Microsoft SharePoint-Verzeichnisverwaltungsdienst

SharePoint Server enthält einen internen Dienst, den Microsoft SharePoint-Verzeichnisverwaltungsdienst, zum Erstellen von E-Mail-Verteilergruppen. Wenn Sie die E-Mail-Integration konfigurieren, haben Sie die Möglichkeit zur Aktivierung des Verzeichnisverwaltungsdienst-Features, mit dem Benutzer Verteilerlisten erstellen können. Wenn Benutzer eine SharePoint-Gruppe erstellen und die Option zum Erstellen einer Verteilerliste auswählen, erstellt der Microsoft SharePoint-Verzeichnisverwaltungsdienst die entsprechende Active Directory-Verteilerliste in der Active Directory-Umgebung.

In Umgebungen mit verstärkter Sicherheit wird empfohlen, den Zugriff auf den Microsoft SharePoint-Verzeichnisverwaltungsdienst durch Schützen der diesem Dienst zugeordneten Datei, SharePointEmailws.asmx, einzuschränken. Lassen Sie beispielsweise den Zugriff auf diese Datei nur für das Serverfarmkonto zu.

Darüber hinaus sind für diesen Dienst Berechtigungen in der Active Directory-Umgebung erforderlich, um Active Directory-Verteilerlistenobjekte zu erstellen. Es wird empfohlen, eine separate Organisationseinheit (OE) in Active Directory für SharePoint Server-Objekte einzurichten. Nur diese Organisationseinheit sollte Schreibzugriff auf das vom Microsoft SharePoint-Verzeichnisverwaltungsdienst verwendete Konto gewähren.

Dienstanforderungen für den Sitzungsstatus

Sowohl Project Server 2016 als auch InfoPath Forms Services sitzungszustand beibehalten. Wenn Sie diese Features oder Produkte innerhalb der Serverfarm bereitstellen, sollten Sie den ASP.NET-Statusdienst nicht deaktivieren. Wenn Sie InfoPath Forms Services bereitstellen, sollten Sie den Dienst Ansichtstatus auch nicht deaktivieren.

Dienste für SharePoint Server-Produkte

Deaktivieren Sie keine Dienste, die von SharePoint Server (in der Momentaufnahme zuvor aufgeführt) installiert werden.

Wenn Ihre Umgebung Dienste, die als lokales System ausgeführt werden, nicht zuzulassen, können Sie die Deaktivierung des SharePoint-Verwaltungsdiensts nur in Betracht ziehen, wenn Sie sich der Konsequenzen bewusst sind und sie umgehen können. Dieser Dienst ist ein Win32-Dienst, der als lokales System ausgeführt wird.

Dieser Dienst wird vom SharePoint-Timerdienst zum Ausführen von Aktionen verwendet, für die Administratorberechtigungen auf dem Server erforderlich sind, beispielsweise Erstellen von IIS-Websites (Internetinformationsdienste), Bereitstellen von Code sowie Beenden und Starten von Diensten. Wenn Sie diesen Dienst deaktivieren, können Sie keine Aufgaben im Zusammenhang mit der Bereitstellung über die Website für die Zentraladministration ausführen. Sie müssen Microsoft PowerShell verwenden, um das Cmdlet Start-SPAdminJob auszuführen (oder das Befehlszeilentool Stsadm.exe verwenden, um den Execadmsvcjobs-Vorgang auszuführen), um Bereitstellungen mit mehreren Servern für SharePoint Server abzuschließen und andere bereitstellungsbezogene Aufgaben auszuführen.

Web.config (Datei)

In .NET Framework und insbesondere ASP.NET werden zum Konfigurieren von Anwendungen Konfigurationsdateien im XML-Format verwendet. In .NET Framework werden Konfigurationsdateien zum Definieren von Konfigurationsoptionen verwendet. Die Konfigurationsdateien sind textbasierte XML-Dateien. Auf einem einzigen System können sich mehrere Konfigurationsdateien befinden, und normalerweise ist dies auch der Fall.

System-wide configuration settings for the .NET Framework are defined in the Machine.config file. Die Machine.config Datei befindet sich im Ordner %SystemRoot%\Microsoft.NET\Framework%VersionNumber%\CONFIG\. The default settings that are contained in the Machine.config file can be modified to affect the behavior of applications that use the .NET Framework on the whole system.

Sie können die ASP.NET-Konfigurationseinstellungen für eine einzelne Anwendung ändern, indem Sie eine Datei Web.config im Stammordner der Anwendung erstellen. Wenn Sie dies tun, werden durch die Einstellungen in der Datei Web.config die Einstellungen in der Datei Machine.config außer Kraft gesetzt.

Wenn Sie eine Webanwendung mithilfe der Zentraladministration erweitern, erstellt SharePoint Server automatisch eine Web.config-Datei für die Webanwendung.

In der Momentaufnahme für Webserver und Anwendungsserver weiter oben in diesem Artikel werden Empfehlungen für das Konfigurieren der Datei Web.config aufgelistet. Diese Empfehlungen gelten für jede erstellte Datei Web.config, einschließlich der Datei Web.config für die Website für die Zentraladministration.

Weitere Informationen zum ASP.NET von Konfigurationsdateien und zum Bearbeiten einer Web.config-Datei finden Sie unter ASP.NET Configuration (https://go.microsoft.com/fwlink/p/?LinkID=73257).

Siehe auch

Konzepte

Sicherheit für SharePoint Server