Lire en anglais

Partager via


SQL Server 2008 R2 : Devenir ninja pour atténuer les menaces de SQL Server 2008 R2

Sécurisation correctement vos serveurs SQL Server 2008 R2 est plus que juste conservant physique et sécurité du réseau et réduire la surface d'attaque. Voici comment remplir la tâche.

William Stanek

Il y a quelques questions susceptibles de polariser une salle pleine d'administrateurs de base de données de sécurité. Cela est particulièrement vrai lorsqu'il s'agit des pratiques exemplaires en matière d'atténuation des menaces et des vulnérabilités. Les pratiques traditionnelles ont CBM mettant l'accent sur la sécurité physique, sécurité réseau et minimisation surface d'attaque.

En effet, ceux qui sont valides tous les aspects de la sécurité SQL. Vous devez vous assurer la sécurité physique de votre matériel de SQL Server. Vous devez configurer correctement de protocoles de sécurité et de la mise en réseau de réseau sur vos serveurs SQL et à vos clients de SQL Server. Vous devez également réduire la surface d'attaque pour protéger vos données et vos serveurs.

Vous pouvez réduire la surface d'attaque globale de SQL Server et grandement améliorer la sécurité en permettant uniquement les fonctionnalités de vos clients et applications ont besoin. Vous limiterez les façons dont les utilisateurs malveillants peuvent exploiter SQL Server. Il sera également la fermeture de voies d'attaque potentielle. T il zone fonctionnalités vous pouvez gérer pour le moteur de base de données SQL Server, Analysis Services et Reporting Services de surface sont les suivants :

MOTEUR DE BASE DE DONNÉES

AdHocRemoteQueriesEnabled

Les fonctions OPENROWSET et OPENDATASOURCE peuvent utiliser des connexions ad hoc pour travailler avec les sources de données distantes sans avoir à configurer spécifiquement les serveurs liés ou à distance. Vous devez activer cette fonctionnalité si vos applications ou scripts utilisent ces fonctions. Sinon, désactiver cette fonctionnalité.

ClrIntegrationEnabled

Intégration du CLR vous permet de procédures d'écriture stockée, déclencheurs, types définis par l'utilisateur et des fonctions définies par l'utilisateur à l'aide de Microsoft Visual Basic, c# et toute autre Microsoft.NET Framework langue. Activer cette fonctionnalité si utilisent vos applications ou scripts.NET Framework langues.sinon, désactiver cette fonctionnalité.

DatabaseMailEnabled

Base de données de courrier électronique remplace SQL Mail comme la technique privilégiée pour envoyer des messages électroniques de SQL Server via SMTP. Activer cette fonctionnalité si vous avez créé un hôte de messagerie, de base de données et les profils de courrier de base de données nécessaires, et si vous souhaitez que vos applications et les scripts pour pouvoir utiliser la procédure stockée sp_send_dbmail pour envoyer des messages électroniques de SQL Server. Sinon, désactiver cette fonctionnalité.

RemoteDacEnabled

Par défaut, SQL Server autorise uniquement les connexions spécialisées locales. Si vous souhaitez autoriser les connexions à distance dédiées, activer cette fonctionnalité. Sinon, le désactiver.

SoapEndpointsEnabled

Les messages SOAP contiennent des commandes basé sur du texte au format XML. Si vous prévoyez d'utiliser SOAP pour l'échange de données et d'avoir configuré les points de terminaison HTTP nécessaires, vous pouvez activer cette fonctionnalité et configurer l'état de chaque point de terminaison.

OleAutomationEnabled

OLE Automation vous permet d'utiliser des lots Transact-SQL, les procédures stockées et les déclencheurs pour référencer d'objets SQL DirectX Media (OGD) et des objets OLE Automation personnalisés. Activer cette fonctionnalité si vous souhaitez utiliser OLE Automation.sinon, le désactiver.

ServiceBrokerEndpointActive

Service Broker fournit la file d'attente et de messagerie du moteur de base de données, que vos applications peuvent utiliser pour communiquer à travers des instances de SQL Server. Si vos applications utilisent Service Broker et si vous avez configuré les points de terminaison HTTP nécessaires, vous pouvez activer cette fonctionnalité et configurer l'état de chaque point de terminaison.

SqlMailEnabled

Vous pouvez utiliser SQL Mail pour envoyer des messages électroniques de SQL Server pour les applications héritées en utilisant SMTP. Activer cette fonctionnalité si vous souhaitez applications héritées et scripts pour pouvoir utiliser la procédure stockée xp_sendmail pour envoyer des messages électroniques de SQL Server. Sinon, désactiver cette fonctionnalité.

XPCmdShellEnabled

La xp_cmdshell exécute la commande chaînes à l'aide de l'OS la commande shell et renvoie les résultats comme des lignes de texte. Si vous souhaitez les applications et les scripts pour exécuter des commandes de l'OS, vous devrez activer cette fonctionnalité.

WebAssistantEnabled

Dans les versions antérieures de SQL Server, l'Assistant Web procédures stockées pour générer des fichiers HTML de données SQL Server. Dans SQL Server 2005 et SQL Server 2008 Reporting Services prend la place de ces procédures stockées. Si vous avez des applications héritées ou des scripts qui utilisent l'Assistant Web, activer cette fonctionnalité. Sinon, le désactiver.

