Plan security hardening for SharePoint Server
GILT FÜR:2013 2016 2019 Subscription Edition SharePoint 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:
SharePoint-Server
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 Härtungsanleitungen für andere Software in der Umgebung.
Zusätzlich zum Härten von Servern für bestimmte Rollen ist es wichtig, die SharePoint-Farm zu schützen, indem eine Firewall zwischen den Farmservern und externen Anforderungen platziert 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) Zustandsanzeigedienst (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, auf denen die entsprechenden Rollen gehostet werden, 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. ICMP für Echoanforderungen: Jeder Verteilte Cacheserver sollte über ein-/ausgehende Firewallregeln zum Aktivieren von ICMP für Echoanforderungen verfügen. |
|
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: Die Kompilierung oder Skripterstellung von Datenbankseiten über die PageParserPaths-Elemente ist nicht zulässig. 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, die Benutzer vernünftigerweise 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 die 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. |
In diesem Artikel wird nicht beschrieben, wie SQL Server gesichert wird. 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 SQL Server benötigen. Server, die keinen Zugriff auf SQL Server benötigen, sollten daran gehindert werden, über TCP-Port 1433 und UDP-Port 1444 eine Verbindung mit 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 SQL Server-Standardports finden Sie unter Konfigurieren der 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 in der Zentraladministration auf der Seite Dienstanwendungen die Dienstanwendung und dann Veröffentlichen aus.
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 behalten den Sitzungszustand bei. Wenn Sie diese Features oder Produkte in Ihrer Serverfarm bereitstellen, deaktivieren Sie den ASP.NET State-Dienst nicht. Wenn Sie InfoPath Forms Services bereitstellen, deaktivieren Sie außerdem nicht den Dienst Zustand anzeigen.
Dienste für SharePoint Server-Produkte
Deaktivieren Sie keine Dienste, die von SharePoint Server installiert werden (die zuvor in der Momentaufnahme aufgeführt sind).
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 Folgen 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 bereitstellungsbezogenen Aufgaben am Standort der 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).