LINUX.ORG.RU

[java] безопасность jdbc password'а


0

2

Привет.
Есть веб-приложение, написанное на java. Оно подключается к базе. Юзернейм и пароль оно берет из класса Configuration. Как защитить пароль к базе? Ведь, допустим, злоумышленник получил .jar'ку, запускает декомпилятор (например, jd-gui), скармливает ей свой jar'ку и спокойно узнает пароль.
Если пароль зашифровать, то где-то надо будет хранить пароль для расшифровки - его можно будет узнать аналогичным образом.
Есть ли решение?

★★★★★

Ответ на: комментарий от kovrik

В файле конфигурации. Для особой попоболи - получать его (файл конфигурации) посредством сетевого сокета на сервере управления доступом.

GateKeeper ★★ ()
Ответ на: комментарий от kovrik

Для начала поясни момент, что это за «веб-приложение» и «злоумышленник получил .jar'ку».

Если злоумышленник попал на сервер, то все твои защиты — мертвому припарка.

baverman ★★★ ()
Ответ на: комментарий от kovrik

существует ли способ решить проблему?

Сложно представить даже гипотетическую задачу, когда такая жопа может потребоваться.

baverman ★★★ ()

> Как защитить пароль к базе?

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

gandjubas ()
Ответ на: комментарий от maxcom

> нет, и потом тут довольно странная модель угроз.

Допустим веб сервер - физически на одной машине, а БД - на другой, причём у той другой открыт только порт БД для соединения с веб сервером, а зайти внутрь ОС можно только с компа, на котором крутится БД. Тогда, если происходит взлом веб-сервера, злоумышленник не сможет зайти в базу. Для этого ему придётся как-то залезть в оперативку и выковырять пароль к базе оттуда. Это не самая умная схема (т.к. надо соединение с БД также шифровать, т.е. есть ньюансы) , но создаёт предпосылки для лучшей защиты.

gandjubas ()
Ответ на: комментарий от gandjubas

Или я не совсем понял, или такой вариант не подходит. Вот пользователь заходит на страничку, он не админ, его просят ввести credentials. Он вводит. Нужно проверить их - для этого надо подрубиться к базе, а для этого нужно знать пароль...

Тут еще какой вопрос: вот, допустим, злоумышленник попал на сервер, скачал все что надо. Т.е. по идее, ему доступны и пользовательские пароли (в базе), и пароль админа (в декомпилированной jar'ке). НО, пользовательские пароли хранятся в виде хеша, поэтому толку от них будет мало, а вот админский пароль из jar'ки - хранится в открытом виде...Как его защитить?

kovrik ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.