ANALYSIS SERVICES

AdHocDataMiningQueriesEnabled

La fonction de Data Mining Extensions OPENROWSET établit des connexions avec les objets de source de données, qui permettent de connexions ad hoc aux sources de données distant sans avoir à configurer précisément ces serveurs liés ou à distance. Activer cette fonctionnalité si vos applications ou scripts utilisent OPENROWSET avec Data Mining.sinon, le désactiver.

AnonymousConnectionsEnabled

Avec connexions anonymes, les utilisateurs non authentifiés pourraient établir des connexions avec Analysis Services. Activer cette fonctionnalité si vos applications et les scripts nécessitent l'accès de l'utilisateur non authentifié. Sinon, désactiver cette fonctionnalité.

LinkedObjectsLinksFromOtherInstancesEnabled

Avec Analysis Services, vous pouvez utiliser des objets liés pour lier des dimensions et de mesurer les groupes entre les serveurs. Si vous souhaitez lier une instance à d'autres serveurs, activer cette fonctionnalité. Sinon, le désactiver.

ListenOnlyOnLocalConnections

Analysis Services travaille avec des ressources distantes, ainsi que les ressources locales. Si vous voulez Analysis Services de travailler uniquement avec des ressources locales, activer cette fonctionnalité. Sinon, désactiver cette fonctionnalité.

UserDefinedFunctionsEnabled

Analysis Services est intégré avec le.NET Framework. Il peut charger des assemblys contenant les fonctions définies par l'utilisateur. Activer cette fonctionnalité si vos applications et les scripts exigent des fonctions COM définies par l'utilisateur. Sinon, configurer cette fonctionnalité pour ne permettre que des fonctions CLR.

REPORTING SERVICES

ScheduledEventsAndReportDeliveryEnabled

Avec Reporting Services, vous pouvez utiliser ad hoc, sur demande et rapports réguliers. En général, lorsque vous installez Reporting Services, il permet à ces deux types de rapports. Si vous n'utilisez pas des rapports réguliers, vous pouvez désactiver cet aspect de la génération de rapports et de la prestation par la désactivation de cette fonctionnalité.

WebServiceRequestsAndHTTPAccessEnabled

Reporting Services composants utilisent SOAP sur HTTP pour les communications et HTTP pour la messagerie des demandes d'accès URL. Activer cette fonctionnalité si vos applications client utilisent le rapport serveur Web Service ou si vous utilisez le gestionnaire de rapports, de concepteur de rapports ou de SQL Server Management Studio avec cette installation de Reporting Services. Sinon, le désactiver.

ReportManagerEnabled

Gestionnaire de rapports est une application Web pour visualiser les rapports, de gestion de contenu de serveur de rapport et de contrôler l'accès aux serveurs de rapport en cours d'exécution en Mode natif. Activer cette fonctionnalité si vous utilisez le gestionnaire de rapports avec cette installation de Reporting Services. Sinon, désactiver cette fonctionnalité.

Toujours un sujet chaud

Si assurant la sécurité physique, sécurité des réseaux et à la réduction de la surface d'attaque était vraiment tout y était d'atténuer les menaces et vulnérabilités dans SQL Server, sécurité ne serait pas telle une question. Mais sécurité un bouton chaud des est question pour SQL Server et il est probable de rester si indéfiniment parce que les données de votre entreprise sont l'un des ses biens les plus précieux.

Par défaut, toutes les fonctionnalités de superficie énumérées ci-dessus sont désactivés dans SQL Server 2008. Vous pouvez les gérer à l'aide de la gestion axée sur les politiques. Pour en savoir plus sur les politiques de SQL Server, examiner les directives de Administration des serveurs par la direction de Using Policy-Based.

Il y a un certain nombre d'excellentes ressources pour vous emmener à travers les principes fondamentaux. Le livre blanc " sécurité physique chez Microsoft " jette un regard exhaustif sur les pratiques de sécurité physique. À l'aide de configuration de réseautage pour les serveurs et clients, vous trouverez bonnes ressources dans les de Serveur réseau Configuration et La Configuration réseau Client sections de la documentation en ligne de SQL Server 2008 R2.

Art vs. Science

Lorsqu'il s'agit de la base de données et les données de sécurité, simplement appliquant les meilleures pratiques de seuls n'est pas toujours faire le travail. Atténuation de menace et de vulnérabilité est autant un art comme c'est une science. Parfois, il semble que si vous devez être partie ninja pour faire le travail à droite. Pour être qu'un ninja signifie pour essayer de penser comme l'opposition, donc vous pouvez battre l'opposition, mais dans la vraie vie, nous sommes peu probable d'imaginer toutes les façons sophistiqués, qu'une personne peut attaquer un système.

