2012-04-19 5 views
1

J'ai un site Web sur un serveur partagé. il utilise le serveur Sql comme base de données (également partagée) avec un compte limité pour exécuter des procédures. Maintenant, je me demande si quelqu'un qui a accès au serveur SQL pourrait lire et manipuler mes données sans avoir mes informations d'identification (en utilisant leur propre)? Si oui, comment puis-je suivre les utilisateurs connectés à ma base de données et surtout les arrêter?accès à la base de données à partir de l'application

Répondre

1

Il existe deux façons de se connecter à SQL à l'aide d'une connexion SQL ou de l'authentification Windows. Ce sont vos connexions au serveur. Pour se connecter ensuite à la base de données, vous devez avoir des droits sur la base de données. Donc, tant que votre connexion est la seule à avoir obtenu des droits sur la base de données, vous n'avez pas à vous inquiéter. Selon les droits que vous avez sur la base de données, vous pouvez définir des rôles dans la base de données et affecter des utilisateurs aux rôles. De cette façon, tout le monde peut faire n'importe quoi dans votre base de données si elle est membre des rôles que vous avez configurés (ou s'ils ont un compte SA sur le serveur ou ont été configurés avec des droits dbo sur la base de données). Toujours en fonction des droits que vous avez sur le serveur, vous pouvez configurer une trace (google sp_trace_create et sp_trace_setevent) pour capturer les connexions à votre base de données cela écrit sur le disque dur du serveur et vous pouvez utiliser fn_trace_gettable pour interroger ces données .

+1

Je suis tout à fait d'accord avec votre réponse, mais je soupçonne que les bits «en fonction de vos droits» couleront le PO. S'ils ont simplement un compte avec des autorisations d'exécution, ils n'auront pas la capacité d'empêcher ou même de détecter l'implication d'autres utilisateurs. – CJM

+0

Vrai je supposais que c'était le site Web qui avait les droits d'exécution pas l'utilisateur d'autre comment ils créeraient les tables, les procs stockés, les vues etc sur la base de données en premier lieu. – AgentDBA

+0

donc, il y a maintenant moyen de bloquer un utilisateur!? –

1

Le problème va au-delà des autorisations et l'accès Execute ... la connexion

L'essentiel est que vous et vos données sont à la merci de l'hôte. Si elles peuvent être fiables et sont compétentes, vos données doivent être sécurisées. Cependant, si vous n'êtes pas sûr, ou si vous stockez des données qui sont trop précieuses pour risquer, vos seuls choix sont soit de crypter les données de sorte que rien d'utile ne peut être glacé à partir de lui et assurez-vous d'avoir une sauvegarde, ou trouver un hôte différent qui fournira des garanties appropriées.

Questions connexes