Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / WinForms, .Net Framework Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3   вперед  Ctrl      все
 Re: Как защитить зашифрованную в config-файле информацию от расшифровки извне?  [new]
ВМоисеев
Member

Откуда: Редкино
Сообщений: 1970
>fkthat, сегодня, 02:24 [21895293]
>Треш угар и содомия. Выходит, что к бесценным данным компании куча пользователей имеет доступ с использованием одного и того же логина и пароля.
<Ну почему же, к бесценным данным компании, в одной базе данных, имеет доступ только одна куча приложений.
Аутентификация для доступа к приложениям,- подчеркиваю - к приложениям, а не к базам данных,- по логин и пароль с ограничениями по правам.
Для аутентификации служит общая строка соединения, что находится в криптоконтейнере с файлом настройки, но доступ к базе данных аутентификации, а не базе с бесценным данным компании, ограничивается только одной хранимой процедурой аутентификации.
Если аутентификация ок, то строку соединения к базе с бесценными данных с получит приложение, заметьте - приложение, а не пользователь. Пользователь имеет права в рамках приложения.
При таком подходе win-аутентификация мало что даёт.
28 май 19, 13:00    [21895622]     Ответить | Цитировать Сообщить модератору
 Re: Как защитить зашифрованную в config-файле информацию от расшифровки извне?  [new]
ВМоисеев
Member

Откуда: Редкино
Сообщений: 1970
>fkthat, сегодня, 02:24 [21895293]
>Треш угар и содомия. Выходит, что к бесценным данным компании куча пользователей имеет доступ с использованием одного и того же логина и пароля.
<Ну почему же, к бесценным данным компании, в одной базе данных, имеет доступ только одна куча приложений.
Аутентификация для доступа к приложениям,- подчеркиваю - к приложениям, а не к базам данных,- по логин и пароль с ограничениями по правам.
Для аутентификации служит общая строка соединения, что находится в криптоконтейнере с файлом настройки, но доступ к базе данных аутентификации, а не базе с бесценным данным компании, ограничивается только одной хранимой процедурой аутентификации.
Если аутентификация ок, то строку соединения к базе с бесценными данных с получит приложение, заметьте - приложение, а не пользователь. Пользователь имеет права в рамках приложения.
При таком подходе win-аутентификация мало что даёт.
28 май 19, 13:02    [21895624]     Ответить | Цитировать Сообщить модератору
 Re: Как защитить зашифрованную в config-файле информацию от расшифровки извне?  [new]
fkthat
Member

Откуда:
Сообщений: 1143
ВМоисеев,

Блин, уже утомляет объяснять. То что ты делаешь это называется "security by obscurity". C тем же успехом можно просто захардкодить креденшиалы в приложение, рассчитывая на то, что у пользователя не хватит масла в голове вытащить их оттуда декомпилятором. Если у приложения, которое я запускаю, есть права на то, чтобы прочитать откуда-то и дешифровать логин/пароль, то это автоматически означает, что такие же права есть и у меня без этого приложения и если я захочу заполучить этот логин и пароль в чистом виде, то это будет лишь вопрос усилий и времени.
28 май 19, 13:37    [21895664]     Ответить | Цитировать Сообщить модератору
 Re: Как защитить зашифрованную в config-файле информацию от расшифровки извне?  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 38643
ВМоисеев,
Я понимаю что ты написал целый свой криптоконтейнер.
Но видишь авто пропал?
Значит тоже смекнул, что не нужно все это.
Удачи!
28 май 19, 13:58    [21895701]     Ответить | Цитировать Сообщить модератору
 Re: Как защитить зашифрованную в config-файле информацию от расшифровки извне?  [new]
ВМоисеев
Member

Откуда: Редкино
Сообщений: 1970
>fkthat, сегодня, 13:37 [21895664]
>Блин, уже утомляет объяснять…
<В банке часто применяют вариант доступ к хранилищу ценностей с двумя ключами.
Моделируем эту ситуацию. Приложение требует ввода двух паролей (пинкодов) - пользователя и секадмина, например,
объединяет их и получает доступ к криптоконтейнеру с файлом настройки.
Приложение не содержит в коде паролей. Поэтому декомпилятор тебе не поможет.
Другое дело - можешь сделать дамп работающего приложения, но в серьёзных конторах, кто тебе даст это сделать.
В этом вопросе надо не просто объяснять - надо строить модель нарушителя.
28 май 19, 14:50    [21895793]     Ответить | Цитировать Сообщить модератору
 Re: Как защитить зашифрованную в config-файле информацию от расшифровки извне?  [new]
Compositum
Member

