Où sont stockés les mots de passe de connexion SQL 2008?

9

J'ai besoin de savoir dans quel fichier SQL Server 2008 stocke réellement les mots de passe. C'est une question posée par un auditeur de sécurité.

Je sais que je peux obtenir des hachages de mot de passe LOGINPROPERTY('bbellomo', 'PasswordHash'), mais cela ne m'aide pas; J'ai besoin de savoir comment ils sont stockés.

Brad
la source

Réponses:

6

Les mots de passe ne sont pas stockés en texte brut. Si l'auditeur a vraiment besoin du fichier dans lequel ils sont stockés, pointez-les vers le fichier master.mdf. C'est, bien sûr, pour les connexions SQL. Pour les connexions Windows, SQL ne sait même pas quel est le mot de passe; Active Directory gère l'authentification.

Ben Thul
la source
5

Essayez de rechercher sys.server_principalsles noms d'utilisateur et les mots de passe dans la masterbase de données. Mais les mots de passe ne sont pas stockés en texte brut.

JonH
la source
Donnez-lui SELECT * FROM SYSLOGINS s'il a vraiment besoin d'une sortie
jl.
5

Le plan d'exécution de 'SELECT password FROM syslogins' montre que les mots de passe sont stockés sys.sysxlgnsdans la base de données master.

Jetez un œil à: Tables de base du système

Voici les mots de passe, dans les 2 seuls formats SQL Server nous les montrera:

SELECT name, password, LOGINPROPERTY(name, 'PasswordHash' ) hash
FROM syslogins
WHERE password IS NOT NULL
ORDER BY name

Vous pouvez probablement convertir facilement entre les formats, mais je ne sais pas comment.

Brad
la source
cela ne fonctionne que si vous avez suffisamment de droits sur le serveur. Selon BOL, il nécessite l'autorisation CONTROL SERVER. (voir msdn.microsoft.com/en-us/library/ms345412(v=sql.120).aspx )
Henrik Staun Poulsen