Onde as senhas de login do SQL 2008 são armazenadas?

9

Eu preciso saber em qual arquivo o SQL Server 2008 realmente armazena as senhas. Esta é uma pergunta feita por um auditor de segurança.

Eu sei que posso obter hashes de senha com LOGINPROPERTY('bbellomo', 'PasswordHash') , mas isso não me ajuda; Eu preciso saber como eles estão armazenados.

    
por Brad 20.07.2011 / 17:49

3 respostas

6

As senhas não são armazenadas em texto simples. Se o auditor realmente precisar do arquivo no qual eles estão armazenados, aponte-os para o arquivo master.mdf. Isto é, obviamente, para logins SQL. Para logins do Windows, o SQL nem sabe qual é a senha; O Active Directory lida com a autenticação.

    
por 20.07.2011 / 18:18
5

Tente analisar sys.server_principals nomes de usuário e senhas no banco de dados master . Mas as senhas não são armazenadas em texto simples.

    
por 20.07.2011 / 17:52
5

O plano de execução de 'SELECT password FROM syslogins' mostra o as senhas são armazenadas em sys.sysxlgns no banco de dados mestre.

Dê uma olhada: Tabelas Básicas do Sistema

Aqui estão as senhas, nos dois únicos formatos que o SQL Server irá mostrar para nós:

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

Você provavelmente pode converter facilmente entre os formatos, mas não sei como é improvável.

    
por 20.07.2011 / 18:16