Защита паролей в производственной среде

У нас есть веб-приложение Java, работающее на JBoss и Linux. Параметры подключения к базе данных производственной среды берутся из файла конфигурации, который существует только на серверах приложений производственной среды. Этот файл конфигурации доступен для чтения только идентификатору пользователя, который также запускает приложение (назовем этого пользователя appuser), и единственные люди, которые могут войти на серверы производственной среды и sudo to appuser, являются членами нашей группы эксплуатации. Сама производственная среда изолирована от всех остальных сред.

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

Еще один фактор, о котором следует помнить, - это то, что группа эксплуатации отвечает за создание и развертывание приложения.

Какие у нас есть варианты? Решение должно поддерживать ручной перезапуск приложения, а также автоматический запуск приложения при перезагрузке ОС.

Обновление

Решение, которое я сейчас исследую (совет Адамски за его предложение, которое примерно переводится в шаг 1):

  1. Напишите исполняемый файл оболочки с setuid для пользователя, который запускает / останавливает приложения и владеет файлами конфигурации и всем в дереве каталогов JBoss.

  2. Используйте jarsigner , чтобы подписать WAR после его создания. Строительство WAR будет производиться путем разработки. Обертка setuid проверит подпись, подтверждая, что WAR не был подделан.

  3. Измените процесс развертывания, чтобы развернуть только подписанный WAR. Оболочка setuid также может перемещать WAR в каталог развертывания JBoss.

6
задан sourcedelica 20 October 2011 в 03:19
поделиться