Sécurité SharePoint : fondamentaux de la sécurisation des déploiements de SharePoint

Brien Posey

Tout administrateur, quel que soit son niveau d'expérience, peut déployer Microsoft Office SharePoint Server 2007 en quelques heures. Pourtant, si le déploiement de base est fonctionnel, il est fort probable que l'application ne soit pas configurée pour une sécurité optimale. SharePoint Server 2007 compte au rang des applications qui sont faciles à installer, mais dont le paramétrage est complexe.

Ce qui rend la sécurité si délicate, c'est que SharePoint 2007 est un produit monolithique qui essaye de subvenir à tous les besoins de tout le monde. SharePoint 2007 est une application Web, mais vous pouvez aussi la considérer comme un outil de collaboration, un serveur de documents ou même une infrastructure de développement. De par sa nature abstraite et hautement personnalisable, SharePoint est difficile à sécuriser.

Comme vous l'avez probablement déjà constaté, il n'existe aucune solution magique pour sécuriser SharePoint. Chaque déploiement de SharePoint est unique, et une solution uniformisée ne serait tout simplement pas pratique. Cependant, il existe une approche de base qui fonctionne pour tous les déploiements.

Si vous avez déjà créé un site SharePoint, vous savez que SharePoint a été conçu pour être modulaire, avec des blocs de construction que vous pouvez utiliser pour créer des sites, des collections de sites, des listes, des bibliothèques, etc. Et en matière de sécurité, vous pouvez utiliser cette modularité à votre avantage.

L'idée est de se concentrer sur la sécurisation des composants individuels de votre déploiement SharePoint. En raison de la nature modulaire de SharePoint, votre déploiement requiert généralement un grand nombre de serveurs SharePoint individuels. Et si vous voulez que votre déploiement soit sécurisé, vous devez sécuriser chacun de ces serveurs.

SQL Server

Toutes les données contenues dans les listes et les bibliothèques SharePoint sont stockées dans une base de données SQL Server sous-jacente, qui stocke également la plupart des paramètres de configuration SharePoint. Il est donc essentiel de sécuriser correctement votre serveur SQL Server.

Les organisations de petite taille installent souvent SQL Server et SharePoint sur le même serveur pour réduire les coûts matériels. Toutefois, il est déconseillé de déployer SQL Server et SharePoint sur un ordinateur commun pour des raisons de sécurité et de performances.

L'un des concepts fondamentaux de la sécurité informatique est de réduire au minimum la surface d'attaque d'un serveur. Si SQL et SharePoint résident sur le même serveur, la surface d'attaque de ce serveur sera étendue. Ainsi, ma première recommandation est d'exécuter SQL Server sur un ordinateur dédié. Si le budget de votre organisation ne vous permet pas d'avoir un serveur SQL Server dédié, envisagez d'utiliser la virtualisation de serveur pour isoler SQL et SharePoint.

Il est également recommandé de désactiver tous les services et composants inutilisés. Un déploiement de base de SharePoint utilise le moteur de base de données de SQL Server, l'Agent SQL Server et les composants SQL Server Browser. Des installations plus avancées peuvent nécessiter l'indexation en texte intégral, Analysis Services ou Reporting Services.

Comment savoir ce qu'il faut désactiver ? Microsoft fournit un outil appelé Configuration de la surface d'exposition SQL Server (voir la figure 1) qui peut faciliter le processus. Cet outil est conçu pour analyser votre implémentation SQL Server et désactiver tout ce qui n'est pas utilisé. Vous devez exécuter cet utilitaire lorsque SharePoint est opérationnel.

Pour accéder à l'outil, sélectionnez l'option Configuration de la surface d'exposition SQL Server dans le menu Démarrer | Tous les programmes | Microsoft SQL Server 2005 | Outils de configuration du serveur.

Outil Configuration de la surface d'exposition SQL Server

Figure 1 L'outil Configuration de la surface d'exposition SQL Server peut vous aider à déterminer les composants et les services à désactiver.

