Landrun: песочница для Linux-процессов без контейнеров — 28 июля 2026 г. в 12:43:05.032
Landrun: песочница для Linux-процессов без контейнеров 👋 Приветствую в мире цифровой безопасности! Расскажу о еще одном супер полезном инструменте. ⏺Landrun - это лёгкий sandbox для запуска Linux-программ через встроенный механизм ядра Landlock. По смыслу похож на Firejail, но без root, контейнеров и сложных профилей. Процесс сам запускается с ограничениями: какие файлы читать, куда писать, какие порты открывать и куда подключаться. ⏺Главная идея Landlock: не дать программе лишние права с самого начала. Например, вместо запуска: python3 script.py где Python видит всю систему, можно ограничить его: landrun \ --rox /usr \ --ro /etc \ --rw /tmp \ python3 script.py Теперь интерпретатор может запускать библиотеки из /usr, читать конфиги из /etc и писать только в /tmp. ⏺Полностью закрытая среда: landrun ls Без указанных разрешений программа получает максимальные ограничения. Даже обычный ls не сможет нормально работать, пока явно не дать ему доступ. ⏺Только чтение каталога: landrun \ --rox /usr/bin \ --ro /var/www \ ls /var/www Программа сможет посмотреть файлы сайта, но не изменить их. ⏺Разрешить запись только в одну папку: landrun \ --rox /usr \ --ro /lib,/lib64 \ --rw /opt/app/data \ ./app Даже если приложение уязвимо, оно сможет создавать файлы только внутри /opt/app/data. ⏺Ограничение сети: landrun \ --rox /usr \ --ro /etc \ --connect-tcp 443 \ curl https://example.com В таком режиме процесс сможет подключаться только к TCP-порту 443. Можно также ограничить серверные приложения: landrun \ --rox /usr/bin,/usr/lib \ --ro /etc/nginx \ --rwx /var/log/nginx \ --bind-tcp 443 \ nginx -g "daemon off;" Nginx получит только доступ к своим бинарникам, конфигурации, логам и порту 443. ⏺Проблема sandbox’ов - зависимости. Программа может использовать десятки библиотек, которые нужно разрешить отдельно. Landrun умеет найти их автоматически: landrun \ --ldd \ --add-exec \ /usr/bin/curl Он добавит сам бинарник и необходимые shared libraries. ⏺Аудит отказов: landrun \ --log-level debug \ --rox /usr \ strace -f ls Помогает понять, какой файл или ресурс приложению нужен, чтобы собрать минимальную политику доступа. 🤖Бесплатный ChatGPT

