Правильное хранение и извлечение паролей для учетных записей для обслуживания?
-
26-09-2019 - |
Вопрос
Большая часть информации, которую я обнаружил, и прочитал о правильном хранении паролей в базе данных, говорят, что я должен выбрасывать пароль очистить текст с уникальным значением соли для каждого пользователя, а затем хранить это хэш в базе данных. Но этот процесс не работает для моих потребностей ...
У меня есть служба Windows, написанная в C #, которая необходимо подключить к другим удаленным компьютерам в разных центров данных, используя определенные учетные записи обслуживания. Эти учетные записи службы похожи на учетные записи пользователей домена, но позади них нет реальных людей, и они просто имеют правильные разрешения для выполнения полезной нагрузки на обслуживание на каждом конкретном сервере. Информация об обслуживании Acount хранится в таблице SQL Server, включая пароль для каждой учетной записи. В настоящее время я использую симметричное шифрование (Rijndael), чтобы запустить пароли в таблице БД. Ключ сохраняется в отдельном файле конфигурации, который имеет строгие разрешения доступа.
Каждый раз, когда сервис имеет запланированную полезную нагрузку для запуска на удаленном компьютере, я насмотрю на соответствующую информацию об учетной записи услуг на таблице и уменьшите ее с помощью ключа. Существует также внутренний веб-сайт, который в основном является интерфейсом для управления различными настройками для этой услуги, а там администратор может просматривать и изменить пароль учетных записей служб.
Это хороший подход, чтобы сохранить вещи безопасными? Есть ли какие-то очевидные недостатки в этой схеме?
Решение
Звучит здравица для меня.