Представлен открытый проект Landrun — это облегчённая песочница Linux с Landlock, не требующая root. Исходный текст решения написан разработчиком Армин Ранджбар на Go и Shell и опубликован на GitHub под лицензией MIT.
Landlock — это встроенный в ядро модуль безопасности Linux (LSM), который позволяет непривилегированным процессам ограничивать себя (помещать себя в песочницу). Эта опция есть в ядре Linux с версии 5.13, но её API неудобно использовать напрямую.
«Меня всегда чертовски раздражало запускать случайные двоичные файлы из интернета без реального контроля над тем, к чему они могут получить доступ. Я выпустил Landrun, инструмент командной строки на основе Go, который оборачивает Linux Landlock (5.13+) для изоляции любого процесса без root, контейнеров или seccomp. Представьте себе firejail, но с безопасностью на уровне ядра, минимальными накладными расходами и встроенный в ядро. Поддерживает точный доступ к файлам (ro/rw/exec) и ограничения портов TCP (6.7+). Никаких демонов, никакого YAML, только флаги», — пояснил автор проекта.
Landrun разработан для того, чтобы сделать практичным помещение любой команды в песочницу с возможностью управления файловой системой и сетевым доступом. Без root. Без контейнеров. Без конфигураций SELinux/AppArmor. Этот проект охватывает функции Landlock v5 (доступ к файлам + ограничения TCP).
Возможности решения Landrun:
безопасность на уровне ядра с использованием Landlock;
лёгкое и быстрое выполнение;
детальный контроль доступа к каталогам и файлам;
поддержка путей чтения и записи;
разрешения на выполнение для конкретных путей;
управление доступом к сети TCP (привязка и подключение).
Требования для работы Landrun:
ядро Linux 5.13 или более поздняя версия с включённым Landlock;
ядро Linux 6.7 или более поздняя версия для сетевых ограничений (привязка/подключение TCP);
Go 1.18 или более поздняя версия (для сборки из исходного кода).
Источник новости: habr.com