Systemd v256 представляет run0 более безопасную альтернативу sudo

Команда sudo считается одним из основных инструментов в повседневной работе с Linux, настолько, что мы воспринимаем ее присутствие как должное. Но что, если я скажу вам, что ее дни вполне могут быть сочтены, а новые версии systemd могут ознаменовать начало ее заката? Нет, я не бредю. Дело вот в чем.

В своем последнем посте Леннарт Поттеринг, создатель systemd, делится вдумчивой критикой и надежной заменой давно существующей команды sudo.

Он утверждает, что основная проблема sudo заключается в ее SUID-природе, которая позволяет процессу выполняться с повышенными привилегиями, частично контролируемыми непривилегированным кодом, требуя тщательной ручной очистки – рецепт потенциальных брешей в системе безопасности.

Лично я считаю, что самая большая проблема с sudo заключается в том, что это SUID-бинарный код – большая площадь атаки, плагины, доступ к сети и так далее, которые появляются после него, только усугубляют проблему…»

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

Итак, в моем идеальном мире у нас была бы ОС, полностью лишенная SUID. Давайте выбросим концепцию SUID на свалку плохих идей UNIX. Контекст выполнения для привилегированного кода, который наполовину находится под контролем непривилегированного кода и требует тщательной ручной очистки, – это уже не то, чем должна заниматься инженерия безопасности в 2024 году»

run0, последнее нововведение systemd, которое планируется выпустить в версии 256. Это не просто новый инструмент, а переосмысленный systemd-run, доступный через симлинк, который имитирует sudo, не являясь на самом деле бинарным файлом SUID.

Он работает, запрашивая у менеджера служб выполнение команд под UID целевого пользователя, создавая новый PTY (псевдотерминал) и передавая данные между оригинальным TTY и этим PTY.

Такая установка гарантирует, что команда выполняется в изолированной среде, только что отпочковавшись от PID 1, и не наследует от клиента никакого проблемного контекста.

Более того, run0 отказывается от традиционных сложностей конфигурации, используя polkit для авторизации, упрощая взаимодействие с пользователем и дополнительно защищая процесс выполнения.

Инструмент также привносит в работу пользователя изюминку: при работе с повышенными привилегиями он изменяет фон терминала на красноватый оттенок, служащий визуальной подсказкой о повышенном статусе пользователя – простое, но эффективное напоминание о необходимости ответственно подходить к управлению привилегиями.

В заключение можно с уверенностью сказать одно – это вызовет новые дебаты в сообществе Linux. Другая уверенность заключается в том, что systemd v256 завершена на 88%, и до финального стабильного релиза осталось совсем немного. А что будет после этого, еще предстоит узнать.

Подробную информацию можно найти в посте Поттеринга.

Зарубин Иван Эксперт по Linux и Windows

Парашютист со стажем. Много читаю и слушаю подкасты. Люблю посиделки у костра, песни под гитару и приближающиеся дедлайны. Люблю путешествовать.

Похожие статьи

Комментарии (0)