Straż Pożarna to framework, który rozwija system do izolowanego wykonywania aplikacji graficznych, konsola i serwer. Korzystanie z Firejail minimalizuje ryzyko naruszenia systemu main podczas uruchamiania niewiarygodnych lub potencjalnie podatnych na ataki programów. Program jest napisany w C, rozpowszechniany na licencji GPLv2 i może działać na dowolnej dystrybucji Linuksa.
Straż Pożarna używa przestrzeni nazw, AppArmor i filtrowania wywołań systemowych (seccomp-bpf) w systemie Linux w celu izolacji. Po uruchomieniu program i wszystkie jego procesy potomne używają oddzielnych reprezentacji zasobów jądra, takich jak stos sieciowy, tabela procesów i punkty podłączenia.
Zależne aplikacje można łączyć we wspólnej piaskownicy. W razie potrzeby Firejail może być również używany do uruchamiania kontenerów Docker, LXC i OpenVZ.
O Firejail
W przeciwieństwie do narzędzi do izolacji kontenerów, Firejail jest niezwykle prosty w konfiguracji i nie wymaga przygotowania obrazu systemu: skład kontenera jest tworzony na podstawie zawartości bieżącego systemu plików i jest usuwany po zakończeniu aplikacji.
Se zapewniają elastyczne narzędzia do ustawiania reguł dostępu do systemu plików, Możesz określić, które pliki i katalogi mają dostęp zabroniony lub zabroniony, podłączać tymczasowe systemy plików (tmpfs) dla danych, ograniczać dostęp tylko do odczytu do plików lub katalogów, łączyć katalogi za pomocą bind-mount i overlayfs.
Dla wielu popularnych aplikacji, w tym Firefox, Chromium, VLC i innych, zostały przygotowane profile izolacji połączeń systemowych.
Aby uzyskać uprawnienia niezbędne do skonfigurowania piaskownicy, plik wykonywalny firejail jest instalowany z flagą SUID root (po inicjalizacji uprawnienia są resetowane).
Co nowego w Firejail 0.9.62?
W nowej wersji zaznaczono, że zawiera więcej profili dodanych do uruchamiania aplikacji izolowane, z którymi łączna liczba profili sięga nawet 884.
poza tym ustawienie limitu kopiowania plików zostało dodane do pliku konfiguracyjnego /etc/firejail/firejail.config, Pozwala to na ograniczenie rozmiaru plików, które zostaną skopiowane do pamięci za pomocą opcji „–private- *” (domyślnie limit jest ustawiony na 500 MB).
Wywołanie chroot nie jest teraz oparte na ścieżce, ale zamiast tego używa punktów montowania na podstawie deskryptora pliku.
Z pozostałych zmian:
- W profilach debugery są dozwolone.
- Ulepszone filtrowanie wywołań systemowych za pomocą mechanizmu seccomp.
- Zapewnione jest automatyczne wykrywanie flag kompilatora.
- Katalog / usr / share znajduje się na białej liście różnych profili.
- Do sekcji conrib dodano nowe skrypty pomocnicze gdb-firejail.sh i sort.py.
- Zwiększona ochrona na etapie wykonywania kodu uprzywilejowanego (SUID).
- W przypadku profili zaimplementowano nowe znaki warunkowe HAS_X11 i HAS_NET w celu weryfikacji obecności serwera X i dostępu do sieci.
Jak zainstalować Firejail w systemie Linux?
Dla tych, którzy są zainteresowani możliwością zainstalowania Firejail w swojej dystrybucji Linuksa, mogą to zrobić postępując zgodnie z instrukcjami które udostępniamy poniżej.
Na Debianie, Ubuntu i pochodnych instalacja jest dość prosta, ponieważ mogą zainstalować Firejail z repozytoriów jego dystrybucji lub mogą pobrać przygotowane pakiety deb z Sourceforge.
W przypadku wyboru instalacji z repozytoriów wystarczy otworzyć terminal i wykonać następujące polecenie:
sudo apt-get install firejail
Lub jeśli zdecydują się pobrać pakiety deb, mogą zainstalować za pomocą preferowanego menedżera pakietów lub z terminala za pomocą polecenia:
sudo dpkg -i firejail_0.9.62_1*.deb
Natomiast w przypadku Arch Linux i pochodnych z tego po prostu uruchom:
sudo pacman -S firejail
W przypadku Fedory, RHEL, CentOS, OpenSUSE lub każda inna dystrybucja obsługująca pakiety rpm może je pobrać poniższy link.
A instalacja odbywa się za pomocą:
sudo rpm -i firejail-0.9.62-1.x86_64.rpm
konfiguracja
Po zakończeniu instalacji będziemy musieli teraz skonfigurować piaskownicę, a także włączyć AppArmor.
Z terminala wpiszemy:
sudo firecfg sudo apparmor_parser -r /etc/apparmor.d/firejail-default
Aby poznać jego zastosowanie i integrację, zapoznaj się z jego przewodnikiem W poniższym linku.