Vous devez aussi étudier attentivement la méthode d'authentification que vous sélectionnez pour la sécurité SQL Server. Bien que vous puissiez choisir le mode mixte ou le mode d'authentification Windows, vous devez configurer votre serveur SQL Server de manière à utiliser l'authentification Windows chaque fois que cela est possible. Le mode Windows est plus sécurisé que le mode mixte, car il utilise le protocole de sécurité Kerberos pendant le processus d'authentification. Par ailleurs, l'authentification Windows utilise des comptes d'utilisateur de domaine, ce qui signifie que les stratégies de mot de passe que vous avez établies dans Active Directory restent valables.

Comptes de service

La mauvaise configuration des comptes de service est sans aucun doute l'une des erreurs de sécurité les plus graves que commettent les administrateurs lors du déploiement de SharePoint 2007. Si vous avez déjà installé SharePoint 2007, vous savez que vous devez fournir un compte de service à plusieurs reprises au cours des processus de déploiement et de configuration.

Les administrateurs créent trop souvent un compte de service unique qu'ils utilisent tout au long du processus d'installation de SharePoint. Bien que le serveur SharePoint résultant soit fonctionnel, cette approche présente des risques sur le plan de la sécurité.

Le problème est que chaque fois que vous fournissez un compte de service à SharePoint, le compte désigné se voit accorder le droit d'effectuer la tâche en cours. SharePoint fournit au compte assez d'autorisations pour effectuer son travail, rien de plus. Mais si vous utilisez le même compte de service plusieurs fois tout au long du processus de déploiement, celui-ci se voit accorder des droits supplémentaires à chaque utilisation, et vous vous retrouvez avec un compte doté d'autorisations excessives. Quelqu'un pourrait alors exécuter du code sur un serveur SharePoint qui exploite ces droits excessifs et prendre le contrôle du serveur.

Vous trouverez beaucoup d'informations contradictoires sur la façon de structurer les comptes utilisés par SharePoint. Il est même devenu difficile de confirmer les meilleures pratiques recommandées. Cela dit, si vous effectuez un déploiement de base de SharePoint, il est conseillé d'utiliser au moins cinq comptes distincts.

Il est également recommandé de créer un compte d'utilisateur spécial qui sera spécifiquement utilisé pour installer SharePoint et SQL Server. Lors du déploiement de SharePoint, les administrateurs se connectent fréquemment à l'aide de leur propre compte personnel ou du compte de l'administrateur de domaine. L'utilisation d'un compte existant peut être une erreur sur le plan de la sécurité, car des droits supplémentaires seront accordés à ce compte pour effectuer le processus d'installation.

Si vous décidez d'utiliser un compte dédié pour l'installation, ce compte doit être membre du groupe d'administrateurs locaux sur chacun de vos serveurs SharePoint. Il doit être aussi membre du groupe de connexion SQL Server, ce qui lui permettra de se connecter à votre instance de SQL Server.

Enfin, vous devez assigner au compte les rôles de créateur de base de données SQL Server et d'administrateur de sécurité SQL Server sur votre serveur SQL Server. Ces rôles donnent aux comptes l'autorisation de créer et de modifier des bases de données, ainsi que de gérer la sécurité de SQL Server. Ces autorisations spéciales sont à l'origine de la recommandation consistant à utiliser un compte d'utilisateur dédié.

Outre la création d'un compte spécifique pour la procédure d'installation de SharePoint, vous devez créer quelques comptes de service supplémentaires :

Compte d'accès à la base de données. Il s'agit du compte que SharePoint utilise pour communiquer avec la base de données SQL Server.

Compte de service de recherche SharePoint. Le service de recherche SharePoint utilise ce compte pour écrire des fichiers d'index sur le serveur d'index de contenu et pour répliquer les informations d'index à tous les serveurs de requête qui figurent dans la batterie de serveurs.

