Security Account Manager

Un article de Wikipédia, l'encyclopédie libre.

La SAM (Security Account Manager ou gestionnaire des comptes de sécurité) est la base de données des comptes locaux sur Windows Server 2003, Windows XP, Windows 2000. C'est l'un des composants de la base de registre. Elle contient les mots de passe locaux.

L'utilitaire syskey de Microsoft est nécessaire si on veut se protéger contre un attaquant local (personne ayant un accès physique au local où se trouve le PC) ; cet utilitaire permet d'améliorer la sécurité sur la clé de chiffrement des mots de passe.

Sommaire

[modifier] Le service "Security Accounts Manager"

Les contrôles sur la SAM se font via le service Gestionnaire de comptes de sécurité, il fait partie des services nécessaires pour le bon fonctionnement de Windows. Son nom américain exact est Security Accounts Manager (avec un S à account).

C'est l'un des composants qui est géré par l'exécutable lsass.exe.

Pour que ce service fonctionne, il est nécessaire que le service "Appel de procédures distantes" (RPC) soit démarré.

Si le service "Gestionnaire de comptes de sécurité" s'interrompt, l'ordinateur reboote.

Le service "Distributed Transaction Coordinator" utilise le service "Gestionnaire de comptes de sécurité".

[modifier] Chiffrement

La fonction de hachage utilisée pour les mots de passe est MD5 (Message Digest) (sur les dernières versions de Windows, en 2005).

[modifier] Emplacement physique

La SAM est stockée physiquement dans le fichier %SystemRoot%\system32\Config\SAM. C'est un fichier de ruche inclus dans HKEY_LOCAL_MACHINE, lui-même inclus dans la base de registre.

L'emplacement physique de la SAM utilisé lors du dernier boot est l'un des éléments conservés sous la clé hivelist dans la base de registre :

  • hivelist est sous HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\.
  • Le nom de la valeur est "\\REGISTRY\\MACHINE\\SAM"
  • La valeur est "\\Device\\HarddiskVolume1\\WINDOWS\\system32\\config\\SAM"

[modifier] Bibliothèques DLL

Les bibliothèques DLL utilisés pour la SAM sont

  • samlib.dll (bibliothèque SAM)
  • samsrv.dll (serveur SAM)

[modifier] Particularité sur les mots de passe lors d'une restauration

L'outil de restauration rstrui.exe laisse intact les mots de passe locaux, pour éviter la confusion chez les utilisateurs après une restauration.

[modifier] Les 3 types de comptes

Il existe 3 types de comptes : utilisateur, ordinateur et groupe.

[modifier] Énumération des comptes de la SAM par un utilisateur anonyme

Pour des raisons de sécurité, il est conseillé d'interdire l'énumération de comptes et de partages dans la SAM aux utilisateurs anonymes sous Windows 2003 et XP. L'inconvénient est que cela pose des problèmes de compatibilité avec NT 4.

Cette fonctionnalité est paramétrée dans la base de registre par les 2 valeurs RestrictAnonymous et RestrictAnonymoussam, dans la clé HKEY_LOCAL_MACHINE\System\CurrentControlSet\LSA (LSA signifie ici Local Subsystem Authority, voir Lsass.exe).

Dans Window 2003 et XP, ces 2 paramètres du registre sont modifiés via la console de management secpol.msc. Sur une version de Windows en français, cet utilitaire est appelé par défaut Stratégie de sécurité locale dans les outils d'administration. Lorsqu'on clique dessus, la fenêtre qui s'affiche s'appelle Paramètres de sécurité locaux. Les deux options relatives à l'énumération par un utilisateur anonyme sont dans Stratégies locales/Options de sécurité.

[modifier] Historique

Sur la première version de Windows NT, la sécurité de la SAM était par défaut au minimum. Au fil des versions, la sécurité s'est améliorée, par exemple, passage du hachage de MD4 à MD5.

En parallèle, à partir du pack 3 de Windows NT, l'utilitaire syskey permet d'améliorer le chiffrement des mots de passe, ce qui assure une meilleure sécurité face à un attaquant local.

Initialement la SAM gérait les comptes locaux et les comptes de domaine, sous Windows NT. A partir de Windows 2000, les comptes de domaine sont gérés par Active Directory. Si l'administrateur système veut relancer Active Directory en mode restauration, il devra se connecter pour un compte qui fait partie de la SAM et non pas un compte d'Active Directory.

Sous Windows NT, la limite théorique sur la taille de la SAM est de 40 mille comptes ; empiriquement, dans certains cas, il a été possible d'atteindre les 60 mille comptes. Sous Windows Server 2000 ou Windows Server 2003, cette limite n'a aucun intérêt pratique.

[modifier] Voir aussi

[modifier] Liens externes