.Net SQL Server Connection String - скройте пароль от других разработчиков

Мы перемещаем один из наших сайтов к ASP.NET. Мы не хотим использовать интегрированную защиту, которая использует учетную запись окон для соединения с SQL-сервером (не собирающийся входить почему, его просто вне рассмотрения). Мы создали имя пользователя и пароль для соединения с SQL Server, и хотели бы использовать то имя пользователя и пароль, однако, мы также не хотим, чтобы другие разработчики видели эту информацию (легко считанный из web.config).... Я знаю, что это может быть зашифровано, но это может так же, как легко быть дешифровано разработчиками - плюс шифрование, поражали производительность.

Там какое-либо решение к этой проблеме?

6
задан Chris Klepeis 1 June 2010 в 21:08
поделиться

5 ответов

вот хороший учебник по Конфигурация шифрования информации в приложениях ASP.NET 2.0

Просто не указывайте другим разработчикам ключ

В качестве альтернативы вы можете заблокировать аутентификацию для SQL с помощью установленных сертификатов. Таким образом вы устанавливаете безопасность на основе клиента, а не пользователя. http://msdn.microsoft.com/en-us/library/ff649255.aspx

Наша стандартная практика заключается в том, чтобы в базе данных разработки использовался один «Вход для разработчиков», который имеет ограниченный доступ и другое имя пользователя. / пароль для производственного ящика. У разработчиков нет доступа к производственному блоку, только ведущие разработчики, а затем рабочий файл web.config копируется через сценарий развертывания.

2
ответ дан 17 December 2019 в 20:29
поделиться

По моему опыту, бывает трудно скрыть подобные вещи от ваших внутренних разработчиков. Даже шифрование информации о конфигурации в webconfig все равно будет отображаться, если ваши разработчики просто перейдут через код ...

Я предполагаю, что, если бы вы ДОЛЖНЫ это сделать, вы могли бы создать частную постоянную строку в коде для своей БД. string, а затем используйте Dotfuscator или аналогичный в скомпилированном приложении. Очевидно, что сам исходный код также должен быть зашифрован, иначе ваши разработчики не смогут получить к нему доступ.

0
ответ дан 17 December 2019 в 20:29
поделиться

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

0
ответ дан 17 December 2019 в 20:29
поделиться

Нельзя защитить пароль от разработчиков - да и какой в ​​этом смысл? Что вы можете сделать, так это иметь отдельный сервер разработки, к которому разработчики имеют доступ, и производственную среду, к которой у них нет.

Разве разработчикам никогда не нужно напрямую входить в базу данных, чтобы запускать какие-то тесты или что-то в этом роде? если они это сделают, было бы разумно провести тест, используя ту же учетную запись, которая используется приложением, в противном случае результаты теста могут не отражать реальность.

0
ответ дан 17 December 2019 в 20:29
поделиться

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

0
ответ дан 17 December 2019 в 20:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: