Моя работа как администратора Linux - отказываться от корневых привилегий приложений или работа разработчиков приложений? [закрыто]

dc3dd if=/proc/kcore of=/mount/.
6
12.02.2018, 13:02
3 ответа

В качестве администратора Linux я выполняю какую-то задачу по отказу от root-привилегий приложений, работающих в моих системах?

Да. Это ваша работа - убедиться, что это сделано. Если приложение этого не делает, вы должны заметить, что приложение этого не делает, и сделать это самостоятельно.

Или я просто полагаюсь на разработчиков приложений, чтобы убедиться, что они написали свой код для этого?

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

9
27.01.2020, 20:22

Обязанностью программиста приложения является обеспечение того, чтобы приложение теряло привилегии root и работало с непривилегированными правами. Если приложение этого не делает, вы ничего не можете с этим поделать - кроме отказа от использования приложения, отправки отчета об ошибке разработчику или внесения необходимых изменений в код самостоятельно.

С другой стороны, вы , как администратор, выбираете, от имени какого пользователя запускается приложение; Золотое правило - никогда не предоставлять процессу больше привилегий, чем необходимо для его запуска. Таким образом, вы можете создать непривилегированного пользователя - загляните в / etc / passwd , чтобы получить представление о системных учетных записях - и запустить приложение от имени этого пользователя. (Вам редко приходится делать это вручную; обычно все это делается при установке программного обеспечения через диспетчер пакетов.) Однако, если приложение требует для запуска привилегий root, а затем не может отказаться от таких привилегий в середине бег, то это выходит из-под вашего контроля.

Например, более старые версии sendmail требовали запуска SUID root, что было дырой в безопасности, если удаленному злоумышленнику удавалось успешно использовать уязвимость программы.Если бы у вас был sendmail , работающий только как почтовый ретранслятор, вы могли бы запустить его как непривилегированный пользователь.

3
27.01.2020, 20:22

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

Пользователь, развертывающий приложения Tomcat / Java или веб-страницы, или развертывающий приложение с доступом к базе данных, редко имеет незначительные или незначительные законные потребности в корневом доступе.

В настоящее время большинство фреймворков также отбрасывают root по умолчанию.

Например, здесь для разработчиков, использующих Java-фреймворки, мы просто даем разработчикам доступ к непривилегированному пользователю, способному к развертыванию, а некоторые команды sudo ограничены (повторным) запуском и остановкой нескольких ключевых служб.

Я бы сказал, что работа с производственными серверами не входит в обязанности команды разработчиков.

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

3
27.01.2020, 20:22

Теги

Похожие вопросы