Plan security hardening for SharePoint Server
S’APPLIQUE À :2013 2016 2019 Édition d’abonnement SharePoint dans Microsoft 365
Captures instantanées de serveurs sécurisées
Dans un environnement de batterie de serveurs, les serveurs individuels ont des rôles spécifiques. Les recommandations en matière de renforcement de la sécurité pour ces serveurs dépendent du rôle joué par chacun d'eux. Cet article contient des captures instantanées sécurisées pour deux catégories de rôles serveur :
Serveurs SharePoint
Les captures instantanées sont divisées en catégories de configuration courantes. Les caractéristiques définies pour chaque catégorie représentent l’état renforcé optimal pour SharePoint Server. Cet article n’inclut pas de conseils de sécurisation renforcée pour les autres logiciels de l’environnement.
En plus de renforcer les serveurs pour des rôles spécifiques, il est important de protéger la batterie de serveurs SharePoint en plaçant un pare-feu entre les serveurs de la batterie de serveurs et les demandes externes. L'aide fournie dans cet article peut être utilisée pour configurer un pare-feu.
Serveurs SharePoint
Cette section identifie les caractéristiques de renforcement des serveurs SharePoint. Certains des conseils s'appliquent à des applications de service spécifiques ; dans ces cas-là, les caractéristiques correspondantes doivent être appliquées uniquement sur les serveurs qui exécutent les services associés aux applications de service spécifiées.
Catégorie | Caractéristique |
---|---|
Services répertoriés dans le composant logiciel enfichable MMC Services |
Activez les services suivants : service d’état ASP.NET (si vous utilisez InfoPath Forms Services ou Project Server 2016) Afficher le service d’état (si vous utilisez InfoPath Forms Services) Service de publication World Wide Web Vérifiez que ces services ne sont pas désactivés : Revendications du service d’émissions de jeton Windows Administration SharePoint Service du minuteur SharePoint Service de suivi SharePoint Enregistreur VSS SharePoint Assurez-vous que ces services ne sont pas désactivés sur les serveurs qui hébergent les rôles correspondants : Service de mise en cache AppFabric Hôte de code utilisateur SharePoint Contrôleur d'hôte de la recherche SharePoint SharePoint Server Search Ports et protocoles |
TCP 80, TCP 443 (SSL) Ports personnalisés pour l'analyse de recherche, si elle est configurée (par exemple pour l'analyse d'un partage de fichiers ou d'un site web sur un port non défini par défaut) Ports utilisés par le composant d'index de recherche - TCP 16500-16519 (dans la batterie de serveurs uniquement) Ports nécessaires au service de mise en cache AppFabric - TCP 22233-22236 Ports nécessaires aux communications WCF (Windows Communication Foundation) - TCP 808 Ports requis pour la communication entre les serveurs SharePoint et les applications de service (la valeur par défaut est HTTP) : Liaison HTTP : TCP 32843 Liaison HTTPS : TCP 32844 Liaison net.tcp : TCP 32845 (uniquement si une tierce partie a implémenté cette option pour une application de service) Si votre environnement de réseau informatique utilise Windows Server 2012, Windows Server 2008, Windows Server 2008 R2, Windows 7 ou Windows Vista conjointement à des versions de Windows antérieures à Windows Server 2012 et Windows Vista, vous devez activer la connectivité sur les deux plages de ports suivantes : Plage de port élevée : de 49152 à 65535 Plage de port faible : de 1025 à 5000 Ports par défaut pour les communications SQL Server - TCP 1433, UDP 1434. Si ces ports sont bloqués sur l’ordinateur SQL Server et que les bases de données sont installées sur une instance nommée, configurez un alias client SQL Server pour la connexion à l’instance nommée. Service de code utilisateur Microsoft SharePoint Foundation (pour les solutions en mode bac à sable) - TCP 32846. Ce port doit être ouvert pour les connexions sortantes sur tous les serveurs front-end et front-end avec cache distribué. Ce port doit être ouvert pour les connexions entrantes sur le front-end et le serveur frontal avec les serveurs de cache distribué où ce service est activé. Assurez-vous que les ports restent ouverts pour les applications Web qui sont accessibles aux utilisateurs. Bloquez l'accès externe au port utilisé pour le site de l'Administration centrale. SMTP pour l’intégration de messagerie : TCP 25 ou port TCP personnalisé si vous avez configuré le courrier sortant pour utiliser un port autre que le port par défaut. ICMP pour la demande d’écho : chaque serveur de cache distribué doit avoir des règles de pare-feu entrante/sortante permettant d’activer ICMP pour la demande d’écho. |
|
Registre |
Aucun conseil supplémentaire |
Audit et journalisation |
Si vous déplacez les fichiers journaux, mettez à jour les emplacements des fichiers journaux de manière appropriée. Mettez également à jour les listes de contrôle d'accès de l'annuaire. |
le fichier web.config ; |
Appliquez les recommandations suivantes pour chaque fichier Web.config créé après l'exécution du programme d'installation : N’autorisez pas la compilation ou l’écriture de scripts de pages de base de données via les éléments PageParserPaths. Assurez-vous que <SafeMode> CallStack="false" et que AllowPageLevelTrace="false". Assurez-vous que l'attribut MaxZoneParts de la valeur WebPartLimits est défini sur une valeur faible. Assurez-vous que la liste SafeControls est définie sur l'ensemble minimal de contrôles nécessaires pour vos sites. Assurez-vous que votre liste Workflow SafeTypes est définie sur le niveau minimal de SafeTypes nécessaires. Assurez-vous que customErrors est activé (<customErrors mode="On"/>). Tenez compte des paramètres de votre proxy web en fonction des besoins (<system.net>/<defaultProxy>). Définissez la limite de Upload.aspx à la taille la plus élevée que vous attendez raisonnablement des utilisateurs à charger. Les performances peuvent être affectées par des téléchargements supérieurs à 100 Mo. |
Rôle serveur de base de données
Notes
Avec l’ajout de la fonctionnalité MinRole dans SharePoint Server 2016, le concept de rôles a changé. Pour plus d’informations sur les rôles, voir Planning for a MinRole server deployment in SharePoint Server 2016.
La principale recommandation pour SharePoint Server est de sécuriser la communication entre batteries de serveurs en bloquant les ports par défaut utilisés pour la communication SQL Server et en établissant des ports personnalisés pour cette communication à la place. Pour savoir comment configurer des ports pour la communication SQL Server, voir Blocage des ports SQL Server standard plus loin dans cet article.
Catégorie | Caractéristique |
---|---|
Ports |
Bloquez le port UDP 1434. Envisagez le blocage du port TCP 1433. |
Cet article ne décrit pas comment sécuriser SQL Server. Pour plus d’informations sur la sécurisation de SQL Server, consultez Sécurisation de SQL Server (https://go.microsoft.com/fwlink/p/?LinkId=186828).
Conseils spécifiques aux ports, protocoles et services
Le reste de cet article décrit plus en détail les exigences spécifiques de renforcement pour SharePoint Server.
Dans cette section :
Blocage des ports SQL Server standard
Les ports spécifiques utilisés pour se connecter à SQL Server sont affectés par l’installation des bases de données sur une instance par défaut de SQL Server ou sur une instance nommée de SQL Server. L’instance par défaut de SQL Server écoute les demandes des clients sur TCP 1433. Une instance nommée de SQL Server écoute un numéro de port attribué de manière aléatoire. En outre, le numéro de port d’une instance nommée peut être réaffecté si l’instance est redémarrée (selon que le numéro de port précédemment attribué est disponible ou non).
Par défaut, les ordinateurs clients qui se connectent à SQL Server se connectent d'abord par l'intermédiaire du port TCP 1433. Si cette communication échoue, ils interrogent le service de résolution SQL Server qui écoute sur le port UDP 1434 afin de déterminer le port sur lequel l'instance de base de données est à l'écoute.
Le comportement par défaut de SQL Server, qui consiste à communiquer par le biais des ports, présente plusieurs problèmes qui affectent le renforcement de la sécurité des serveurs. Tout d'abord, les ports utilisés par SQL Server sont des ports largement ouverts au public et le service de résolution SQL Server a déjà été la cible d'attaques par dépassement de mémoire tampon et d'attaques par déni de service, y compris du ver informatique « Slammer ». Même si SQL Server est mis à jour pour atténuer les problèmes de sécurité dans le service de résolution SQL Server, les ports largement ouverts au public demeurent une cible. Ensuite, si les bases de données sont installées sur une instance nommée de SQL Server, le port de communication correspondant est affecté de manière aléatoire et peut changer. Ce comportement risque d'empêcher la communication de serveur à serveur dans un environnement renforcé. La possibilité de contrôler l'ouverture et le blocage des ports TCP est essentielle pour sécuriser votre environnement.
Notes
Nous vous recommandons d’utiliser les ports SQL standard, mais vérifiez que le pare-feu est configuré pour autoriser uniquement la communication avec les serveurs qui ont besoin d’accéder au serveur SQL Server. Les serveurs qui n’ont pas besoin d’accéder à SQL Server doivent être empêchés de se connecter à SQL Server via le port TCP 1433 et le port UDP 1444.
Il existe plusieurs manières de bloquer les ports. Vous pouvez le faire à l'aide d'un pare-feu. Toutefois, à moins d'être certain qu'il n'existe aucun autre itinéraire dans le segment réseau et qu'aucun utilisateur malveillant n'a accès au segment réseau, la recommandation consiste à bloquer ces ports directement sur le serveur qui héberge SQL Server. Pour ce faire, vous pouvez utiliser le Pare-feu Windows dans le Panneau de configuration.
Configuration des instances de base de données SQL Server pour écouter sur un port non standard
SQL Server permet de réassigner les ports utilisés par l'instance par défaut et toute instance nommée. Dans SQL Server, vous réassignez les ports à l'aide du Gestionnaire de configuration SQL Server.
Configuration des alias client SQL Server
Dans une batterie de serveurs, tous les serveurs web frontaux et les serveurs d'applications sont des ordinateurs clients SQL Server. Si vous bloquez le port UDP 1434 sur l'ordinateur SQL Server ou si vous modifiez le port par défaut de l'instance par défaut, vous devez configurer un alias client SQL Server sur tous les serveurs qui se connectent à l'ordinateur SQL Server. Dans ce scénario, l'alias client SQL Server spécifie le port TCP sur lequel l'instance nommée est à l'écoute.
Pour vous connecter à une instance de SQL Server, installez les composants clients SQL Server sur l'ordinateur client, puis configurez l'alias client SQL Server à l'aide du Gestionnaire de configuration SQL Server. Pour installer les composants clients SQL Server, exécutez le programme d'installation et sélectionnez uniquement les composants clients suivants à installer :
Composants de connectivité
Outils de gestion (notamment le Gestionnaire de configuration SQL Server)
Pour connaître les étapes de renforcement spécifiques permettant de bloquer les ports SQL Server standard, consultez Configurer la sécurité SQL Server pour SharePoint Server.
Communication d’application de service
Par défaut, la communication entre les serveurs SharePoint et les applications de service au sein d’une batterie de serveurs s’effectue à l’aide de HTTP avec une liaison à TCP 32843. Quand vous publiez une application de service, vous pouvez sélectionner le protocole HTTP ou HTTPS avec les liaisons suivantes :
Liaison HTTP : TCP 32843
Liaison HTTPS : TCP 32844
De plus, les tierces parties qui développent des applications de service peuvent implémenter un troisième choix :
- Liaison net.tcp : TCP 32845
Vous pouvez modifier le protocole et la liaison de port pour chaque application de service. Dans la page Applications de service de l’Administration centrale, sélectionnez l’application de service, puis sélectionnez Publier.
Les liaisons HTTP/HTTPS/net.tcp peuvent également être consultées et modifiées à l’aide des applets de commande Microsoft PowerShell Get-SPServiceHostConfig et Set-SPServiceHostConfig .
La communication entre les applications de service et SQL Server s'effectue sur les ports SQL Server standard ou sur les ports que vous configurez pour la communication SQL Server.
Connexions aux serveurs externes
Plusieurs fonctionnalités de SharePoint Server peuvent être configurées pour accéder aux données qui résident sur des ordinateurs serveur en dehors de la batterie de serveurs. Si vous configurez l'accès à des données situées sur des serveurs externes, assurez-vous d'activer la communication entre les ordinateurs appropriés. Dans la plupart des cas, les ports, protocoles et services utilisés varient en fonction de la ressource externe. Par exemple :
Les connexions aux partages de fichiers utilisent le service Partage de fichiers et d'imprimantes.
Les connexions aux bases de données SQL Server externes utilisent les ports par défaut ou personnalisés pour la communicationSQL Server.
Les connexions aux bases de données Oracle utilisent généralement OLE DB.
Les connexions aux services Web utilisent à la fois HTTP et HTTPS.
Le tableau suivant répertorie les fonctionnalités qui peuvent être configurées pour accéder aux données qui résident sur des serveurs externes à la batterie de serveurs.
Composant fonctionnel | Description |
---|---|
Analyse de contenu |
Vous pouvez configurer des règles d'analyse pour analyser les données qui résident sur des ressources externes, notamment des sites web, partages de fichiers, dossiers publics Exchange et applications de données métiers. Lors de l'analyse de sources de données externes, le rôle d'analyse communique directement avec ces ressources externes. Pour plus d’informations, voir Gérer l’analyse dans SharePoint Server. |
Connexions Business Data Connectivity |
Les serveurs Web et les serveurs d'applications communiquent directement avec les ordinateurs configurés pour les connexions Business Data Connectivity. |
Services requis pour l’intégration de messagerie
L’intégration de messagerie nécessite l’utilisation de deux services :
Service SMTP
L’intégration de la messagerie nécessite l’utilisation du service SMTP (Simple Mail Transfer Protocol) sur au moins l’un des serveurs Web frontaux de la batterie de serveurs. Le service SMTP est requis pour le courrier électronique entrant. Pour le courrier électronique sortant, vous pouvez utiliser le service SMTP ou router le courrier électronique sortant par l’intermédiaire d’un serveur de messagerie dédié dans votre organisation, tel qu’un ordinateur Microsoft Exchange Server.
Service de gestion d’annuaire Microsoft SharePoint
SharePoint Server inclut un service interne, le service de gestion des annuaires Microsoft SharePoint, pour la création de groupes de distribution de courrier électronique. Quand vous configurez l'intégration de messagerie, vous pouvez activer la fonctionnalité Service de gestion d'annuaire, qui permet aux utilisateurs de créer des listes de distribution. Quand les utilisateurs créent un groupe SharePoint et sélectionnent l'option permettant de créer une liste de distribution, le service de gestion d'annuaire Microsoft SharePoint crée la liste de distribution Active Directory correspondante dans l'environnement Active Directory.
Dans les environnements à sécurité renforcée, il est recommandé de restreindre l'accès au service de gestion d'annuaire Microsoft SharePoint en sécurisant le fichier associé à ce service, qui est SharePointEmailws.asmx. Par exemple, vous pourriez autoriser l'accès à ce fichier uniquement par le compte de batterie de serveurs.
En outre, ce service nécessite des autorisations dans l'environnement Active Directory pour créer des objets de liste de distribution Active Directory. Il est recommandé de configurer une unité d’organisation distincte dans Active Directory pour les objets SharePoint Server. Seule cette unité d’organisation doit autoriser l’accès en écriture au compte utilisé par le service de gestion d’annuaire Microsoft SharePoint.
Conditions de service requises pour l’état de session
Project Server 2016 et InfoPath Forms Services conservent l’état de session. Si vous déployez ces fonctionnalités ou produits au sein de votre batterie de serveurs, ne désactivez pas le service ASP.NET State. En outre, si vous déployez InfoPath Forms Services, ne désactivez pas le service Afficher l’état.
Services des produits SharePoint Server
Ne désactivez pas les services installés par SharePoint Server (répertoriés dans l’instantané précédemment).
Si votre environnement interdit les services qui s’exécutent en tant que système local, vous pouvez envisager de désactiver le service Administration SharePoint uniquement si vous êtes conscient des conséquences et que vous pouvez les contourner. Ce service est un service Win32 qui s'exécute en tant que système local.
Ce service est utilisé par le service du minuteur SharePoint pour effectuer des actions qui nécessitent des autorisations administratives sur le serveur, telles que la création de sites web IIS (Internet Information Services), le déploiement de code, et l'arrêt et le redémarrage de services. Si vous désactivez ce service, vous ne pouvez pas effectuer de tâches liées au déploiement à partir du site Administration centrale. Vous devez utiliser Microsoft PowerShell pour exécuter l’applet de commande Start-SPAdminJob (ou utiliser l’outil en ligne de commande Stsadm.exe pour exécuter l’opération execadmsvcjobs ) afin d’effectuer des déploiements sur plusieurs serveurs pour SharePoint Server et d’exécuter d’autres tâches liées au déploiement.
Fichier Web.config
Le .NET Framework, et ASP.NET en particulier, utilise des fichiers de configuration au format XML pour configurer les applications. Le .NET Framework repose sur les fichiers de configuration pour définir les options de configuration. Les fichiers de configuration sont des fichiers texte XML. En règle générale, plusieurs fichiers de configuration existent sur un seul système.
System-wide configuration settings for the .NET Framework are defined in the Machine.config file. Le fichier Machine.config se trouve dans le dossier %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.
Vous pouvez modifier les paramètres de configuration ASP.NET pour une application si vous créez un fichier web.config dans le dossier racine de l'application. Lorsque vous procédez ainsi, les paramètres du fichier web.config remplacent les paramètres du fichier Machine.config.
Lorsque vous étendez une application web à l’aide de l’Administration centrale, SharePoint Server crée automatiquement un fichier Web.config pour l’application web.
La capture instantanée de serveur web et de serveur d'application présentée plus haut répertorie les recommandations pour la configuration des fichiers Web.config. Ces recommandations sont destinées à être appliquées à chaque fichier Web.config créé, y compris le fichier Web.config du site Administration centrale.
Pour plus d’informations sur ASP.NET fichiers de configuration et la modification d’un fichier Web.config, consultez configuration ASP.NET (https://go.microsoft.com/fwlink/p/?LinkID=73257).