Strona korzysta z plików cookies w celu realizacji usług i zgodnie z Polityką Plików Cookies.



12.05.2022

Odszyfrowanie historii

Z inicjatywy prezesa IPN, dr. Karola Nawrockiego, powstało Biuro Nowych Technologii. Jego...
01.04.2022

Program partnerski

NGAGEFirma NFON, ogólnoeuropejski dostawca komunikacji głosowej w chmurze, ogłosił...
01.04.2022

SI w TFI PZU

Na platformie do inwestowania inPZU działa już nowa metoda identyfikacji tożsamości...
01.04.2022

Kooperacja w chmurze

To oparta na stworzonej przez NetApp technologii ONTAP i w pełni zarządzana przez...
01.04.2022

Nowe laptopy od Dynabook

Dynabook wprowadza do swojej oferty dwa laptopy z procesorami Intel Core 12. generacji,...
01.04.2022

Ryzen do stacji roboczych

AMD przedstawił nową gamę procesorów Ryzen Threadripper PRO 5000 serii WX.
31.03.2022

Serwery dla MŚP

Firma Lenovo wprowadziła nowe rozwiązania w zakresie infrastruktury IT Future Ready,...
31.03.2022

Innowacyjny kontroler SSD

Microchip zaprezentował nowe kontrolery SSD, które umożliwią obsługę napędów o pojemności...
31.03.2022

Wydajny jak Brother

Brother dodał do swojej oferty trzy nowe, atramentowe urządzenia wielofunkcyjne, które...

Wykorzystanie Firejaila w poprawie bezpieczeństwa aplikacji w systemach Linux

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:

 

  • Ubuntu – sudo apt install firejail;
  • Debian – sudo apt-get install firejail;
  • Arch Linux – sudo pacman -S firejail.


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.

prenumerata Numer niedostępny Spis treści

.

Transmisje online zapewnia: StreamOnline

All rights reserved © 2019 Presscom / Miesięcznik "IT Professional"