Vous ne serez peut-être pas en mesure de se connecter à une instance de SQL Server à l’aide d’une connexion anonyme


Important Cet article contient des informations vous expliquant comment baisser les paramètres de sécurité ou comment désactiver certaines fonctions de sécurité sur un ordinateur. Vous pouvez apporter ces modifications pour contourner un problème spécifique. Cet article contient des informations vous expliquant comment baisser les paramètres de sécurité ou comment désactiver certaines fonctions de sécurité sur un ordinateur. Si vous implémentez cette solution de contournement, prendre toutes les mesures appropriées pour protéger votre système.

Résumé


Lorsque vous ajoutez le nom d’accès NT AUTHORITY\ANONYMOUS LOGON à votre instance de Microsoft SQL Server 2000 ou Microsoft SQL Server 2005 afin que l’instance de SQL Server accepte les connexions anonymes via la sécurité intégrée de Microsoft Windows et puis vous essayez de vous connecter à l’instance de SQL Server en tant qu’utilisateur anonyme, la tentative de connexion peut ne pas être établie et le message d’erreur suivant peut s’afficher :
Échec de la connexion pour l’utilisateur 'nul'. Raison : Non associé à une connexion SQL Server approuvée.
En outre, l’événement suivant est enregistré dans le journal des événements système :
Type d'événement : erreur
Source de l’événement : LsaSrv

Catégorie de l'événement : aucune
L’ID d’événement : 6033
Date : < Date >

Heure : < heure >
Utilisateur : n/a
Ordinateur : < nom de l’ordinateur >

Description :

Une session anonyme connectée à partir de < nom de l’ordinateur > a tenté d’ouvrir un handle de stratégie LSA sur cet ordinateur. La tentative a été rejetée avec le statut STATUS_ACCESS_DENIED pour empêcher la fuite d’informations sensibles sécurité à l’appelant anonyme.

L’application qui a effectué cette tentative doit être corrigé. Contactez le revendeur de l’application. Comme solution temporaire, cette mesure de sécurité peut être désactivée en définissant le
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\TurnOffAnonymousBlock Valeur DWORD de 1.
Ce problème se produit lorsque toutes les conditions suivantes sont remplies :
  • L’instance de SQL Server est installé sur un ordinateur qui exécute Microsoft Windows Server 2003.
  • L’ordinateur qui exécute l’instance de SQL Server est un serveur membre dans un domaine.
  • La valeur de Registre HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\TurnOffAnonymousBlockest manquante ou n’est ne pas définie sur 1.
  • Le accès réseau : permet la traduction de noms/SID anonymes option de sécurité sur l’ordinateur qui exécute l’instance de SQL Server n’est pas activée.

Cause


Lorsque vous essayez de vous connecter à l’instance de SQL Server en tant qu’utilisateur anonyme, la connexion anonyme tente d’ouvrir le handle de la stratégie de l’autorité de sécurité locale sur l’ordinateur qui exécute l’instance de SQL Server. Par défaut, un serveur membre Windows Server 2003 refuse une tentative de connexion anonyme qui tente d’ouvrir un handle de stratégie LSA si la valeur de Registre TurnOffAnonymousBlock n’est pas définie sur 1. Par conséquent, votre connexion anonyme n’est pas réussie. En outre, lorsque SQL Server reçoit la demande de connexion anonyme, SQL Server appelle la fonction Windows API LookupAccountSid pour obtenir le nom du compte. Étant donné que la fonction est appelée dans le contexte de la connexion anonyme, l’appel de fonction échoue également si le accès réseau : permet la traduction de noms/SID anonymes option de sécurité n’est pas activée.

Solution de contournement


Avertissement Cette solution de contournement peut rendre votre ordinateur ou votre réseau plus vulnérable aux attaques d’utilisateurs malintentionnés ou de logiciels malveillants comme les virus. Nous ne recommandons pas cette solution de contournement, mais nous fournissons cette information afin que vous puissiez l'implémenter à votre convenance. Utilisez cette solution de contournement à vos risques et périls.

Pour contourner ce problème, procédez comme suit sur l’ordinateur qui exécute Windows Server 2003 pour autoriser les connexions anonymes pour SQL Server 2000 ou SQL Server 2005 :
  1. Activer la accès réseau : permet la traduction de noms/SID anonymes option sécurité dans la stratégie de sécurité locale. Pour ce faire, procédez comme suit :
    1. Cliquez sur Démarrer, puis cliquez sur
      Le panneau de configuration.
    2. Double-cliquez sur Outils d’administration, puis double-cliquez sur Stratégie de sécurité locale.
    3. Dans le volet gauche, développez Stratégies locales, puis cliquez sur Options de sécurité.
    4. Dans le volet droit, sous la colonne stratégie , recherchez et double-cliquez sur accès réseau : permet la traduction de noms/SID anonymes.
    5. Dans la accès réseau : permet la traduction de noms/SID anonymes boîte de dialogue, cliquez sur l’option activée , puis cliquez sur OK.
    6. Fermez la fenêtre Paramètres de sécurité locaux .
    7. Fermez la fenêtre Outils d’administration .
  2. Définissez la valeur de Registre TurnOffAnonymousBlock DWORD à 1. Pour ce faire, procédez comme suit.

    Important Cette section, méthode ou tâche contient des étapes vous indiquant comment modifier le Registre. Toutefois, des problèmes graves peuvent survenir si vous modifiez le Registre de façon incorrecte. Par conséquent, veillez à suivre ces étapes scrupuleusement. Pour une meilleure protection, sauvegardez le Registre avant de le modifier. Vous pourriez alors restaurer le Registre si un problème survient. Pour plus d’informations sur la façon de sauvegarder et de restaurer le Registre, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft :
    322756 comment sauvegarder et restaurer le Registre dans Windows
    1. Cliquez sur Démarrer, cliquez sur
      Exécuter, tapez regedit, puis cliquez sur
      OK.
    2. Dans l’Éditeur du Registre, recherchez et puis cliquez sur le
      Clé de Registre HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa .
    3. Dans le volet droit, recherchez et double-cliquez sur le
      TurnOffAnonymousBlock Valeur de Registre DWORD.

      Remarque Si la valeur de Registre DWORD TurnOffAnonymousBlock n’existe pas, vous devez créer la valeur de Registre.
    4. Dans la boîte de dialogue Modifier la valeur DWORD , tapez 1 dans la zone données de la valeur , puis cliquez sur OK.
    5. Fermez l’Éditeur du Registre et redémarrez l’ordinateur. Un redémarrage est nécessaire pour que les modifications du Registre soient prises en compte.
Remarque Par défaut, le accès réseau : permet la traduction de noms/SID anonymes option de sécurité est activée sur les ordinateurs qui agissent en tant que contrôleurs de domaine. Toutefois, l’option de sécurité est désactivée sur les stations de travail et les serveurs membres. Les contrôleurs de domaine ne nécessitent pas la
Tentatives de la clé de Registre TurnOffAnonymousBlock pour contrôler la connexion anonyme. Par conséquent, si votre instance de SQL Server est installé sur un contrôleur de domaine qui exécute Windows Server 2003, les tentatives de connexion anonyme à l’instance de SQL Server n’échouent pas.

Plus d'informations


Sur un ordinateur qui exécute Windows Server 2003, les vérifications de sécurité effectuées sur les connexions anonymes qui tentent d’accéder à l’ordinateur sont plus strictes. Si vous créez une page Microsoft ASP.NET qui utilise l’authentification Windows et l’emprunt d’identité sur un serveur Web qui exécute Microsoft Internet Information Services (IIS) 6.0, mais vous ne pouvez pas déléguer les comptes d’utilisateur, toute tentative de se connecter à une instance distante de SQL Server à partir de la page ASP.NET est dans le contexte de sécurité de l’ouverture de session NT AUTHORITY\ANONYMOUS LOGON. Vous pouvez configurer votre instance de SQL Server d’accepter les connexions anonymes via la sécurité intégrée de Windows, en ajoutant le nom d’accès NT AUTHORITY\ANONYMOUS LOGON comme un utilisateur SQL Server et en accordant les autorisations nécessaires à l’utilisateur. Lorsque vous ajoutez le nom d’accès NT AUTHORITY\ANONYMOUS LOGON à votre instance de SQL Server, connexions anonymes peuvent accéder à des données de SQL Server sans fournir les informations d’identification d’ouverture de session.

Important Nous ne recommandons pas l’accès anonyme à SQL Server. Toutes les autorisations qui sont accordées à l’ouverture de session NT AUTHORITY\ANONYMOUS LOGON peuvent être utilisées par tout utilisateur qui peut se connecter à l’ordinateur qui exécute SQL Server. Si vous devez autoriser l’accès anonyme à votre instance de SQL Server, il est recommandé que les autorisations de lecture seules sont accordées au nom d’accès NT AUTHORITY\ANONYMOUS LOGON pour afficher les données de SQL Server que vous souhaitez pouvoir être vus. En outre, nous vous recommandons que seules autorisations d’exécution sont accordées pour les procédures SQL Server stockées qui effectuent des opérations limitées.

Au lieu d’autoriser les connexions anonymes à votre instance de SQL Server, vous pouvez accorder l’accès requis à un compte SQL Server spécifique et transmettre les informations d’identification d’ouverture de session pour le compte SQL Server dans la chaîne de connexion dans la page ASP.NET. À l’aide de SQL Server d’authentification permet d’éviter les tentatives de connexion anonyme à l’instance de SQL Server et n’est plus sécurisée.

Si le accès réseau : permet la traduction de noms/SID anonymes option de sécurité est activée sur l’ordinateur qui exécute Windows Server 2003, tous les utilisateurs qui peuvent créer une connexion réseau à l’ordinateur peuvent rechercher les noms de compte pour les identifications de sécurité (SID), comme le compte administrateur. Un utilisateur malveillant peut utiliser ces informations pour se connecter au serveur à l’aide d’une méthode telle que de deviner le mot de passe ou pour verrouiller les comptes avec les tentatives de connexion infructueuses.

Si vous définissez la valeur de la valeur de Registre TurnOffAnonymousBlock sur 1, les connexions anonymes peuvent ouvrir un handle à la stratégie de l’autorité de sécurité locale. Pour plus d’informations sur la stratégie LSA, visitez les sites Web MSDN suivants :

Références


Pour plus d’informations sur la résolution des problèmes de connectivité dans SQL Server 2000, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft :
827422 comment résoudre les problèmes de connectivité dans SQL Server 2000

Pour plus d’informations, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft :
247931 des méthodes d’authentification pour les connexions à SQL Server dans Active Server Pages