Надлежащее хранение и поиск пароля для учетных записей служб? - PullRequest
7 голосов
/ 08 августа 2010

Большая часть информации, которую я нашел и прочитал о правильном хранении паролей в базе данных, говорит о том, что я должен хешировать открытый текст пароля с уникальным значением соли для каждого пользователя и затем сохранять этот хэш в базе данных. Но этот процесс не работает для моих нужд ...

У меня есть служба Windows, написанная на C #, которая должна подключаться к другим удаленным компьютерам в разных центрах обработки данных с использованием определенных учетных записей служб. Эти учетные записи служб похожи на учетные записи пользователей домена, но за ними нет реальных людей, и у них просто есть соответствующие разрешения для выполнения полезной нагрузки службы на каждом конкретном сервере. Информация об учетной записи службы хранится в таблице SQL Server, включая пароль для каждой учетной записи. В настоящее время я использую симметричное шифрование (Rijndael), чтобы скрыть пароли в таблице БД. Ключ сохраняется в отдельном файле конфигурации с жесткими правами доступа.

Каждый раз, когда служба имеет запланированную полезную нагрузку для запуска на удаленном компьютере, я ищу соответствующую информацию учетной записи службы в таблице и расшифровываю ее, используя ключ. Существует также внутренний веб-сайт, который в основном является интерфейсом для управления различными настройками этой службы, и там администратор может просматривать и изменять пароль учетных записей службы.

Это хороший подход к обеспечению безопасности? Есть ли какие-либо очевидные недостатки в этой схеме?

1 Ответ

2 голосов
/ 08 августа 2010

Звучит нормально для меня.

...