Подтвердить что ты не робот

Рекомендации по наилучшим связям

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

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

4b9b3361

Ответ 1

вы можете зашифровать свои строки подключения в файле web.config.

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

Лучший способ - это шифрование конфигурации.

Ответ 2

Вы можете зашифровать и дешифровать разделы вашего web.config с помощью инструмента командной строки aspnet_regiis:

Encrypt: aspnet_regiis -pef "connectionStrings" "c:\folder \"

Расшифровать: aspnet_regiis -pdf "connectionStrings" "c:\folder \"

Ответ 3

Если у вас есть полный контроль над сервером, вы также можете сохранить строку подключения в Machine.Config. Это может быть удобно, если у вас много приложений, которые работают с одним и тем же сервером БД.

Я не уверен, стоит ли его шифровать, так как вам нужно получить доступ к серверу в первую очередь, чтобы просмотреть файл machine.config. И если ваш сервер был взломан, Encyrption не остановит хакера от вытаскивания учетных данных из файла конфигурации.

Ответ 4

@vartec: Это не совсем SNAFU..

IIS действительно может читать зашифрованный текст, если вы его зашифруете с помощью стандартного механизма шифрования .NET, который не нарушит кодировку UTF8 или Unicode. Microsoft также поощряет это как наилучшую практику.

Вы можете увидеть образец шифрования строки подключения из этого:

"Как защитить строки подключения при использовании элементов управления источниками данных"

http://msdn.microsoft.com/en-us/library/dx0f3cf2.aspx