¿Dónde se almacenan las contraseñas de inicio de sesión de SQL 2008?

9

Necesito saber en qué archivo SQL Server 2008 realmente almacena las contraseñas. Esta es una pregunta que hace un auditor de seguridad.

Sé que puedo obtener hashes de contraseñas LOGINPROPERTY('bbellomo', 'PasswordHash'), pero eso no me ayuda; Necesito saber cómo se almacenan.

Puntilla
fuente

Respuestas:

6

Las contraseñas no se almacenan en texto sin formato. Si el auditor realmente necesita el archivo en el que está almacenado, apúntelo al archivo master.mdf. Esto es, por supuesto, para inicios de sesión SQL. Para los inicios de sesión de Windows, SQL ni siquiera sabe cuál es la contraseña; Active Directory maneja la autenticación.

Ben Thul
fuente
5

Intente buscar sys.server_principalsnombres de usuario y contraseñas en la masterbase de datos. Pero las contraseñas no se almacenan en texto sin formato.

JonH
fuente
Dale SELECT * FROM SYSLOGINS si realmente necesita salida
jl.
5

El plan de ejecución de 'SELECCIONAR contraseña DE syslogins' muestra que las contraseñas se almacenan sys.sysxlgnsen la base de datos maestra.

Eche un vistazo a: Tablas base del sistema

Aquí están las contraseñas, en los únicos 2 formatos que SQL Server nos mostrará:

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

Probablemente pueda convertir fácilmente entre los formatos, pero no sé cómo hacerlo.

Puntilla
fuente
esto funciona solo si tiene suficientes derechos en el servidor. Según BOL, requiere el permiso del SERVIDOR DE CONTROL. (ver msdn.microsoft.com/en-us/library/ms345412(v=sql.120).aspx )
Henrik Staun Poulsen