Asp.net ConnectionString безопасным способом

1

Я не смог получить удовлетворительный ответ на мой вопрос в Google, это:

  • Насколько безопасна ConnectionString над HttpRequest?
  • Использует ConnectionString в файле web.config более безопасно, чем использование на какой-либо конкретной странице aspx?
  • И как защитить ConnectionString для надежного веб-сайта?

Мне просто интересно узнать об этом.

  • 0
    Вы отправляете строки подключения по HTTP?
  • 2
    web.config безопасен, IIS не будет передавать этот файл клиенту.
Показать ещё 11 комментариев
Теги:
security

7 ответов

8
Лучший ответ

Вы можете зашифровать строку conenction внутри webconfig, вот статья от Microsoft по этому вопросу: http://msdn.microsoft.com/en-us/library/dx0f3cf2(v=vs.80).aspx

Если вы отправляете строку подключения по каналу, она не более безопасна, чем канал. Например, отправив строку подключения через HTTP, и это будет просто текст, HTTPS, и он будет зашифрован, по FTP просто запланировать текст и так далее...

Если у вас есть веб-приложение в общей размещенной среде, вы должны быть обеспокоены тем, что провайдер может быть взломан.

Так что просто держите строку подключения внутри web.config и зашифровывайте ее и не отправляйте в Интернете; -)

  • 0
    в локальном соединении вам даже не нужно его шифровать, просто выберите Integrated Security = True <add name = "OneConnection" connectionString = "Источник данных = localhost; Исходный каталог = TheDB; Integrated Security = True;" providerName = "System.Data.SqlClient" /> Даже если вы прочитаете это, вам нечего будет делать.
  • 0
    @Aristos: но это не локальный сервер.
4

Строки подключения безопасны в файле web.config. Они очень надежны, если вы не распечатываете их в веб-запросах.

  • 1
    Не могли бы вы немного пояснить здесь, вы, вероятно, имели в виду нечто большее, так как я уверен, что вы хорошо знаете, что хранение простой текстовой строки conn в веб-конфигурации не является радикально безопасным, поскольку файл конфигурации можно загружать (через сотни уязвимостей) удаленно и читать прямо как обычный текст
  • 0
    @oleksii: да, ты прав. вот почему с нетерпением жду теперь больше об этом.
3
2

Существует немало способов защитить вашу строку соединения, например

  • Зашифруйте строку соединения и сохраните ее в webconfig
  • Зашифруйте строку соединения и сохраните ее в реестре Windows.

Лучше всего сохранить строку соединения в webconfig для использования в качестве единственной точки использования для всего приложения.

2

Насколько безопасна ConnectionString над HttpRequest?

Это строка. Он настолько же безопасен, как и соединение, поэтому, как правило, совсем нет. Предполагается, что вы отправляете данные строки подключения через HttpRequest. Если это не так, и ваша строка соединения используется в web.config, она настолько же безопасна, как и сам файл и IIS.

Использует ConnectionString в файле web.config более безопасно, чем использование на какой-либо конкретной странице aspx?

Нет.

И как защитить ConnectionString для надежного веб-сайта?

Обычно для предотвращения жесткого кодирования имени пользователя и пароля используется интегрированная защита (проверка подлинности Windows). Кроме того, вы можете зашифровать раздел конфигурации, как описано здесь (RSA) и здесь (DPAPI).

0

Чтобы ответить на ваши вопросы поочередно:

  • How secure ConnectionString is over the HttpRequest?

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

  • Is using ConnectionString in web.config file more secure than using in any specific aspx page?

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

  • And how to secure ConnectionString for highly secure website?

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

0

Насколько безопасна ConnectionString над HttpRequest?

Вы отправляете строку подключения через http-запрос? В самом деле? какой сценарий? Узумно только запросы на веб-страницу перемещаются через HTTP-запрос и ответ. Connectionstring - это то, что ваш код внутренне использует для доступа к данным, и он остается на вашем сервере.

Использует ConnectionString в файле web.config более безопасно, чем использование на какой-либо конкретной странице aspx?

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

И как защитить ConnectionString для надежного веб-сайта?

Вы можете зашифровать строку подключения в web.config. проверьте эту ссылку http://www.codeproject.com/Tips/304638/Encrypt-or-Decrypt-Connection-Strings-in-web-confi

Ещё вопросы

Сообщество Overcoder
Наверх
Меню