Compte d'accès au contenu. Ce compte est utilisé pour analyser le contenu dans un fournisseur de services partagés spécifique. Dans certains cas, vous devrez peut-être créer plusieurs comptes d'accès au contenu de manière à ce que plusieurs sources de contenu puissent être analysées individuellement.

Compte de service du pool d'applications. Les processus de travail dans IIS utilisent ce compte. Les applications Web dans le pool doivent être en mesure d'accéder aux bases de données de contenu SharePoint, et le compte d'identité du pool d'applications facilite ce processus.

Compte de service SQL Server. SQL Server requiert également un compte de service, et vous devez utiliser un compte dédié à cette fin.

Les déploiements de SharePoint plus avancés peuvent nécessiter l'utilisation de comptes de service supplémentaires. La section Contenu associé à la fin de cet article inclut un lien vers un article TechNet qui contient des informations détaillées sur les autres comptes de service dont vous pouvez avoir besoin.

Conventions d'affectation de noms

Vous réalisez dorénavant que vous allez devoir créer de nombreux comptes avant même de pouvoir commencer à déployer SharePoint. Pour que votre déploiement se déroule sans heurts, il est astucieux de mettre en place une convention d'affectation de noms avant la création des comptes de service.

Vous pouvez suivre différentes approches pour établir une convention d'affectation de noms pour vos comptes de service, mais veuillez respecter ces quelques règles de base. Il est notamment conseillé d'attribuer des noms aussi descriptifs que possible et de prendre le temps de documenter les noms choisis et leurs objectifs. Par exemple, pour le compte de recherche SharePoint, vous pouvez utiliser le nom Recherche_SPT.

La raison pour laquelle nous n'épelons pas SharePoint a trait à des limitations héritées. Windows autorise les noms d'utilisateur de plus de 100 caractères, mais à un moment donné, ceux-ci ne pouvaient en contenir que seize. À l'occasion, des problèmes inattendus surviennent avec des noms d'utilisateur longs lors de l'utilisation de matériels ou de logiciels hérités. Bien que cela soit rare, il est préférable d'employer des noms courts.

Même si je vous recommande d'utiliser des noms de compte de service descriptifs, ce qui facilite sans aucun doute la tâche des administrateurs, cette approche n'est pas garante d'une sécurité maximale. Les comptes de service restent des cibles privilégiées pour les pirates informatiques, ces comptes disposant d'autorisations plus élevées que les comptes d'utilisateur normaux. Ils sont aussi souvent associés à des mots de passe statiques et inchangés. De ce fait, il peut être envisageable de camoufler les comptes de service. Dans ce cas, veillez à documenter les noms et les fonctions des comptes de service.

Chiffrement du trafic

Au moment de planifier un déploiement de SharePoint, les administrateurs consacrent beaucoup de temps à la conception de l'architecture du serveur. Un élément parfois négligé est l'infrastructure à clé publique. Vous devez avoir une infrastructure à clé publique en place avant de déployer SharePoint pour pouvoir chiffrer correctement le trafic SharePoint. Le trafic HTTP entre les serveurs SharePoint et les utilisateurs finaux doit être chiffré via SSL (à l'aide du protocole HTTPS).

De même, le trafic entre les serveurs SharePoint doit être chiffré à l'aide du protocole IPSec. Les deux types de chiffrement dépendent de certificats et d'une infrastructure à clé publique sous-jacente.

Ces meilleures pratiques de sécurité ne sont en aucun cas exhaustives. Toutefois, vous pouvez les utiliser comme point de départ pour vous assurer que votre installation SharePoint est la plus sécurisée possible.

Brien Posey*, MVP, est un auteur technique indépendant avec à son actif des milliers d'articles et des dizaines de livres. Vous pouvez visiter son site Web à l'adresse** brienposey.com*.

Contenu associé

·       Planifier des comptes administratifs et des comptes de service (Office SharePoint Server)

·       Présentation de la configuration de la surface d'exposition

·       Guide pas à pas des services de certificats Active Directory