Как защитить Jenkins от суперпользователей?

Как защитить Jenkins от суперпользователей?

Любой суперпользователь, имеющий доступ к Jenkins, работающему на сервере Linux, может легко отключить аутентификацию безопасности из файла config.xml; затем войти в систему и расшифровать конфиденциальные пароли из консоли.

Как разработчик приложения может защитить Jenkins (или любое другое программное обеспечение) от администраторов сервера, на котором размещено приложение?

Есть ли способ отслеживать изменения в файле, чтобы защититься от суперпользователей?

решение1

Короткий ответ - не можете. У них есть доступ к консоли, физическим дискам и т. д.

Длинный ответ: Вам нужно ограничить доступ администраторов к этим машинам, более детальные политики, аудит. Что это значит? Вы даете root-доступ только администраторам, подписавшим NDA, вы разрешаете некоторым из них только определенные операции на машине через sudo, вы регистрируете весь доступ к удаленной syslogмашине. Вы ограничиваете то, что установлено. Вы можете проводить аудит доступа к файлам с помощью auditdи auditctl. На ext4 вы можете сделать файл неизменяемым с помощьюchattr +i <filename>

Другой альтернативой является использование очень простой ОС, в которой есть только приложение и нет доступа по SSH или консоли.

Связанный контент