Wydanie systemu izolacji aplikacji Firejail 0.9.60

Zobaczył światło premiera projektu Firejail 0.9.60, w ramach którego rozwijany jest system do izolowanego uruchamiania aplikacji graficznych, konsolowych i serwerowych. Użycie Firejail pozwala zminimalizować ryzyko kompromitacji głównego systemu podczas uruchamiania niegodnych zaufania lub potencjalnie podatnych programów. Program napisany jest w języku C, rozpowszechniany na licencji GPLv2 i może działać w dowolnej dystrybucji Linuxa z jądrem powyżej 3.0. Gotowe pakiety z Firejail przygotowano w formatach deb (Debian, Ubuntu) i rpm (CentOS, Fedora).

Do izolacji w Firejail używane są przestrzeni nazw (namespaces), AppArmor oraz filtrowanie wywołań systemowych (seccomp-bpf) w systemie Linux. Po uruchomieniu program i wszystkie jego procesy podrzędne korzystają z oddzielnych widoków zasobów jądra, takich jak stos sieciowy, tabela procesów i punkty montowania. Zależne od siebie aplikacje można łączyć w jeden wspólny sandbox. W razie potrzeby Firejail można również stosować do uruchamiania kontenerów Docker, LXC i OpenVZ.

W przeciwieństwie do narzędzi do izolacji kontenerów, firejail jest skrajnie prostym w konfiguracji i nie wymaga przygotowania obrazu systemu — skład kontenera formuje się w locie na podstawie zawartości aktualnego systemu plików i jest usuwany po zakończeniu pracy aplikacji. Udostępniane są elastyczne narzędzia do definiowania reguł dostępu do systemu plików, można określić, do których plików i katalogów dostęp jest dozwolony lub zabroniony, podłączać dla danych tymczasowe systemy plików (tmpfs), ograniczać dostęp do plików lub katalogów tylko do odczytu, łączyć katalogi przez bind-mount oraz overlayfs.

Dla dużej liczby popularnych aplikacji, w tym dla Firefox, Chromium, VLC i Transmission, przygotowano gotowe profile izolacji wywołań systemowych. Aby wykonać program w trybie izolacji, wystarczy podać nazwę aplikacji jako argument narzędzia firejail, na przykład «firejail firefox» lub «sudo firejail /etc/init.d/nginx start».

W nowym wydaniu:

  • Usunięto lukę, która umożliwiała złośliwemu procesowi obejście mechanizmu ograniczania wywołań systemowych. Istota luki polega na tym, że filtry Seccomp są kopiowane do katalogu /run/firejail/mnt, dostępnego do zapisu wewnątrz izolowanego środowiska. Uruchamiane w trybie izolacji procesy złośliwe mogą zmienić te pliki, co prowadzi do tego, że nowe procesy uruchamiane w tym samym środowisku będą wykonywane bez zastosowania filtra wywołań systemowych;
  • W filtrze memory-deny-write-execute zapewniono zablokowanie wywołania «memfd_create»;
  • Dodano nową opcję «private-cwd» do zmiany katalogu roboczego dla jail;
  • Dodano opcję «—nodbus» do blokowania gniazd D-Bus;
  • Przywrócono wsparcie dla CentOS 6;
  • Zakończono wsparcie pakietów w formatach flatpak i snap.
    Określono, że dla tych pakietów należy używać ich własnych narzędzi;
  • Dodano nowe profile do izolacji 87 dodatkowych programów, w tym mypaint, nano, xfce4-mixer, gnome-keyring, redshift, font-manager, gconf-editor, gsettings, freeciv, lincity-ng, openttd, torcs, tremulous, warsow, freemind, kid3, freecol, opencity, utox, freeoffice-planmaker, freeoffice-presentations, freeoffice-textmaker, inkview, meteo-qt, ktouch, yelp i cantata.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster