|
[Vault] Как хранить sensitive данные в проекте ? (креды от баз данных и прочее)
|
|||
---|---|---|---|
#18+
Очевидно не гуд хранить данные наподобие кредов в открытом виде. Особенно в открытом репозитории. Для примера есть у нас spring boot application с традиционным applcation.properties в котором удобно прописать урл к базе и логин с паролем. Но ведь этот файл лежит в репозитории и его видно. Говорят, что безопасно можно хранить в каком-нить Vault( https://www.vaultproject.io/) Вот собсно спринг команда запилила проект специально для Vault и дала пример: https://spring.io/guides/gs/vault-config/ В этом примере мы перенесли все данные в Vault но у нас теперь есть токен Vault чтобы обращаться к этому Vault. Да, удобно централизованно управлять конфигурациями, но с точки зрения security если этот токен в репозитории хранить, то это только на один шаг(не самый сложный мягко говоря) усложнит работу хакеру. Проясните ситуацию, плиз ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2020, 16:52 |
|
[Vault] Как хранить sensitive данные в проекте ? (креды от баз данных и прочее)
|
|||
---|---|---|---|
#18+
questioner, Оракле при записи пароля смотрит, человек ли его записал (не шифрован). Если человек то стирает и пишет зашифрованную версию. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2020, 17:00 |
|
[Vault] Как хранить sensitive данные в проекте ? (креды от баз данных и прочее)
|
|||
---|---|---|---|
#18+
PetroNotC Sharp questioner, Оракле при записи пароля смотрит, человек ли его записал (не шифрован). Если человек то стирает и пишет зашифрованную версию. Spring security тоже хранит пароли в шифрованном виде и по этому хешу нельзя вычислить оригинал, зато легко проверить матчится ли строка на хеш, НО вопрос не про Оракл и не про spring security ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2020, 17:06 |
|
[Vault] Как хранить sensitive данные в проекте ? (креды от баз данных и прочее)
|
|||
---|---|---|---|
#18+
questioner если этот токен в репозитории хранить Ну так его не надо хранить в репозитории. Он хранится в специальных_админских_шнягах, которые прокидывают его в приложение через параметры/переменные окружения при старте. А вот эти специальные_админские_шняги уже запаролены. Для обычных логинов и паролей к базе тут аналогично на самом деле. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2020, 17:16 |
|
[Vault] Как хранить sensitive данные в проекте ? (креды от баз данных и прочее)
|
|||
---|---|---|---|
#18+
questioner, А про что вопрос? Переведите ваши опасения про матчится.... ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2020, 17:17 |
|
[Vault] Как хранить sensitive данные в проекте ? (креды от баз данных и прочее)
|
|||
---|---|---|---|
#18+
questioner Но ведь этот файл лежит в репозитории и его видно но ведь репозитарий в свою очередь тоже защищен от несанкционированного доступа. а если не достаточно, то не храните в репозитарии, храните только непосредственно на сервере, где приложение работает. сервер-то достаточно защищен или тоже нет? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2020, 17:23 |
|
[Vault] Как хранить sensitive данные в проекте ? (креды от баз данных и прочее)
|
|||
---|---|---|---|
#18+
chpasha, Репо же разработчиков. Не боевой? Или я что то не понял? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2020, 17:25 |
|
[Vault] Как хранить sensitive данные в проекте ? (креды от баз данных и прочее)
|
|||
---|---|---|---|
#18+
PetroNotC Sharp questioner, А про что вопрос? Переведите ваши опасения про матчится.... Где опасения? Вопрос про хранение secrets ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2020, 17:44 |
|
[Vault] Как хранить sensitive данные в проекте ? (креды от баз данных и прочее)
|
|||
---|---|---|---|
#18+
SpringMan questioner если этот токен в репозитории хранить Ну так его не надо хранить в репозитории. Он хранится в специальных_админских_шнягах, которые прокидывают его в приложение через параметры/переменные окружения при старте. А вот эти специальные_админские_шняги уже запаролены. Для обычных логинов и паролей к базе тут аналогично на самом деле. специальная_админская_шняга это кубернетис например? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2020, 17:46 |
|
[Vault] Как хранить sensitive данные в проекте ? (креды от баз данных и прочее)
|
|||
---|---|---|---|
#18+
chpasha questioner Но ведь этот файл лежит в репозитории и его видно но ведь репозитарий в свою очередь тоже защищен от несанкционированного доступа. а если не достаточно, то не храните в репозитарии, храните только непосредственно на сервере, где приложение работает. сервер-то достаточно защищен или тоже нет? Если репка защищена, то можно все конфиги прямо в ней и хранить, но зачем тогда Vault ? Что такого он даёт? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2020, 17:47 |
|
[Vault] Как хранить sensitive данные в проекте ? (креды от баз данных и прочее)
|
|||
---|---|---|---|
#18+
questioner специальная_админская_шняга это кубернетис например? В нем тоже есть какая-то подобная шняга. Вообще админ руками может в переменную окружения добавить это значение и все - это без_специальных_админских_шняг. Ну и плюс этот токен может знать каждый, но доступ до сервера, который этот токен обработает есть только с определенных машин. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2020, 17:56 |
|
[Vault] Как хранить sensitive данные в проекте ? (креды от баз данных и прочее)
|
|||
---|---|---|---|
#18+
SpringMan этот токен может знать каждый, но доступ до сервера, который этот токен обработает есть только с определенных машин. Вот это кстати тема. Действительно, возможно, в Vault можно ограничить доступ для определенной подсети. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2020, 18:04 |
|
[Vault] Как хранить sensitive данные в проекте ? (креды от баз данных и прочее)
|
|||
---|---|---|---|
#18+
questioner SpringMan этот токен может знать каждый, но доступ до сервера, который этот токен обработает есть только с определенных машин. Вот это кстати тема. Действительно, возможно, в Vault можно ограничить доступ для определенной подсети. Но что-то нагуглить не смог я ничего по запросу Vault ip white listing ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2020, 18:46 |
|
[Vault] Как хранить sensitive данные в проекте ? (креды от баз данных и прочее)
|
|||
---|---|---|---|
#18+
questioner Где опасения? Админского пароля к бд там нет. Есть пароль юзверя от приложения. Нвпример - логин = Склад - пароль = 12346 Это для приложения склад. Далее, этим паролем нельзя зайти снаружи. Прлучается у тебя паранойя. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2020, 19:18 |
|
[Vault] Как хранить sensitive данные в проекте ? (креды от баз данных и прочее)
|
|||
---|---|---|---|
#18+
questioner Говорят, что безопасно можно хранить в каком-нить Vault( https://www.vaultproject.io/) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2020, 19:19 |
|
[Vault] Как хранить sensitive данные в проекте ? (креды от баз данных и прочее)
|
|||
---|---|---|---|
#18+
PetroNotC Sharp, PetroNotC SharpДалее, этим паролем нельзя зайти снаружи. Если вайтлистинг есть? Какая разница админ юзер или не админ если даже этот юзер может вычистить все данные из таблиц ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2020, 21:18 |
|
[Vault] Как хранить sensitive данные в проекте ? (креды от баз данных и прочее)
|
|||
---|---|---|---|
#18+
Автор посмотри проект http://www.jasypt.org/ В нем решена проблема безопасного хранения паролей в исходниках и конфигах. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2020, 21:22 |
|
[Vault] Как хранить sensitive данные в проекте ? (креды от баз данных и прочее)
|
|||
---|---|---|---|
#18+
mayton Автор посмотри проект http://www.jasypt.org/ В нем решена проблема безопасного хранения паролей в исходниках и конфигах. Можно еще посмотреть проект Spring Cloud. Где есть инструменты для хранения и получения настроек с выделенного сервера. Но jasypt гораздо проще в использовании. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2020, 05:41 |
|
[Vault] Как хранить sensitive данные в проекте ? (креды от баз данных и прочее)
|
|||
---|---|---|---|
#18+
questioner Если вайтлистинг есть? Обычно бд вообще снаружи на порту не висит. Ты о чем? questioner Какая разница админ юзер или не админ если даже этот юзер может вычистить все данные из таблиц Что то у тебя все без разницы - root опрерационки, sys субд и чтение/запись бд "блокнотик" у тебя все на одно лицо. А защита это эшелонированная оборона. Имея пароль приложения блокнотик, ты не зальешь туда скрипт чтобы выполнить свой вредоносный код. Паранойя. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2020, 07:37 |
|
[Vault] Как хранить sensitive данные в проекте ? (креды от баз данных и прочее)
|
|||
---|---|---|---|
#18+
mayton Автор посмотри проект http://www.jasypt.org/ В нем решена проблема безопасного хранения паролей в исходниках и конфигах. Если это делает волшебство спринга, тогда конечно) ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2020, 07:41 |
|
[Vault] Как хранить sensitive данные в проекте ? (креды от баз данных и прочее)
|
|||
---|---|---|---|
#18+
Я не понял причину беспокойства. Опиши какая видеться угроза. И мы подумаем как это фиксить. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2020, 08:31 |
|
[Vault] Как хранить sensitive данные в проекте ? (креды от баз данных и прочее)
|
|||
---|---|---|---|
#18+
Храните в репозитории исходных кодов только шаблон настроечного файла, а не сами настройки. Каждое окружение куда выполняется деплой должно иметь свою копию этого настроечного файла, которое лежит рядом с приложением и не затирается при обновлении приложения, изменения в этот настроечный файл могут внести только администраторы соответствующего сервера. Вторая потенциальная проблема, это то, что properties файл это plain text, а нужно сделать так, чтобы глазками пароль в явном виде никто не мог увидеть, вот тут и появляются всякие vault'ы, и тогда в plain text (в properties файле) мы храним ссылку на идентификатор пароля, а не сам пароль, а дальше приложение обращается к хранилищу и получает пароль по идентифкатору. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2020, 15:08 |
|
[Vault] Как хранить sensitive данные в проекте ? (креды от баз данных и прочее)
|
|||
---|---|---|---|
#18+
just_vladimir Храните в репозитории исходных кодов только шаблон настроечного файла, а не сами настройки. Каждое окружение куда выполняется деплой должно иметь свою копию этого настроечного файла, которое лежит рядом с приложением и не затирается при обновлении приложения, изменения в этот настроечный файл могут внести только администраторы соответствующего сервера. Вторая потенциальная проблема, это то, что properties файл это plain text, а нужно сделать так, чтобы глазками пароль в явном виде никто не мог увидеть, вот тут и появляются всякие vault'ы, и тогда в plain text (в properties файле) мы храним ссылку на идентификатор пароля, а не сам пароль, а дальше приложение обращается к хранилищу и получает пароль по идентифкатору. а если это AWS виртуалка? через ci/cd прокидывать этот файл ? где этот ci/cd будет брать этот файл? Что такое идентификатор пароля? в чем его предназначение ? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2020, 16:20 |
|
[Vault] Как хранить sensitive данные в проекте ? (креды от баз данных и прочее)
|
|||
---|---|---|---|
#18+
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.) ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2020, 16:56 |
|
|
start [/forum/topic.php?fid=59&msg=39939373&tid=2120855]: |
0ms |
get settings: |
8ms |
get forum list: |
6ms |
check forum access: |
1ms |
check topic access: |
1ms |
track hit: |
50ms |
get topic data: |
2ms |
get forum data: |
1ms |
get page messages: |
396ms |
get tp. blocked users: |
1ms |
others: | 319ms |
total: | 785ms |
0 / 0 |