Αποδέσμευση του συστήματος απομόνωσης εφαρμογής Firejail 0.9.62

Μετά από έξι μήνες ανάπτυξης διαθέσιμος έκδοση έργου Firejail 0.9.62, εντός του οποίου αναπτύσσεται ένα σύστημα για μεμονωμένη εκτέλεση εφαρμογών γραφικών, κονσόλας και διακομιστή. Η χρήση του Firejail σάς επιτρέπει να ελαχιστοποιήσετε τον κίνδυνο παραβίασης του κύριου συστήματος κατά την εκτέλεση αναξιόπιστων ή δυνητικά ευάλωτων προγραμμάτων. Το πρόγραμμα είναι γραμμένο σε γλώσσα C, διανέμονται από άδεια σύμφωνα με το 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».

Στη νέα έκδοση:

  • В файл конфигурации /etc/firejail/firejail.config προστέθηκε настройка file-copy-limit, позволяющая ограничить размер файлов, которые будут скопированы в память при использовании опций «—private-*» (по умолчанию ограничение выставлено в 500MB).
  • В каталог /usr/share/doc/firejail добавлены шаблоны для создания новых профилей ограничения приложений.
  • В профилях разрешено использование отладчиков.
  • Улучшена фильтрация системных вызовов при помощи механизма seccomp.
  • Обеспечено автоопределение флагов компилятора.
  • Вызов chroot теперь выполняется не на основе пути, а используя точки монтирования на базе файлового дескриптора.
  • Каталог /usr/share помещён в белый список разнообразных профилей.
  • В секцию conrib добавлены новые вспомогательные скрипты gdb-firejail.sh и sort.py.
  • Усилена защита на стадии выполнения привилегированного кода (SUID).
  • Для профилей реализованы новые условные признаки HAS_X11 и HAS_NET для проверки наличия X-сервера и сетевого доступа.
  • Добавлены профили для изолированного запуска приложений (общее число профилей доведено до 884):
    • i2p,
    • tor-browser (AUR),
    • Zulip,
    • rsync,
    • signal-cli,
    • tcpdump,
    • tshark,
    • qgis,
    • OpenArena,
    • godot,
    • klatexformula,
    • klatexformula_cmdl,
    • συνδέσεις,
    • xlinks,
    • pandoc,
    • teams-for-linux,
    • gnome-sound-recorder,
    • newsbeuter,
    • keepassxc-cli,
    • keepassxc-proxy,
    • rhythmbox-client,
    • jerry,
    • zeal,
    • mpg123,
    • conplay,
    • mpg123.bin,
    • mpg123-alsa,
    • mpg123-id3dump,
    • out123,
    • mpg123-jack,
    • mpg123-nas,
    • mpg123-openal,
    • mpg123-oss,
    • mpg123-portaudio,
    • mpg123-pulse,
    • mpg123-strip,
    • pavucontrol-qt,
    • gnome-characters,
    • gnome-character-map,
    • Whalebird,
    • tb-starter-wrapper,
    • bzcat,
    • kiwix-desktop,
    • bzcat,
    • zstd,
    • pzstd,
    • zstdcat,
    • zstdgrep,
    • zstdless,
    • zstdmt,
    • unzstd,
    • αρ
    • gnome-latex,
    • pngquant,
    • kalgebra,
    • kalgebramobile,
    • amuled,
    • kfind,
    • profanity,
    • audio-recorder,
    • cameramonitor,
    • ddgtk,
    • drawio,
    • unf,
    • gmpc,
    • electron-mail,
    • ουσία,
    • gist-paste.

Πηγή: opennet.ru

Προσθέστε ένα σχόλιο