Откуда: Санкт-Петербург
Сообщений: 5939
Сон Веры Павловны
При использовании DataProtectionConfigurationProvider шифрование можно перенести с уровня хоста на уровень приложения - см. здесь: https://stackoverflow.com/questions/21336455/protect-config-file-with-user-level-dpapi-winforms
Но я всё же присоединяюсь к предыдущим ораторам. Неправильно это. Раз используется MSSQL, то вин-аутентификация, и права на сервере строго в рамках выполняемой задачи (а то некоторые админы как писать grant-скрипты не знают, тыкать галки на объектах в SSMS им долго, поэтому сделают на сервере логин, дадут ему sa - и можно пить чай, такого супергероя даже на соответствующих пользователей в базе мапить не нужно).

Насколько я понял из общения с нашими IT-шниками, виндовая аутентификация у нас не для всего работает. У нас множество CRM, которые раскиданы по разным континентам. Для их использования на компах разработчиков запускаем SSL VPN Client. Для подключения к CRM приходится в строке подключения явным образом указывать логин и пароль. К сожалению, я не силён в вопросах, касающихся сетей. Если бы нам всегда подходила виндовая аутентификация, то использовали бы её, конечно.
28 май 19, 14:58    [21895811]     Ответить | Цитировать Сообщить модератору
 Re: Как защитить зашифрованную в config-файле информацию от расшифровки извне?  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 38643
Compositum,
Вопрос был не про виндовую, а про то что Вася пупкин имеет конфиг генерального директора.
То есть все вместе.
Зачем?
28 май 19, 15:08    [21895831]     Ответить | Цитировать Сообщить модератору
 Re: Как защитить зашифрованную в config-файле информацию от расшифровки извне?  [new]
fkthat
Member

Откуда:
Сообщений: 1143
ВМоисеев
Другое дело - можешь сделать дамп работающего приложения, но в серьёзных конторах, кто тебе даст это сделать.

В совсем серьезной конторе так можно вообще раздать всем логины и пароли от всего и просто объявить, что тому, кто не туда куда надо залезет СБшники переломают ноги на заднем дворе. Речь-то идет о защите информации с т.з. ИТ, а не о том, чтобы ходил по офису надзиратель и за каждым следил - куда там он логинится.
29 май 19, 08:26    [21896263]     Ответить | Цитировать Сообщить модератору
 Re: Как защитить зашифрованную в config-файле информацию от расшифровки извне?  [new]
Shocker.Pro
Member

Откуда: ->|<- :адуктО
Сообщений: 20323
fkthat
ВМоисеев
Другое дело - можешь сделать дамп работающего приложения, но в серьёзных конторах, кто тебе даст это сделать.

В совсем серьезной конторе так можно вообще раздать всем логины и пароли от всего и просто объявить, что тому, кто не туда куда надо залезет СБшники переломают ноги на заднем дворе. Речь-то идет о защите информации с т.з. ИТ, а не о том, чтобы ходил по офису надзиратель и за каждым следил - куда там он логинится.
Нормальный обычный пользователь, он на то и обычный, чтобы работой заниматься, а не лезть куда попало. А злоумышленник - он на то и злоумышленник, угрозы СБ его не остановят
29 май 19, 08:47    [21896275]     Ответить | Цитировать Сообщить модератору
 Re: Как защитить зашифрованную в config-файле информацию от расшифровки извне?  [new]
fkthat
Member

Откуда:
Сообщений: 1143
Shocker.Pro,

Ну, так тогда можно и двери, из дома уходя, не запирать. Нормальный обычный чел, он на то и обычный, что не полезет, а настоящий злодей он на то и злодей, что его запертая дверь не остановит :)
29 май 19, 09:03    [21896290]     Ответить | Цитировать Сообщить модератору
 Re: Как защитить зашифрованную в config-файле информацию от расшифровки извне?  [new]
Compositum
Member

Откуда: Санкт-Петербург
Сообщений: 5939
Petro123
Вопрос был не про виндовую, а про то что Вася пупкин имеет конфиг генерального директора.

Конфиг не имеет отношения к какому-либо конкретному юзеру (генеральному директору или кому-то ещё). Конфиг относится к приложению в целом. В конфигурационном файле указано, какой логин и пароль следует использовать приложению для подключения к тому или иному URL. Это те логин и пароль, которые на удалённом ресурсе (указываемому через URL) созданы специально для данного приложения. Не важно, кто запустит приложение (Вася или Петя) - логин и пароль разрешается использовать один и тот же. Это приложение для разработчиков, а не для пользователей, поэтому одного логина/пароля нам вполне достаточно.

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

