ЛУЧШИЙ способ не делиться строкой соединения с хакерами - PullRequest
0 голосов
/ 21 февраля 2019

В настоящее время я работаю над приложением WinForms .NET, которое будет доступно конечным пользователям.Вопрос в следующем: как (BEST) скрыть строку подключения, чтобы хакеры после декомпиляции программы не имели доступа к моей базе данных?

Я думал создать пользователя, который будет использовать только процедурына базе.

Я обыскал весь форум и нашел некоторые комментарии о ресурсе, config.app и т. д.

@ PanagiotisKanavos Точно, нацеленность на базу данных Mysql

Но этоне защищает 100%.

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

Connection  currently is in my c# code and looks like :
string connectionstring = "Server = servername;Port=1111;Database=databasename;Uid=login;Pwd=password;Convert Zero Datetime=True";

Ответы [ 4 ]

0 голосов
/ 21 февраля 2019

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

0 голосов
/ 21 февраля 2019

Есть готовые методы для шифрования вашей конфигурации.В ASP.NET 2.0 появилась новая функция, называемая защищенной конфигурацией, которая позволяет шифровать конфиденциальную информацию в файле конфигурации.Хотя защищенная конфигурация в основном предназначена для ASP.NET, она также может использоваться для шифрования разделов файла конфигурации в приложениях Windows.Для подробного описания возможностей защищенной конфигурации прочитайте эти две статьи из msdn:

Общая информация о соединении

Шифрование строк соединений и разделов конфигурации

0 голосов
/ 21 февраля 2019

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

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

0 голосов
/ 21 февраля 2019

Есть ли способ в 2019 году, который защитит вас от раздачи логина и пароля, используемых в приложении?

Конечно, есть.Вместо того, чтобы указывать эту строку подключения в вашем коде запроса, поместите ее в файл конфигурации, например web.config или App.config.Затем вы можете использовать Azure Key Vault или Переменная среды , чтобы полностью сохранить эту строку подключения в хранилище ключей и иметь только URL-адрес хранилища ключей Azure в файле конфигурации.

Узнайте больше о хранилище ключей https://docs.microsoft.com/en-us/azure/key-vault/key-vault-whatis

За один комментарий, если ваша конечная цель - распространить exe;тогда вы также должны иметь строку подключения в файле конфигурации и должны рассмотреть возможность шифрования и сохранения зашифрованной в файле конфигурации.Подробнее о Защищенная конфигурация https://docs.microsoft.com/en-us/azure/key-vault/key-vault-whatis

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...