Гость
Форумы / Java [игнор отключен] [закрыт для гостей] / [Vault] Как хранить sensitive данные в проекте ? (креды от баз данных и прочее) / 25 сообщений из 26, страница 1 из 2
19.03.2020, 16:52
    #39939217
questioner
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[Vault] Как хранить sensitive данные в проекте ? (креды от баз данных и прочее)
Очевидно не гуд хранить данные наподобие кредов в открытом виде. Особенно в открытом репозитории.
Для примера есть у нас spring boot application с традиционным applcation.properties в котором удобно прописать урл к базе и логин с паролем. Но ведь этот файл лежит в репозитории и его видно.

Говорят, что безопасно можно хранить в каком-нить Vault( https://www.vaultproject.io/)

Вот собсно спринг команда запилила проект специально для Vault и дала пример:

https://spring.io/guides/gs/vault-config/

В этом примере мы перенесли все данные в Vault но у нас теперь есть токен Vault чтобы обращаться к этому Vault. Да, удобно централизованно управлять конфигурациями, но с точки зрения security если этот токен в репозитории хранить, то это только на один шаг(не самый сложный мягко говоря) усложнит работу хакеру.

Проясните ситуацию, плиз
...
Рейтинг: 0 / 0
19.03.2020, 17:00
    #39939225
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[Vault] Как хранить sensitive данные в проекте ? (креды от баз данных и прочее)
questioner,

Оракле при записи пароля смотрит, человек ли его записал (не шифрован).
Если человек то стирает и пишет зашифрованную версию.
...
Рейтинг: 0 / 0
19.03.2020, 17:06
    #39939232
questioner
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[Vault] Как хранить sensitive данные в проекте ? (креды от баз данных и прочее)
PetroNotC Sharp
questioner,

Оракле при записи пароля смотрит, человек ли его записал (не шифрован).
Если человек то стирает и пишет зашифрованную версию.


Spring security тоже хранит пароли в шифрованном виде и по этому хешу нельзя вычислить оригинал, зато легко проверить матчится ли строка на хеш, НО вопрос не про Оракл и не про spring security
...
Рейтинг: 0 / 0
19.03.2020, 17:16
    #39939242
SpringMan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[Vault] Как хранить sensitive данные в проекте ? (креды от баз данных и прочее)
questioner
если этот токен в репозитории хранить

Ну так его не надо хранить в репозитории. Он хранится в специальных_админских_шнягах, которые прокидывают его в приложение через параметры/переменные окружения при старте. А вот эти специальные_админские_шняги уже запаролены.
Для обычных логинов и паролей к базе тут аналогично на самом деле.
...
Рейтинг: 0 / 0
19.03.2020, 17:17
    #39939245
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[Vault] Как хранить sensitive данные в проекте ? (креды от баз данных и прочее)
questioner,
А про что вопрос?
Переведите ваши опасения про матчится....
...
Рейтинг: 0 / 0
19.03.2020, 17:23
    #39939250
chpasha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[Vault] Как хранить sensitive данные в проекте ? (креды от баз данных и прочее)
questioner
Но ведь этот файл лежит в репозитории и его видно

но ведь репозитарий в свою очередь тоже защищен от несанкционированного доступа. а если не достаточно, то не храните в репозитарии, храните только непосредственно на сервере, где приложение работает. сервер-то достаточно защищен или тоже нет?
...
Рейтинг: 0 / 0
19.03.2020, 17:25
    #39939253
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[Vault] Как хранить sensitive данные в проекте ? (креды от баз данных и прочее)
chpasha,
Репо же разработчиков. Не боевой?
Или я что то не понял?
...
Рейтинг: 0 / 0
19.03.2020, 17:44
    #39939262
questioner
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[Vault] Как хранить sensitive данные в проекте ? (креды от баз данных и прочее)
PetroNotC Sharp
questioner,
А про что вопрос?
Переведите ваши опасения про матчится....


Где опасения?

Вопрос про хранение secrets
...
Рейтинг: 0 / 0
19.03.2020, 17:46
    #39939263
questioner
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[Vault] Как хранить sensitive данные в проекте ? (креды от баз данных и прочее)
SpringMan
questioner
если этот токен в репозитории хранить

Ну так его не надо хранить в репозитории. Он хранится в специальных_админских_шнягах, которые прокидывают его в приложение через параметры/переменные окружения при старте. А вот эти специальные_админские_шняги уже запаролены.
Для обычных логинов и паролей к базе тут аналогично на самом деле.


специальная_админская_шняга это кубернетис например?
...
Рейтинг: 0 / 0
19.03.2020, 17:47
    #39939264
questioner
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[Vault] Как хранить sensitive данные в проекте ? (креды от баз данных и прочее)
chpasha
questioner
Но ведь этот файл лежит в репозитории и его видно

но ведь репозитарий в свою очередь тоже защищен от несанкционированного доступа. а если не достаточно, то не храните в репозитарии, храните только непосредственно на сервере, где приложение работает. сервер-то достаточно защищен или тоже нет?


Если репка защищена, то можно все конфиги прямо в ней и хранить, но зачем тогда Vault ? Что такого он даёт?
...
Рейтинг: 0 / 0
19.03.2020, 17:56
    #39939268
SpringMan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[Vault] Как хранить sensitive данные в проекте ? (креды от баз данных и прочее)
questioner

специальная_админская_шняга это кубернетис например?

В нем тоже есть какая-то подобная шняга. Вообще админ руками может в переменную окружения добавить это значение и все - это без_специальных_админских_шняг.
Ну и плюс этот токен может знать каждый, но доступ до сервера, который этот токен обработает есть только с определенных машин.
...
Рейтинг: 0 / 0
19.03.2020, 18:04
    #39939273
questioner
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[Vault] Как хранить sensitive данные в проекте ? (креды от баз данных и прочее)
SpringMan
этот токен может знать каждый, но доступ до сервера, который этот токен обработает есть только с определенных машин.


Вот это кстати тема. Действительно, возможно, в Vault можно ограничить доступ для определенной подсети.
...
Рейтинг: 0 / 0
19.03.2020, 18:46
    #39939286
questioner
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[Vault] Как хранить sensitive данные в проекте ? (креды от баз данных и прочее)
questioner
SpringMan
этот токен может знать каждый, но доступ до сервера, который этот токен обработает есть только с определенных машин.


Вот это кстати тема. Действительно, возможно, в Vault можно ограничить доступ для определенной подсети.


Но что-то нагуглить не смог я ничего по запросу Vault ip white listing
...
Рейтинг: 0 / 0
19.03.2020, 19:18
    #39939299
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[Vault] Как хранить sensitive данные в проекте ? (креды от баз данных и прочее)
questioner
Где опасения?
конкретнее.
Админского пароля к бд там нет. Есть пароль юзверя от приложения.
Нвпример
- логин = Склад
- пароль = 12346
Это для приложения склад.
Далее, этим паролем нельзя зайти снаружи.
Прлучается у тебя паранойя.
...
Рейтинг: 0 / 0
19.03.2020, 19:19
    #39939301
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[Vault] Как хранить sensitive данные в проекте ? (креды от баз данных и прочее)
questioner
Говорят, что безопасно можно хранить в каком-нить Vault( https://www.vaultproject.io/)
который сам имеет дырки))))
...
Рейтинг: 0 / 0
19.03.2020, 21:18
    #39939329
questioner
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[Vault] Как хранить sensitive данные в проекте ? (креды от баз данных и прочее)
PetroNotC Sharp,

PetroNotC SharpДалее, этим паролем нельзя зайти снаружи.


Если вайтлистинг есть?

Какая разница админ юзер или не админ если даже этот юзер может вычистить все данные из таблиц
...
Рейтинг: 0 / 0
19.03.2020, 21:22
    #39939330
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[Vault] Как хранить sensitive данные в проекте ? (креды от баз данных и прочее)
Автор посмотри проект http://www.jasypt.org/

В нем решена проблема безопасного хранения паролей в исходниках и конфигах.
...
Рейтинг: 0 / 0
20.03.2020, 05:41
    #39939360
mad_nazgul
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[Vault] Как хранить sensitive данные в проекте ? (креды от баз данных и прочее)
mayton
Автор посмотри проект http://www.jasypt.org/

В нем решена проблема безопасного хранения паролей в исходниках и конфигах.


Можно еще посмотреть проект Spring Cloud.
Где есть инструменты для хранения и получения настроек с выделенного сервера.
Но jasypt гораздо проще в использовании.
...
Рейтинг: 0 / 0
20.03.2020, 07:37
    #39939372
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[Vault] Как хранить sensitive данные в проекте ? (креды от баз данных и прочее)
questioner
Если вайтлистинг есть?
мммм подробнее. Это что? И почему появится возможность сделать drop table снаружи?
Обычно бд вообще снаружи на порту не висит. Ты о чем?
questioner
Какая разница админ юзер или не админ если даже этот юзер может вычистить все данные из таблиц

Что то у тебя все без разницы - root опрерационки, sys субд и чтение/запись бд "блокнотик" у тебя все на одно лицо.
А защита это эшелонированная оборона.
Имея пароль приложения блокнотик, ты не зальешь туда скрипт чтобы выполнить свой вредоносный код.
Паранойя.
...
Рейтинг: 0 / 0
20.03.2020, 07:41
    #39939373
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[Vault] Как хранить sensitive данные в проекте ? (креды от баз данных и прочее)
mayton
Автор посмотри проект http://www.jasypt.org/

