|
Организация шифрования строки подключения
|
|||
---|---|---|---|
#18+
Как обычно организуется безопасное хранение строки подключения к базе для приложения winforms? юзеры с разных компов запускают свою локальную копию приложения, делают некую работу с базой конфиг файл с логином-паролем sql-аутентификации должен храниться на каждом их компе, в шифрованном виде технически понятно: в дот нете есть метод Шифровать-расшифровать, уже из коробки меня интересует общий алгоритм в своем приложении, как организовать всю вот эту кухню по уму: 1. как первоначально должен задаваться юзер и пароль к базе при первой установке приложения? 2. что если имя юзера и пароль впоследствии изменятся, и придется их менять в строке подключения и заново шифровать? надо придумывать механизм сброса текущего пароля? как тогда сделать, чтоыб его не сбросил злоумышленник? или это по барабану и надо защитить только сам пароль и все? 3. насколько безопасно сделать перенос конфига с логином-паролем на другой комп, чтобы на каждом компе снова не задавать подключение? machine level key тогда отпадает? может вы знаете какие-то "широко известные в узких кругах" мануалы на эту тему, чтобы не придумывать велосипед? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.04.2021, 11:02 |
|
Организация шифрования строки подключения
|
|||
---|---|---|---|
#18+
имхо, но если пароль это пользовательская настройка. то есть пользователь запускает программу и вводит пароль, который необходимо запомнить, то проще всего использовать "Безопасное хранилище Windows". Пароли будут сохраняться в "Диспетчере учётных данных" консоли управления. если это параметры конфигурационного файла программы, то любые танцы с бубном, это пустое сотрясание воздуха и всё это обратимо даже для школьника. Лучший способ, при таком раскладе, не хранить пароль вообще, а использовать аутентификацию windows от текущего пользователя ... |
|||
:
Нравится:
Не нравится:
|
|||
07.04.2021, 13:26 |
|
Организация шифрования строки подключения
|
|||
---|---|---|---|
#18+
1. Не использовать подключение к БД с аутентификацией по паролю. 2. Использовать трёхзвенку. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.04.2021, 17:04 |
|
Организация шифрования строки подключения
|
|||
---|---|---|---|
#18+
windows-аутентификацию мне запретили: говорят что хотят контролировать подключение приложения к бд через одну учетку, а не через множество юзеров. наверно придется делать что-то "на отвались", с якобы подобием защиты. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.04.2021, 17:42 |
|
Организация шифрования строки подключения
|
|||
---|---|---|---|
#18+
не надо ничего городить своего, это только сделает всё еще хуже. секция connectionString может быть зашифрованной. Этого вполне достаточно, для безопасности. Суть такой защиты в том, что украсть сам файл конфига не расшифровав его заранее, невозможно. А для дешифрования надо права админа. Для чтения вроде тоже, но это не точно. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.04.2021, 22:50 |
|
Организация шифрования строки подключения
|
|||
---|---|---|---|
#18+
мы ничего не шифруем. параметры просто подставляются в конфиг приложения при деплое. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.04.2021, 22:56 |
|
Организация шифрования строки подключения
|
|||
---|---|---|---|
#18+
hVostt мы ничего не шифруем. параметры просто подставляются в конфиг приложения при деплое. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.04.2021, 23:18 |
|
Организация шифрования строки подключения
|
|||
---|---|---|---|
#18+
Shocker.Pro hVostt мы ничего не шифруем. параметры просто подставляются в конфиг приложения при деплое. десктопное приложение должно свои конфиги хранить в AppData. а для хранения кредов есть специальное хранилище в винде, называется Credential Manager, или Диспетчер учётных данных. вот примерчик нагуглил https://github.com/ilyalozovyy/credentialmanagement ... |
|||
:
Нравится:
Не нравится:
|
|||
07.04.2021, 23:30 |
|
Организация шифрования строки подключения
|
|||
---|---|---|---|
#18+
hVostt десктопное приложение должно свои конфиги хранить в AppData Пользовательские (изменяемые) части конфигов хранятся там (и даже несколько глубже) по умолчанию и из коробки. hVostt а для хранения кредов есть специальное хранилище в винде, называется Credential Manager, или Диспетчер учётных данных Здесь нюанс в том, что кред может быть записан в это хранилище а) самой программой без участия пользователя - это означает, что кред зашит в какую-то из сборок программы, и, следовательно, может быть вытащен оттуда третьими лицами, что не есть хорошо; б) как результат ввода креда пользователем через интерфейс - но, насколько я понял ТС, пользователь этого пароля не знает, и не должен знать. Ну, и выше ещё было озвучено требование переноса кредов между компьютерами, что в случае Credential Manager (насколько я помню, там используется DPAPI) проблемно. newbie876454 windows-аутентификацию мне запретили: говорят что хотят контролировать подключение приложения к бд через одну учетку, а не через множество юзеров. Это им (админам) просто лень возиться с логинами/юзерами БД на сервере. И как организуется разграничение доступа посредством ролей БД, видимо, они тоже не знают. Конечно, проще на все случаи жизни сделать пользователя с правами dbo (или sa), и трава не расти. Только вот именно контроль работы пользователей в БД от этого становится не проще, а сложнее. Ну да б-г с ними. В данном случае самый лучший вариант - трёхзвенка. WCF, gRPC, итд. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2021, 06:58 |
|
Организация шифрования строки подключения
|
|||
---|---|---|---|
#18+
>newbie876454, вчера, 11:02 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1335024&msg=22305305][22305305] >...безопасное хранение строки подключения к базе для приложения... < Расмотри как вариант Решение почти аналогичного вопроса - для MSSQL и PostgreSQL. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2021, 11:43 |
|
Организация шифрования строки подключения
|
|||
---|---|---|---|
#18+
ВМоисеев, ваша дипломная работа? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2021, 14:37 |
|
Организация шифрования строки подключения
|
|||
---|---|---|---|
#18+
>Roman Mejtes, сегодня, 14:37 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1335024&msg=22305985][22305985] >ваша дипломная работа? < Нет. Часть построения этого . ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2021, 19:26 |
|
Организация шифрования строки подключения
|
|||
---|---|---|---|
#18+
упс, перечитал повнимательней и дошло что ниже не стоит предлагатъ Например в вот это: System.Security.Cryptography Microsoft.IdentityModel оборачивается вот это System.Convert ... base64 ... System.Text.Encoding сертификаты там, ключи шифрования, алгоритмы и пр. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2021, 23:16 |
|
|
start [/forum/topic.php?fid=20&msg=40060290&tid=1398328]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
62ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
others: | 266ms |
total: | 428ms |
0 / 0 |