Мне нужно знать, в каком файле SQL Server 2008 фактически хранит пароли. Это вопрос, который задает аудитор безопасности.
Я знаю, что могу получить хэши паролей с помощью LOGINPROPERTY('bbellomo', 'PasswordHash')
, но мне это не помогает; Мне нужно знать, как они хранятся.
Пароли не хранятся в виде открытого текста. Если аудитору действительно нужен файл, в котором они хранятся, укажите им файл master.mdf. Это, конечно, для логинов SQL. Для входа в Windows SQL даже не знает пароль; Active Directory обрабатывает аутентификацию.
Попробуй заглянуть в sys.server_principals
имена пользователей и пароли находятся в master
база данных. Но пароли не хранятся в открытом виде.
План выполнения из «ВЫБРАТЬ пароль ИЗ syslogins» показывает, что пароли хранятся в sys.sysxlgns
в базе данных master.
Взгляни на: Системные базовые таблицы
Вот пароли в двух форматах, которые SQL Server покажет нам:
SELECT name, password, LOGINPROPERTY(name, 'PasswordHash' ) hash
FROM syslogins
WHERE password IS NOT NULL
ORDER BY name
Вы, вероятно, легко сможете конвертировать между форматами, но я не знаю, как это сделать.