Strona korzysta z plików cookies w celu realizacji usług i zgodnie z Polityką Plików Cookies.
Data publikacji: 03-03-2022 | Autor: | Piotr Maziakowski |
W codziennej pracy często pojawia się potrzeba uruchomienia aplikacji, co do bezpieczeństwa której nie mamy pewności, lub odwiedzenia stron internetowych, które potencjalnie mogą okazać się niebezpieczne. Wprowadzamy również istotne informacje w formularzach internetowych i potrzebujemy mieć pewność, że dane nie będą narażone przez działanie innych aplikacji zainstalowanych w systemie. W tym celu możemy wykorzystać oprogramowanie typu sandbox. Sandboxing to technika uruchamiania aplikacji w odizolowanym środowisku, w tak zwanej piaskownicy.
Sandboxowanie aplikacji stanowi niezwykle skuteczny sposób na uruchomienie programów, co do których nie mamy zaufania lub chcielibyśmy je odizolować od reszty oprogramowania zainstalowanego w systemie operacyjnym. Dzięki izolacji uruchamiane oprogramowanie, nie mając kontaktu z innymi aplikacjami, nie naraża pozostałych części systemu i nie spowoduje uszkodzenia plików czy nawet systemu operacyjnego.
Sandbox, czyli tzw. piaskownica, tworzony jest przez wydzielone, wirtualne obszary pamięci operacyjnej i masowej komputera. Poprzez ograniczenie uprawnień uruchamianej w piaskownicy aplikacji w dostępie do internetu, procesów systemowych, sieci LAN, zasobów systemu operacyjnego, pod którego kontrolą działa aplikacja typu sandbox, możemy wyeliminować wiele ryzyk związanych z uruchomieniem nieznanej lub niebezpiecznej aplikacji. Sandboxing działa poprzez izolację potencjalnie szkodliwego programu lub niebezpiecznego kodu, dzięki czemu możliwe jest bezpieczne uruchomienie aplikacji bez narażania systemu operacyjnego lub urządzeń hosta, a w przypadku wykrycia zagrożenia można usunąć aplikację bez ponoszenia strat.
Środowisko sandbox pozwala na bezpieczne uruchamianie wszelkiego rodzaju nieznanych aplikacji, podejrzanych plików wykonywalnych czy dokumentów pochodzących z niezaufanych źródeł, ale nie tylko. W piaskownicy możemy uruchomić aplikacje, których dane chcielibyśmy ochronić przed zagrożeniami ze strony pozostałych programów zainstalowanych w systemie.
Jedną z aplikacji typu sandbox, z której możemy skorzystać, jest Firejail. Jest to program przeznaczony na systemy Linux, który pozwala izolować każdy z uruchamianych na stacji procesów. Oprogramowanie zawiera profile bezpieczeństwa dla dużej liczby programów linuksowych takich jak: Mozilla Firefox, Chromium, VLC, Transmission, LibreOffice itp. Wszystkich predefiniowanych profili jest ponad tysiąc. Wykorzystywane przez Firejaila zasoby są odseparowane od pozostałych elementów funkcjonalnych systemu, a zatem nie stanowią zagrożenia dla prawidłowego funkcjonowania komputera oraz bezpieczeństwa danych przechowywanych na dysku twardym.
> Instalacja
Firejaila możemy znaleźć w wielu dystrybucjach Linuxa. Są wśród nich Arch, Debian, Gentoo, Mint, Slackware, Ubuntu. Najnowsze wersje oprogramowania można pobrać ze strony bit.ly/3HakYoD, gdzie utrzymywane są pakiety .deb dla Debiana/Ubuntu/Mint. Dostępne jest również archiwum źródłowe do samodzielnej kompilacji, przy której wymagany jest jedynie kompilator C build essential (sudo apt-get install build-essential). Firejail dystrybuowany jest na licencji GPL2. Uruchomienie go jest niezwykle proste i nie wymaga specjalnego zaangażowania, a ponadto instalacja możliwa jest w różnych środowiskach:
Sandboxowanie aplikacji przy użyciu Firejaila jest niezwykle łatwe – w najprostszej postaci sprowadza się do użycia przedrostka „firejail-” przed wprowadzeniem polecenia uruchamiającego wybrany program. Aplikację napisano w języku C i działa na dowolnym komputerze z systemem Linux z jądrem w wersji 3.x lub nowszej. Sama aplikacja jest lekka, nie ma skomplikowanych plików konfiguracyjnych do edycji, żadnych otwartych połączeń gniazd ani żadnych demonów działających w tle. Wszystkie funkcje bezpieczeństwa Firejail są zaimplementowane bezpośrednio w jądrze Linux.
Aby uruchomić przeglądarkę Firefox w trybie sandbox, wystarczy wprowadzić polecenie firejail firefox w terminalu. W każdej chwili możemy sprawdzić, czy aplikacja została uruchomiona w trybie piaskownicy, korzystając z poleceń terminala: firejail --list oraz firejail -top, aby śledzić aplikacje uruchomione w sandboksie.
> Korzystanie z Firejail
Polecenie firejail firefox sprawi, że przeglądarka Mozilli zostanie uruchomiona w trybie piaskownicy i nie będzie widoczna dla pozostałych części systemu. Również sama przeglądarka nie będzie miała możliwości dostępu np. do katalogów systemu czy pozostałych procesów. Odizolowanie przeglądarki z punktu widzenia bezpieczeństwa jest bardzo korzystne, jednak w efekcie unimożliwia np. zapis pobieranych plików.
Rozwiązaniem jest wprowadzenie zmian w konfiguracji profilu Firefoxa zdefiniowanym w Firejail, które określają, do których zasobów systemu przeglądarka może mieć dostęp, a do których nie. W celu zarządzania uprawnieniami aplikacji uruchamianych w trybie sandbox poprzez Firejail stosowane są czarne i białe listy ustawień konfigurowane dla każdej aplikacji odrębnie. Nie ma sposobu na ustawienie globalnych ustawień domyślnych, do których mają dostęp aplikacje uruchamiane w trybie sandobox. Firejail ma zaszyte ponad tysiąc profili aplikacji, które zostały już skonfigurowane i umożliwiają wykorzystanie Firejail przez zwykłego użytkownika bez konieczności edycji plików profilu aplikacji. W większości przypadków domyślna konfiguracja aplikacji, gier sieciowych i programów ukrywa wszystkie pliki w katalogu domowym, z wyjątkiem konfiguracji aplikacji i pobierania. Niekiedy jednak edycja profili będzie niezbędna – wówczas zmiany wprowadzamy poprzez edytowanie właściwego pliku danego profilu, np. dla przeglądarki Firefox będzie to: sudo nano /etc/firejail/firefox.profile, lub korzystając z kreatora konfiguracji.
Użytkownicy Firejaila mogą również budować własne profile aplikacji, które należy umieszczać w ~/.config/Firejail. Dla przykładu, jeżeli nie chcemy, aby nasz menedżer haseł (np.: KeePass) miał dostęp do internetu, w profilu wprowadzamy:
$ cat ~/.config/firejail/keepass.profile
include /etc/firejail/keepass.profile
net none
Firejail może zostać zintegrowany z pulpitem użytkownika. W tym celu należy uruchomić sudo firecfg w terminalu. Polecenie pozwala automatycznie uruchamiać aplikacje w trybie sandbox poprzez kliknięcie ikony aplikacji w menu menedżera okien. Nie ma potrzeby wówczas dodawania prefiksu „firejail-” podczas uruchamiania każdej z aplikacji w wierszu poleceń.
[...]
Autor jest od 2004 r. związany z branżą IT i nowych technologii w obszarze administrowania systemami klasy ERP. Specjalizuje się w realizacji wdrożeń i audytów bezpieczeństwa informacji.
Pełna treść artykułu jest dostępna w papierowym wydaniu pisma.
Transmisje online zapewnia: StreamOnline