Pourtant, vous devez être au courant des menaces actuelles. Vous avez besoin de connaître que les hackers de vecteurs d'attaque utilisent généralement. Vous devez savoir comment analyser vos environnements client-serveur avec certaines menaces à l'esprit et à atténuer ces menaces à l'aide des outils disponibles et techniques. L'éducation de sécurité est aussi importante que vos efforts d'atténuation. Les menaces internes représentent autant risque comme des menaces extérieures. Par exemple, il y a un risque quand un utilisateur — administrateur ou non — avec base de données privilèges laisse leur ordinateur déverrouillée et sans surveillance.

Étendre vos pratiques de sécurité au-delà de stratégie de serveur à votre entreprise de la politique et les pratiques visant à améliorer la sécurité. Lutter contre toutes les menaces — internes et externes — par l'approche holistique de sécurité des données et le serveur. Tout comme les produits ont un cycle de vie, donc à si votre programme de sécurité. On pourrait appeler cela du cycle de vie d'opérations de sécurité (SOL).

Dans le cadre de la SOL, tous ceux qui travaillent avec les applications client SQL Server et SQL Server devrait avoir formation annuelle de sécurité formelle. Pour chaque membre de l'équipe technique, cette formation devrait couvrir les tests de sécurité, la modélisation des menaces, vulnérabilités actuelles et exploits et examen de réponse de sécurité. Au-delà de formation formelle, membres de l'équipe technique a besoin de faire partie de la sécurité de leur travail quotidien. Vous ne « définir et oublier » quand il s'agit de sécurité. Cuire au four de sécurité dans votre processus de tous les jours par :

  • Périodiquement tests de vulnérabilités et exploits
  • Surveiller régulièrement pour des problèmes de sécurité
  • Les problèmes potentiels de modélisation.
  • Votre réponse aux incidents inévitables de planification.

Tous les membres de votre organisation technique devrait avoir une solide compréhension de la SOL. Toute personne qui travaille avec SQL Server au moyen d'applications client devrait également avoir une compréhension de base de la SOL. La nécessité d'une vigilance permanente est essentielle. Vous avez vraiment de croire que les opérations sécurisées exigent une vigilance constante. Il n'y a rien de tel que zéro vulnérabilité.

Un monde plein de méchants

Les pirates, les initiés craquelins et malveillants sont out there en attente et de la recherche de l'inévitable chink de votre armure de sécurité. Ne laissez pas les vulnérabilités non voulues annuler ou à diminuer l'efficacité de votre planification de la sécurité.

Utiliser des stratégies de sécurité par défaut pour s'assurer que vos serveurs SQL sont plus sécuritaire possible. Utilisez les stratégies de défense en profondeur pour s'assurer que chaque couche des interfaces Web et client de vos bases de données SQL Server et les systèmes de fichiers sont plus sécuritaire possible. Ces stratégies vous aidera à maintenir des barrières efficaces qui offrent plus de possibilités pour la détection en chemin.

À l'aide d'une approche sécurisée par défaut et de la défense en profondeur aide, mais les grands objectifs de votre plan de sécurité devraient être de réduire le nombre de vulnérabilités et de leur impact potentiel. Les défauts sont inévitables — comment vous réagissez à leur exploitation est primordiale. Vous devez avoir une réponse formelle préparée et prendre les mesures appropriées. Vous devez croire qu'aucun incident n'est un événement isolé. Prendre des leçons vous apprenez de chaque incident et diffuser tout au long de votre organisation aux niveaux appropriés. Partage de données de cet événement avec la technique, les équipes de développement et des opérations permettra de créer une conscience de sécurité organisationnelle.

Rendre facile pour les utilisateurs de votre application de vulnérabilités de rapport et d'autres questions. Utilisation de modélisation afin d'assurer les fonctions et caractéristiques des menaces sont exploités avec la sécurité à l'esprit. Effectuer les menace de modélisation en demandant quelles menaces que t'inquiète, étant donné la nature de client-serveur d'opérations de base de données SQL Server. Déterminer la surface d'attaque de vos applications frontales et de bases de données back-end et de prendre les mesures appropriées.

Il est essentiel de protéger vos bases de données back-end des exploits de l'application frontale de fuzzing. Les tests de Fuzz sont exposés intentionnels de données malformées, telles que les données et les valeurs au-delà des limites de ce qu'une demande a été conçue pour accepter. Une application qui se bloque ou déborde de tampons de fuzzing peut ouvrir un exploit potentiel de SQL Server.

Vos équipes techniques de savent comment vos applications frontales sont écrites et comment SQL Server interroge le travail. Utilisez ces connaissances pour effectuer fuzzing plus profondes. Votre connaissance d'initiés peut vous aider à créer des tests de fuzz que franchir les contrôles initiaux et, de cette façon, vous pouvez effectuer des tests plus profondes.

Adoptant une approche de cycle de vie de la sécurité fait de sécurité un processus continu. Le changement est continu et l'accent sur le SOL doit être aussi bien.

Pour les menaces supplémentaires et vulnérabilité d'atténuation des procédures pas à pas par les composants de SQL Server 2008 R2, regarder ici :

Joshua Hoffman

William R. Stanek (williamstanek.com) est un grand spécialiste de la technologie, un formateur d'enseignement et l'auteur primé de plus de 100 livres. Suivez Stanek sur Twitter à https://twitter.com/williamstanek.

 

Contenu associé