Firejail - Varno zaženite nezaupljive aplikacije v Linuxu


Včasih boste morda želeli uporabiti aplikacije, ki niso bile dobro preizkušene v različnih okoljih, vendar jih morate uporabiti. V takih primerih je normalno, da ste zaskrbljeni zaradi varnosti vašega sistema. Ena stvar, ki jo je mogoče narediti v Linuxu, je uporaba aplikacij v peskovniku.

\ "Sandboxing" je zmožnost izvajanja aplikacije v omejenem okolju. Tako je aplikaciji zagotovljeno strožje število virov, potrebnih za zagon. Zahvaljujoč aplikaciji Firejail lahko v Linuxu varno zaženete nezaupanja vredne aplikacije.

Firejail je aplikacija SUID (Set Owner User ID), ki zmanjšuje izpostavljenost kršitvam varnosti z omejevanjem okolja delovanja nezaupanja vrednih programov z uporabo imenskih prostorov Linux in seccomp-bpf.

Postopek in vsi njegovi potomci imajo lasten skrivni pogled na globalno vire jedra, na primer omrežni sklad, tabelo procesov, tabelo za montažo.

Nekatere funkcije, ki jih uporablja Firejail:

  • imenski prostori Linuxa
  • Vsebnik datotečnega sistema
  • Varnostni filtri
  • Podpora za omrežje
  • Dodelitev virov

Podrobne informacije o funkcijah Firejaila najdete na uradni strani.

Kako namestiti Firejail v Linux

Namestitev lahko zaključite s prenosom najnovejšega paketa s strani projekta github z ukazom git, kot je prikazano.

$ git clone https://github.com/netblue30/firejail.git
$ cd firejail
$ ./configure && make && sudo make install-strip

Če git ni nameščen v sistemu, ga lahko namestite z:

$ sudo apt install git  [On Debian/Ubuntu]
# yum install git       [On CentOS/RHEL]
# dnf install git       [On Fedora 22+]

Alternativni način namestitve firejaila je prenos paketa, povezanega z vašo distribucijo Linuxa, in ga namestite s svojim upraviteljem paketov. Datoteke lahko prenesete s strani SourceForge projekta. Ko datoteko naložite, jo lahko namestite z:

$ sudo dpkg -i firejail_X.Y_1_amd64.deb   [On Debian/Ubuntu]
$ sudo rpm -i firejail_X.Y-Z.x86_64.rpm   [On CentOS/RHEL/Fedora]

Kako zagnati aplikacije s Firejailom v Linuxu

Zdaj ste pripravljeni za zagon svojih aplikacij z firejail. To dosežete tako, da zaženete terminal in dodate ukaz firejail pred ukaz, ki ga želite zagnati.

Tukaj je primer:

$ firejail firefox    #start Firefox web browser
$ firejail vlc        # start VLC player

Firejail vključuje številne varnostne profile za različne aplikacije in so shranjeni v:

/etc/firejail

Če ste projekt zgradili iz vira, lahko profile najdete v:

# path-to-firejail/etc/

Če ste uporabili paket rpm/deb, lahko varnostne profile najdete v:

/etc/firejail/

Uporabniki morajo svoje profile postaviti v naslednji imenik:

~/.config/firejail

Če želite razširiti obstoječi varnostni profil, lahko uporabite include with path do profila in nato dodate svoje vrstice. To bi moralo izgledati nekako takole:

$ cat ~/.config/firejail/vlc.profile

include /etc/firejail/vlc.profile
net none

Če želite omejiti dostop aplikacije do določenega imenika, lahko za dosego tega uporabite pravilo črnega seznama. V svoj varnostni profil lahko na primer dodate naslednje:

blacklist ${HOME}/Documents

Drug način za dosego istega rezultata je, da dejansko opišete celotno pot do mape, ki jo želite omejiti:

blacklist /home/user/Documents

Varnostne profile lahko konfigurirate na različne načine, na primer onemogočite dostop, dovolite dostop samo za branje itd. Če vas zanima izdelava profilov po meri, lahko preverite naslednja navodila za firejail.

Firejail je odlično orodje za varnostno misleče uporabnike, ki želijo zaščititi svoj sistem.