Если для подключения к удалённому ресурсу приходится явным образом использовать логин и пароль, то значит другого варианта сделать это не нашли. В виду этого и возникает необходимость шифровать соответствующую секцию конфигурационного файла.
29 май 19, 09:07    [21896295]     Ответить | Цитировать Сообщить модератору
 Re: Как защитить зашифрованную в config-файле информацию от расшифровки извне?  [new]
Shocker.Pro
Member

Откуда: ->|<- :адуктО
Сообщений: 20323
fkthat
Shocker.Pro,

Ну, так тогда можно и двери, из дома уходя, не запирать. Нормальный обычный чел, он на то и обычный, что не полезет, а настоящий злодей он на то и злодей, что его запертая дверь не остановит :)
Замок - это физическое препятствие. А угрозы СБ - это как табличка на открытой двери "не входить - это незаконно".
29 май 19, 09:30    [21896328]     Ответить | Цитировать Сообщить модератору
 Re: Как защитить зашифрованную в config-файле информацию от расшифровки извне?  [new]
fkthat
Member

Откуда:
Сообщений: 1143
Compositum
Если для подключения к удалённому ресурсу приходится явным образом использовать логин и пароль, то значит другого варианта сделать это не нашли.

Ну тебе уже сто раз написали про вариант для такого варианта - каждому пользователю свой логин/пароль и настройка прав в БД, - все остальное это детские костыли.
29 май 19, 09:36    [21896336]     Ответить | Цитировать Сообщить модератору
 Re: Как защитить зашифрованную в config-файле информацию от расшифровки извне?  [new]
fkthat
Member

Откуда:
Сообщений: 1143
Shocker.Pro
А угрозы СБ - это как табличка на открытой двери "не входить - это незаконно".

Ну, можно ведь, для примера, просто нескольким случайно выбраным работникам показательно ноги переломать, тогда угроза будет восприниматься вполне физически
29 май 19, 09:38    [21896339]     Ответить | Цитировать Сообщить модератору
 Re: Как защитить зашифрованную в config-файле информацию от расшифровки извне?  [new]
Compositum
Member

Откуда: Санкт-Петербург
Сообщений: 5939
fkthat
Ну тебе уже сто раз написали про вариант для такого варианта - каждому пользователю свой логин/пароль и настройка прав в БД, - все остальное это детские костыли.

Программка и её исходники хранятся в составе git-репозитория, совместно используемого разработчиками, так что вариант с логином/паролем для каждого разработчика - в данном случае не подходит. Предлагаю писать либо по теме топика, либо ничего. Вопрос был о проблеме, связанной с возможностью расшифровки.
29 май 19, 09:42    [21896342]     Ответить | Цитировать Сообщить модератору
 Re: Как защитить зашифрованную в config-файле информацию от расшифровки извне?  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 38643
Compositum
Конфиг не имеет отношения к какому-либо конкретному юзеру (генеральному директору или кому-то ещё). Конфиг относится к приложению в целом.
отпад.
Это решил?
А положение формы на экране?
А путь к базе данных?
...
Даже тотал коммандер при установке спрашивает: "вам один ini для всех или индивидуальный?
Что относится к приложению в целом у меня в коде зашито))
29 май 19, 09:44    [21896343]     Ответить | Цитировать Сообщить модератору
 Re: Как защитить зашифрованную в config-файле информацию от расшифровки извне?  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 38643
Compositum
Предлагаю писать либо по теме топика, либо ничего.
изучи тотал коммандер, потом приходи
29 май 19, 09:46    [21896345]     Ответить | Цитировать Сообщить модератору
 Re: Как защитить зашифрованную в config-файле информацию от расшифровки извне?  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 38643
Compositum
Программка и её исходники хранятся в составе git-репозитория, совместно используемого разработчиками, так что вариант с логином/паролем для каждого разработчика
для юзверя в продакшене, а не при разработке!
Ты о чем вообще?
29 май 19, 09:47    [21896348]     Ответить | Цитировать Сообщить модератору
 Re: Как защитить зашифрованную в config-файле информацию от расшифровки извне?  [new]
Compositum
Member

Откуда: Санкт-Петербург
Сообщений: 5939
Печально, во что превратился форум... Если модераторы так и не будут блокировать троллей, то в конце-концов форум станет бесполезен. имхо.
29 май 19, 09:56    [21896358]     Ответить | Цитировать Сообщить модератору
 Re: Как защитить зашифрованную в config-файле информацию от расшифровки извне?  [new]
fkthat
Member

Откуда:
Сообщений: 1143
Compositum
Программка и её исходники хранятся в составе git-репозитория, совместно используемого разработчиками, так что вариант с логином/паролем для каждого разработчика - в данном случае не подходит. Предлагаю писать либо по теме топика, либо ничего. Вопрос был о проблеме, связанной с возможностью расшифровки.


