Firejail 0.9.72 Wersja izolacji aplikacji

Opublikowano wersję projektu Firejail 0.9.72, który rozwija system do izolowanego wykonywania aplikacji graficznych, konsolowych i serwerowych, pozwalający zminimalizować ryzyko naruszenia bezpieczeństwa głównego systemu podczas uruchamiania niewiarygodnych lub potencjalnie podatnych na ataki programów. Program napisany w języku C, rozpowszechniany na licencji GPLv2 i może działać na dowolnej dystrybucji Linuksa z jądrem starszym niż 3.0. Gotowe pakiety Firejail przygotowywane są w formatach deb (Debian, Ubuntu) i obr./min (CentOS, Fedora).

Do izolacji Firejail używa przestrzeni nazw, AppArmor i filtrowania wywołań systemowych (seccomp-bpf) w systemie Linux. Po uruchomieniu program i wszystkie jego procesy potomne korzystają z oddzielnych widoków zasobów jądra, takich jak stos sieciowy, tabela procesów i punkty podłączenia. Aplikacje zależne od siebie można połączyć w jedną wspólną piaskownicę. W razie potrzeby Firejail może być również używany do uruchamiania kontenerów Docker, LXC i OpenVZ.

W przeciwieństwie do narzędzi do izolacji kontenerów, Firejail jest niezwykle prosty w konfiguracji i nie wymaga przygotowania obrazu systemu - kompozycja kontenera tworzona jest na bieżąco na podstawie zawartości bieżącego systemu plików i jest usuwana po zakończeniu działania aplikacji. Dostępne są elastyczne sposoby ustawiania reguł dostępu do systemu plików; możesz określić, które pliki i katalogi mają dostęp, a które nie, podłączyć tymczasowe systemy plików (tmpfs) do danych, ograniczyć dostęp do plików lub katalogów do tylko do odczytu, łączyć katalogi poprzez mocowanie wiązania i nakładki.

Dla dużej liczby popularnych aplikacji, m.in. Firefox, Chromium, VLC i Transmission, przygotowano gotowe profile izolacji wywołań systemowych. Aby uzyskać uprawnienia niezbędne do skonfigurowania środowiska piaskownicy, instalowany jest plik wykonywalny Firejail z flagą root SUID (uprawnienia są resetowane po inicjalizacji). Aby uruchomić 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:

  • Dodano filtr seccomp dla wywołań systemowych, który blokuje tworzenie przestrzeni nazw (dodano opcję „--restrict-namespaces”, aby włączyć). Zaktualizowano tabele wywołań systemowych i grupy seccomp.
  • Ulepszony tryb force-nonewprivs (NO_NEW_PRIVS), który uniemożliwia nowym procesom uzyskanie dodatkowych uprawnień.
  • Dodano możliwość korzystania z własnych profili AppArmor (dla połączenia dostępna jest opcja „--apparmor”).
  • System śledzenia ruchu sieciowego nettrace, który wyświetla informacje o IP i natężeniu ruchu z każdego adresu, implementuje obsługę ICMP i oferuje opcje „--dnstrace”, „--icmptrace” i „--snitrace”.
  • Polecenia --cgroup i --shell zostały usunięte (wartość domyślna to --shell=none). Kompilacja Firetunnel jest domyślnie zatrzymana. Wyłączono ustawienia chroot, private-lib i tracelog w pliku /etc/firejail/firejail.config. Wsparcie dla grsecurity zostało przerwane.

Źródło: opennet.ru

Dodaj komentarz