2009-07-25 1 views
2

Мне нужно сохранить учетные данные имени пользователя и пароля процессора платежного шлюза на веб-сервере производства, но предпочли бы не делать этого в ясном тексте. Каков наилучший способ хранения этих учетных данных? Являются ли их лучшими методами шифрования и дешифрования этой информации?Как безопасно хранить пароли в файле конфигурации в среде веб-сервера Ruby/Rails?

ответ

2

Это классическая проблема с куриным яйцом. Шифрование вообще не помогает, если вы не можете защитить ключи. И вы, очевидно, не можете.

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

Другой возможностью может быть использование внешнего хранилища аутентификации, если вы не можете принудительно использовать хеширование. Это действительно не решает проблему, но вы можете контролировать векторы атаки и сделать ее более безопасной, разрешив только очень специфический контакт с фактическим источником с важными данными.

1
  1. Магазин за пределами любого каталога, доступного в Интернете.
  2. Убедитесь, что только приложения имеют доступ на чтение.
  3. Harden server.
+0

Имеет ли значение, если учетные данные зашифрованы? На мой взгляд, это не похоже на то, что, если злоумышленник компрометирует сервер, они также могут восстановить ключ для дешифрования всей информации. –

+0

Да, это мое мышление. Если они компрометируют ваш сервер, они могут просто проверить ваш источник, чтобы узнать, как вы дешифруете. – thedz

Смежные вопросы