В нем решена проблема безопасного хранения паролей в исходниках и конфигах.
если прогер сам читает /пишет пароль в исходниках, то кто мешает закодировать его MD5?
Если это делает волшебство спринга, тогда конечно)
...
Рейтинг: 0 / 0
20.03.2020, 08:31
    #39939381
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[Vault] Как хранить sensitive данные в проекте ? (креды от баз данных и прочее)
Я не понял причину беспокойства.

Опиши какая видеться угроза. И мы подумаем как это фиксить.
...
Рейтинг: 0 / 0
20.03.2020, 15:08
    #39939582
just_vladimir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[Vault] Как хранить sensitive данные в проекте ? (креды от баз данных и прочее)
Храните в репозитории исходных кодов только шаблон настроечного файла, а не сами настройки. Каждое окружение куда выполняется деплой должно иметь свою копию этого настроечного файла, которое лежит рядом с приложением и не затирается при обновлении приложения, изменения в этот настроечный файл могут внести только администраторы соответствующего сервера.

Вторая потенциальная проблема, это то, что properties файл это plain text, а нужно сделать так, чтобы глазками пароль в явном виде никто не мог увидеть, вот тут и появляются всякие vault'ы, и тогда в plain text (в properties файле) мы храним ссылку на идентификатор пароля, а не сам пароль, а дальше приложение обращается к хранилищу и получает пароль по идентифкатору.
...
Рейтинг: 0 / 0
20.03.2020, 16:20
    #39939614
questioner
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[Vault] Как хранить sensitive данные в проекте ? (креды от баз данных и прочее)
just_vladimir
Храните в репозитории исходных кодов только шаблон настроечного файла, а не сами настройки. Каждое окружение куда выполняется деплой должно иметь свою копию этого настроечного файла, которое лежит рядом с приложением и не затирается при обновлении приложения, изменения в этот настроечный файл могут внести только администраторы соответствующего сервера.

Вторая потенциальная проблема, это то, что properties файл это plain text, а нужно сделать так, чтобы глазками пароль в явном виде никто не мог увидеть, вот тут и появляются всякие vault'ы, и тогда в plain text (в properties файле) мы храним ссылку на идентификатор пароля, а не сам пароль, а дальше приложение обращается к хранилищу и получает пароль по идентифкатору.

а если это AWS виртуалка? через ci/cd прокидывать этот файл ? где этот ci/cd будет брать этот файл?

Что такое идентификатор пароля? в чем его предназначение ?
...
Рейтинг: 0 / 0
20.03.2020, 16:56
    #39939634
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[Vault] Как хранить sensitive данные в проекте ? (креды от баз данных и прочее)
questioner
just_vladimir
Храните в репозитории исходных кодов только шаблон настроечного файла, а не сами настройки. Каждое окружение куда выполняется деплой должно иметь свою копию этого настроечного файла, которое лежит рядом с приложением и не затирается при обновлении приложения, изменения в этот настроечный файл могут внести только администраторы соответствующего сервера.

Вторая потенциальная проблема, это то, что properties файл это plain text, а нужно сделать так, чтобы глазками пароль в явном виде никто не мог увидеть, вот тут и появляются всякие vault'ы, и тогда в plain text (в properties файле) мы храним ссылку на идентификатор пароля, а не сам пароль, а дальше приложение обращается к хранилищу и получает пароль по идентифкатору.

а если это AWS виртуалка? через ci/cd прокидывать этот файл ? где этот ci/cd будет брать этот файл?

Что такое идентификатор пароля? в чем его предназначение ?

Ничего никуда прокидывать не надо. AWS-security это вообще отдельная тема. У них есть своя коробочная
технология IAM roles. Вообще их идея заключается в том чтобы полностью разделить код и безопасность.
Код пишут разрабы. И указывают в cloudformation скриптах только НАЗВАНИЯ ОБЪЕКТОВ и ДЕЙСТВИЯ
которые они хотят над объектом делать. Вся остальная часть отдается админам и девопсам. Они ведают
ключами и прописывают их и енваронменты для всех сервисов облака (EC2, RDS, S3, Lambda e.t.c.)
...
Рейтинг: 0 / 0
20.03.2020, 17:43
    #39939652
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[Vault] Как хранить sensitive данные в проекте ? (креды от баз данных и прочее)
questioner
а если это AWS виртуалка?
хм...
Облачные технологии всплыли.
Топик про них что ли?
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / [Vault] Как хранить sensitive данные в проекте ? (креды от баз данных и прочее) / 25 сообщений из 26, страница 1 из 2
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]