Випуск системи ізоляції програм Firejail 0.9.72

Опубліковано реліз проекту Firejail 0.9.72, що розвиває систему для ізольованого виконання графічних, консольних і серверних додатків, що дозволяє мінімізувати ризик компрометації основної системи при запуску не заслуговують на довіру або потенційно вразливих програм. Програма написана мовою Сі, розповсюджується під ліцензією GPLv2 і може працювати в будь-якому дистрибутиві Linux з ядром старше 3.0. Готові пакети з Firejail підготовлені у форматах deb (Debian, Ubuntu) та rpm (CentOS, Fedora).

Для ізоляції Firejail використовуються простори імен (namespaces), AppArmor і фільтрація системних викликів (seccomp-bpf) в Linux. Після запуску програма та всі її дочірні процеси використовують окремі уявлення ресурсів ядра, таких як мережевий стек, таблиця процесів та точки монтування. Залежні між собою програми можна поєднувати в один спільний sandbox. За бажання Firejail можна застосовувати і для запуску контейнерів Docker, LXC та OpenVZ.

На відміну від засобів контейнерної ізоляції, firejail гранично простий у конфігурації і не вимагає підготовки системного образу - склад контейнера формується на льоту на основі вмісту поточної ФС і видаляється після завершення роботи програми. Надаються гнучкі засоби завдання правил доступу до файлової системи, можна визначати до яких файлів і директорій дозволено або заборонено доступ, підключати для даних тимчасові ФС (tmpfs), обмежувати доступ до файлів або директорій тільки на читання, поєднувати директорії через bind-mount і overlayfs.

Для багатьох популярних додатків, у тому числі для Firefox, Chromium, VLC і Transmission, підготовлені готові профілі ізоляції системних викликів. Для отримання привілеїв, необхідних для налаштування ізольованого оточення, файл firejail, що виконується, встановлюється з прапором SUID root (після ініціалізації привілею скидаються). Для виконання програми в режимі ізоляції достатньо вказати ім'я програми як аргумент утиліти firejail, наприклад, firejail firefox або sudo firejail /etc/init.d/nginx start.

У новому випуску:

  • Додано seccomp-фільтр системних викликів, що блокує створення просторів імен (для включення додано опцію «restrict-namespaces»). Оновлено таблиці системних викликів та групи seccomp.
  • Покращено режим force-nonewprivs (NO_NEW_PRIVS), що забороняє отримання додаткових привілеїв у нових процесах.
  • Додана можливість використання власних профілів AppArmor (для підключення запропоновано опцію «apparmor»).
  • У системі відстеження мережевого трафіку nettrace, що відображає відомості про IP та інтенсивність трафіку з кожної адреси, реалізовано підтримку ICMP та запропоновано опції «—dnstrace», «—icmptrace» та «—snitrace».
  • Видалено команди —cgroup та —shell (за умовчанням застосовується —shell=none). За замовчуванням припинено складання firetunnel. Вимкнено налаштування chroot, private-lib та tracelog у /etc/firejail/firejail.config. Припинено підтримку grsecurity.

Джерело: opennet.ru

Додати коментар або відгук