Первая стабильная версия sudo-rs уже выпущена.

Sudo

Реализация sudo и su в Rust направлена ​​на повышение безопасности этих утилит.

Три месяца назад мы поделились здесь, в блоге, новостью о создании проекта "Sudo-rs" организацией ISRG, которая является основателем проекта Let's Encrypt и способствует развитию технологий повышения безопасности в интернете.

В той публикации мы поделились некоторыми подробностями и характеристиками проекта, который в основном направлен на создание реализаций утилит SUDO и SU на языке Rust (вы можете ознакомиться с публикацией по следующей ссылке ).

Первая стабильная версия sudo-rs

Причина, по которой об этом упоминается, заключается в том, что недавно была запущена первая стабильная версия проекта Sudo-rs , в разработке которой участвовали инженеры из компаний Ferrous Systems и Tweede Golf при финансовой поддержке Google, Cisco и Amazon Web Services.

Для тех, кто не знаком с проектом "Sudo-rs", могу сказать, что его цель — разработка версий утилит SUDO и SU на языке Rust, предназначенных для выполнения команд от имени других пользователей, поскольку SUDO — это консольная утилита в Unix-подобных операционных системах, позволяющая выполнять команды с привилегиями другого пользователя, по умолчанию — суперпользователя root.

Функции `sudo` и `su` в `sudo-rs` были написаны с нуля на Rust — языке, который всё чаще используется и рекомендуется в индустрии, поскольку стал одним из основных языков для Android и даже имеет поддержку в качестве дополнительного языка программирования в ядре Linux. Microsoft, со своей стороны, также неоднократно заявляла о своём намерении переписать ядро ​​и некоторые из содержащихся в нём библиотек Windows.

Упоминается, что утилиты совместимы с классическими утилитами SUDO и SU, где это возможно, что позволяет использовать sudo-rs в качестве прозрачной замены SUDO в типичных сценариях , соответствующих конфигурации /etc/sudoers по умолчанию в Ubuntu и Debian. Sudo-rs уже реализован вместо традиционного пакета SUDO в дистрибутиве Wolfi Linux с целью обеспечения высочайшего уровня безопасности.

Использование языка Rust для разработки SU и SUDO призвано снизить риск уязвимостей, вызванных небезопасной обработкой памяти, и исключить возникновение таких ошибок, как доступ к области памяти после ее освобождения и исчерпание памяти на границах буфера.

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

Среди отличий от SUDO отмечается наличие режима use_pty по умолчанию, среди принципиально нереализованных функций — mail_badpass, а также совместимость с sendmail, а среди функций, которые еще не реализованы, но будут добавлены в будущем: утилита sudoedit, режимы NOEXEC и NOINTERCEPT, поддержка привязки блоков конфигурации «по умолчанию» к отдельным пользователям и командам, возможность аутентификации без использования PAM.

Стоит отметить, что в сентябре ожидается подтверждение качества реализации, а также запланирован независимый аудит кодовой базы sudo-rs.

Кроме того, упоминается, что во второй версии планируется добавить инструменты для работы в многопользовательских средах , такие как режим NOEXEC, журналы аудита, возможность сопоставления хостов для sudoers и поддержка до 16 групп пользователей. Третья версия планируется к выпуску в совместимости с конфигурацией sudoers , используемой в Fedora, а также добавит утилиту sudoedit и будет использовать механизмы SELinux и AppArmor для повышения безопасности.

Наконец , если вас интересует более подробная информация по этой теме , вы можете найти ее по следующей ссылке.


Добавить в качестве предпочтительного источника в Google