Quelle est la fonction de SAM (Security Account Manager) ?
SAM est une base de données, installée sur les serveurs exécutant Windows Server 2003, qui contient des comptes d'utilisateurs et des descripteurs de sécurité pour les utilisateurs sur l'ordinateur local.
Qui est concerné par cette fonctionnalité ?
Cette fonctionnalité est destinée aux informaticiens qui souhaitent résoudre les problèmes liés au composant SAM ou comprendre le comportement de celui-ci lors d'un déploiement. Il est possible que la résolution des problèmes nécessite le téléchargement d'outils supplémentaires. Cette rubrique s'applique également aux développeurs qui ont autorisé les protocoles SAMR et LSAR et à ceux qui utilisent les API LSA approuvées à partir de MSDN.
Quelles nouvelles fonctionnalités ont été ajoutées à cette fonction dans Windows Server 2003 Service Pack 1 ?
Journalisation WPP SAM
Description détaillée
Les journaux de débogage du composant SAM peuvent être regroupés par WPP (Windows software trace preprocessor) lors du redéploiement. WPP permet de collecter des informations sur le comportement de SAM sur une période donnée lorsque le système Windows ne se comporte pas comme prévu. Ces informations peuvent alors être exploitées par les services de Support Technique de Microsoft pour vous aider à résoudre les éventuels problèmes de déploiement.
Pourquoi cette modification est-elle importante ? Quelles menaces permet-elle d'atténuer ?
Si les informations de journalisation sont suffisantes pour déterminer la nature des problèmes, cette modification peut contribuer à réduire le nombre de sessions de débogage directes.
Quels sont les changements observés ?
Il n'y a pas de changements dans le fonctionnement. Une nouvelle fonctionnalité permet de générer la journalisation. Voici les commandes logman permettant de l'activer :
logman create trace samlog -p "{f2969c49-b484-4485-b3b0-b908da73cebb}" 3
logman start samlog
rem repeat action that is interesting and that should be captured in log
logman stop samlog
Ces commandes permettent de générer un journal de transactions étendu que votre ingénieur de support technique pourra analyser à l'aide du jeu de symboles de débogage.
Quels paramètres ont été ajoutés ou modifiés dans Windows Server 2003 Service Pack 1 ?
L'entrée ETW (Event Tracing for Windows) est nouvelle, f2969c49-b484-4485-b3b0-b908da73cebb. Elle indique si la journalisation a été activée ou non pour le composant SAM. L'exemple de sortie suivant à partir de tracelog –enumguid contient la nouvelle entrée.
Guid Enabled LoggerId Level Flags
-----------------------------------------------------------
1046d4b1-fce5-48bc-8def-fd33196af19a FALSE 0 0 0
5007c7b1-1444-4303-bdbe-359c79fc032a FALSE 0 0 0
7e4b70ee-8296-4f0f-a3ba-f58ef7bb4e96 FALSE 0 0 0
77db410c-561e-4358-8b0e-af866e91bb89 FALSE 0 0 0
dd5ef90a-6398-47a4-ad34-4dcecdef795f FALSE 0 0 0
196e57d9-49c0-4b3b-ac3a-a8a93ada1938 FALSE 0 0 0
1540ff4c-3fd7-4bba-9938-1d1bf31573a7 FALSE 0 0 0
94a984ef-f525-4bf1-be3c-ef374056a592 FALSE 0 0 0
3121cf5d-c5e6-4f37-be86-57083590c333 FALSE 0 0 0
94335eb3-79ea-44d5-8ea9-306f49b3a04e FALSE 0 0 0
4a8aaa94-cfc4-46a7-8e4e-17bc45608f0a FALSE 0 0 0
f33959b4-dbec-11d2-895b-00c04f79ab69 FALSE 0 0 0
8e598056-8993-11d2-819e-0000f875a064 FALSE 0 0 0
f2969c49-b484-4485-b3b0-b908da73cebb FALSE 0 0 0
cc85922f-db41-11d2-9244-006008269001 FALSE 0 0 0
c92cf544-91b3-4dc0-8e11-c580339a0bf8 FALSE 0 0 0
bba3add2-c229-4cdb-ae2b-57eb6966b0c4 FALSE 0 0 0
8fc7e81a-f733-42e0-9708-cfdae07ed969 FALSE 0 0 0
cddc01e2-fdce-479a-b8ee-3c87053fb55e FALSE 0 0 0
6acd39eb-4cb0-486b-83fa-307aa23767b1 FALSE 0 0 0
65f67abd-ecd2-4501-9b10-d48db2300e6c FALSE 0 0 0
28cf047a-2437-4b24-b653-b9446a419a69 FALSE 0 0 0
fc4b0d39-e8be-4a83-a32f-c0c7c4f61ee4 FALSE 0 0 0
fc570986-5967-4641-a6f9-05291bce66c5 FALSE 0 0 0
39a7b5e0-be85-47fc-b9f5-593a659abac1 FALSE 0 0 0
dab01d4d-2d48-477d-b1c3-daad0ce6f06b FALSE 0 0 0
58db8e03-0537-45cb-b29b-597f6cbebbfe FALSE 0 0 0
58db8e03-0537-45cb-b29b-597f6cbebbfd FALSE 0 0 0
Prévention du piratage des handles SAM et LSA
Description détaillée
L'implémentation côté serveur des protocoles SAMR et LSAR comprend à présent des vérifications de sécurité garantissant que l'appelant actuel est le même que celui qui a ouvert le premier descripteur renvoyé respectivement par SamConnect et par LsaOpenPolicy.
Le protocole RPC SAMR (Security Account Manager Remote) est un sous-système intégral permettant d'effectuer des opérations d'administration de comptes de service à distance, telles que la gestion et la manipulation de comptes. L'interface SAMR définit les méthodes SAM (Security Account Manager) distantes qui sont appelées par le client. SamConnect est la fonction qui est utilisée pour se connecter à la base de données SAM.
Pourquoi cette modification est-elle importante ?
Cette modification est liée aux modifications RPC qui limitent le risque d'attaque d'élévation de privilège sur votre système. L'implémentation de cette modification dans les interfaces Active Directory contribue à sécuriser votre installation.
Quels sont les changements observés ?
Si votre application utilise les protocoles SAMR ou LSAR, des vérifications d'accès sont effectuées sur chaque appel reçu. Des vérifications visant à s'assurer que l'identité du client ouvrant le descripteur de contexte est la même que celle du client effectuant l'appel sont également effectuées. Si votre application n'utilise pas cette convention, elle ne fonctionnera plus après l'installation de Windows Server 2003 Service Pack 1 (SP1).
Comment contourner ces problèmes ?
Tous les appels effectués selon les méthodes SAMR et LSAR doivent avoir lieu dans le même environnement de sécurité que l'appel qui a généré le descripteur de contexte utilisé dans l'appel. Si ce n'est pas le cas, vous devez modifier votre application pour répondre à cette exigence.
Dois-je modifier mon code pour utiliser Windows Server 2003 Service Pack 1 ?
La plupart des applications n'ont pas besoin d'être modifiées. Toutefois, si le code de l'application fait basculer les contextes de sécurité lors de l'utilisation des descripteurs de contexte obtenus de l'interface SAMR et LSAR, il faudra le modifier. Si l'application utilise l'une des API suivantes, vérifiez auprès du développeur d'applications que le contexte de sécurité appelant ne change pas entre l'appel LsaOpenPolicy et tout appel ultérieur de l'API LSA utilisant le descripteur renvoyé par LsaOpenPolicy.
LsaOpenPolicy
LsaQueryInformationPolicy
LsaSetInformationPolicy
LsaQueryDomainInformationPolicy
LsaSetDomainInformationPolicy
LsaEnumerateTrustedDomains
LsaLookupNames
LsaLookupNames2
LsaLookupSids
LsaEnumerateAccountsWithUserRight
LsaEnumerateAccountRights
LsaAddAccountRights
LsaRemoveAccountRights
LsaOpenTrustedDomainByName
LsaQueryTrustedDomainInfo
LsaSetTrustedDomainInformation
LsaDeleteTrustedDomain
LsaQueryTrustedDomainInfoByName
LsaSetTrustedDomainInfoByName
LsaEnumerateTrustedDomainsEx
LsaCreateTrustedDomainEx
LsaQueryForestTrustInformation
LsaSetForestTrustInformation
LsaForestTrustFindMatch
LsaStorePrivateData
LsaRetrievePrivateData