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

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

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

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

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

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

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

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


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

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

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


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

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

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


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

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


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

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

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


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


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


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

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


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

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

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

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


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

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

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

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

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

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

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

Что такое идентификатор пароля? в чем его предназначение ?
...
Рейтинг: 0 / 0
[Vault] Как хранить sensitive данные в проекте ? (креды от баз данных и прочее)
    #39939634
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
[Vault] Как хранить sensitive данные в проекте ? (креды от баз данных и прочее)
    #39939652
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
questioner
а если это AWS виртуалка?
хм...
Облачные технологии всплыли.
Топик про них что ли?
...
Рейтинг: 0 / 0
[Vault] Как хранить sensitive данные в проекте ? (креды от баз данных и прочее)
    #39941944
Псевдомизантроп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Spring Cloud Config Server

Помимо всего прочего, умеет шифровать пропертис.
...
Рейтинг: 0 / 0
26 сообщений из 26, показаны все 2 страниц
Форумы / Java [игнор отключен] [закрыт для гостей] / [Vault] Как хранить sensitive данные в проекте ? (креды от баз данных и прочее)
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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