Назад | Перейти на главную страницу

Является ли зашифрованное хранилище паролей Jenkins / Hudson "безопасным"?

При настройке нашего сервера Jenkins / Hudson недавно стало ясно, что он должен хранить пароли. Кажется, что он хранит пароли, «зашифрованные» в config.xml. Я не понимаю, насколько это безопасно, поскольку цепочка секретов должна где-то нарушаться.

Я должен указать, что мы используем Jenkins 1.425.

Похоже, что он зашифрован AES128 с использованием ключа, хранящегося локально. Вы совершенно правы в том, что это, по сути, просто слой неясности - концептуально, единственные варианты, доступные в такой ситуации, - это требовать ввода пароля при запуске службы в качестве ключа дешифрования или хранить ключ где-нибудь локально; хороший аналог - зашифрованные SSL-сертификаты для веб-сервера.

Комментарии в коде для hudson.util.Secret class дают понять, что они понимают ограничения безопасности этого метода:

Glorified String, которая использует шифрование в постоянной форме, чтобы избежать случайного раскрытия секрета. Обратите внимание, что поскольку криптография полагается на Hudson.getSecretKey (), это не означает защиту от кода, запущенного на той же виртуальной машине, или от злоумышленника, имеющего доступ к локальной файловой системе.