@wildDAlex

Как хранить пароли в конфигурационных файлах Ruby-приложения?

Имеется Ruby(Sinatra)-приложение. В конфигурационных yml-файлах рядом с кодом хранится масса конфиденциальной информации, в открытом виде, в основном логины и пароли к внешним сервисам. Очевидно это не есть хорошо.
Собственно вопрос, какую методику применить к хранению всех этих настроек, какие паттерны сейчас используются в данных случаях?
1. Шифровать данные означает их расшифровывать. Ruby - скриптовый язык, в результате логика расшифровки на виду.
2. Хранить не пароли, а необратимые хеши паролей. Не вариант. В основном это пароли к внешним сервисам, которые принимают сами пароли, а не их модификации.
3. Хранить параметры в переменных среды ОС. Мне кажется это тоже самое, что хранить их в файлах. Или не прав? Тем более настроек много и они динамические. Как их выгружать и устанавливать после перезагрузки ОС?
Какие-то крайне секьюрные варианты не нужны. Достаточно обезопасить данные от лиц, имеющих доступ к файловой системе.
Буду благодарен за элегантные практики.
  • Вопрос задан
  • 381 просмотр
Пригласить эксперта
Ответы на вопрос 2
Dem1
@Dem1
Ruby on Rails developer
gem dotenv and gem figaro
Ответ написан
Комментировать
@vsuhachev
Ставьте на такие файлы ограниченные права на просмотр для всех пользователей кроме единственного вашего. И не давайте всем рута. ACL в файловых системах для этого и внедрен.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы