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.

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.


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.


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.


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
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.