ОМГ. При чем тут вообще какие-то логины разработчиков и ГИТ? Вопрос был (как я его понял) такой - "Я хацу, чтобы пользовательская программа могла расшифровать логин/пароль, а сам пользователь при этом не мог". И тебе тут уже четвертую страницу объясняют, что такое невозможно в принципе - если логин/пароль может расшифровать пользовательское приложение, то в конечном итоге его может расшифровать и сам пользователь. Если у меня есть ключ от сейфа где лежат ключи от кабинете директора, то значит у меня есть и ключи от кабинета директора.
29 май 19, 09:58    [21896362]     Ответить | Цитировать Сообщить модератору
 Re: Как защитить зашифрованную в config-файле информацию от расшифровки извне?  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 38643
Compositum,
Ты вместо
access пошире посмотри на защиту в мире IT.
Потом на защиту Оси своей. Наверно не тотал коммандер, а нортон до сих пор?
Потом посмотри в каком конфиге пароль к sql.ru.
Удачи!
29 май 19, 09:59    [21896364]     Ответить | Цитировать Сообщить модератору
 Re: Как защитить зашифрованную в config-файле информацию от расшифровки извне?  [new]
ВМоисеев
Member

Откуда: Редкино
Сообщений: 1970
>Compositum, сегодня, 09:42 [21896342]
>Программка и её исходники хранятся в составе git-репозитория…
<Поступил так:
1. Создал отдельную базу (можно и отдельный сервер) данных с параметрами приложений и пользователей, включая и связь приложение-пользователь (у меня не все пользователи имеют доступ ко всем приложениям).
2. Сделал открытый доступ только к одной хранимой процедуре - аутентификации. Строку соединения для данного доступа положил в файл настройки (у меня в криптоконтейнер, но это не суть).
3. Ввожу логин и пароль доступа к приложению и обращаюсь к ХП аутентификации (строка соединения есть).
4. Если ок, получаю параметры работы с приложениями (получаю крипто ключ для расшифровки криптоконтейнера с параметрами работы с приложением(-ями))
29 май 19, 11:05    [21896437]     Ответить | Цитировать Сообщить модератору
 Re: Как защитить зашифрованную в config-файле информацию от расшифровки извне?  [new]
stenford
Member

Откуда: урал
Сообщений: 2749
Compositum
Конфиг не имеет отношения к какому-либо конкретному юзеру (генеральному директору или кому-то ещё). Конфиг относится к приложению в целом. В конфигурационном файле указано, какой логин и пароль следует использовать приложению для подключения к тому или иному URL. Это те логин и пароль, которые на удалённом ресурсе (указываемому через URL) созданы специально для данного приложения. Не важно, кто запустит приложение (Вася или Петя) - логин и пароль разрешается использовать один и тот же. Это приложение для разработчиков, а не для пользователей, поэтому одного логина/пароля нам вполне достаточно.

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

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

секция конфигурационного файла шифруется не для того, что-бы спрятать пароль от текущего пользователя, а что-бы другие не смогли его прочитать. Текущий пользователь по определению может расшифровать пароль т.к. его контекст обязан это уметь делать иначе ничего не будет работать.
И как уже было сказано, это плохой подход именно по указанной тобой причине - пользователь может расшифровать пароль и слить его куда-нибудь, а т.к. это общий пароль для всех, то целая система оказывается скомпрометированной. Что-бы этого избжать - необходимо логинить самих пользователей, либо через виндовую аутентификацию, либо через облака либо еще как это вопрос к архитектору системы. В текущем виде система не является безопасной
29 май 19, 11:12    [21896457]     Ответить | Цитировать Сообщить модератору
 Re: Как защитить зашифрованную в config-файле информацию от расшифровки извне?  [new]
ВМоисеев
Member

Откуда: Редкино
Сообщений: 1970
>fkthat, сегодня, 09:58
>... Если у меня есть ключ от сейфа…
<Да нет у тебя ключа, понимаешь - НЕТ.
Приложение, не ты, может попросить безопасника или программу аутентификации дать ей, НЕ ТЕБЕ, ключ.
29 май 19, 11:15    [21896462]     Ответить | Цитировать Сообщить модератору
 Re: Как защитить зашифрованную в config-файле информацию от расшифровки извне?  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 38643
ВМоисеев,
Сейчас проще делают. У каждого в Оси своя песочница. Храни там хоть имя любовницы.
29 май 19, 11:23    [21896479]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3   вперед  Ctrl      все
Все форумы / WinForms, .Net Framework Ответить