2012-11-12 2 views
1

Я являюсь частью приложения Java Spring Web, которое должно быть очень безопасным. До сих пор в тестовой среде мы загружаем имя пользователя базы данных & из файла свойств, который находится на пути к классам. Пароль зашифрован с помощью ключа, который мы загружаем из локальной файловой системы.Проблема с сохранением пароля базы данных, Java Web App

Моя задача - найти лучший способ (более безопасный), используя только программные инструменты. Я думал о том, чтобы указать имя пользователя и пароль db при запуске webapp или smth (но все равно не выглядит нормально, потому что администратор базы данных должен присутствовать при запуске). Помимо этого я застрял.

Каков наилучший способ решить эту проблему?

+0

http://docs.oracle.com/javase/6/docs/api/java/security/KeyStore.html попробуйте java's keystore. Я несколько раз читал об этом, и я предполагаю, что это может быть полезно. Я никогда не использовал его, хотя – tagtraeumer

+0

Если вы не хотите хранить его на том же компьютере, вы всегда можете создать удаленный сервис, из которого вы можете прочитать учетные данные. Вы можете получить доступ к этой услуге с использованием зашифрованного канала (скажем, SSL). – ShyJ

+0

Не будет ли такое же рассмотрение применительно к учетным данным для доступа к службе и дешифрации ее ответа? –

ответ

0

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

Один из способов ограничивает его, так что только IP-сервер приложений использует только IP-адрес. Сделайте так, чтобы база данных только прослушивала частные (внутренние) сетевые подключения.

Пароль - это красная сельдь.