Firejail - Kør ikke-betroede applikationer sikkert i Linux


Nogle gange vil du muligvis bruge applikationer, der ikke er blevet testet godt i forskellige miljøer, men alligevel skal du bruge dem. I sådanne tilfælde er det normalt at være bekymret for dit systems sikkerhed. En ting, der kan gøres i Linux, er at bruge applikationer i en sandkasse.

"Sandboxing" er evnen til at køre applikationer i et begrænset miljø. På den måde får applikationen en strammere mængde ressourcer, der er nødvendige for at køre. Takket være applikationen kaldet Firejail kan du sikkert køre ikke-tillid til applikationer i Linux.

Firejail er et SUID-program (Set Owner User ID), der mindsker eksponeringen af sikkerhedsbrud ved at begrænse det kørende miljø for ikke-betroede programmer ved hjælp af Linux-navneområder og seccomp-bpf.

Det gør en proces og alle dens efterkommere til at have deres egen hemmelige visning af de globalt delte kerneressourcer, såsom netværksstakken, procesbordet, monteringsbordet.

Nogle af de funktioner, som Firejail bruger:

  • Linux-navneområder
  • Filsystemcontainer
  • Sikkerhedsfiltre
  • Netværksunderstøttelse
  • Ressourcetildeling

Detaljerede oplysninger om Firejail-funktioner kan findes på den officielle side.

Sådan installeres Firejail i Linux

Installationen kan afsluttes ved at downloade den nyeste pakke fra projektets github-side ved hjælp af git-kommandoen som vist.

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

Hvis du ikke har git installeret på dit system, kan du installere det med:

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

En alternativ måde at installere firejail på er at downloade pakken, der er knyttet til din Linux-distribution, og installere den med sin pakkehåndtering. Filer kan downloades fra SourceForge-siden i projektet. Når du har downloadet filen, kan du installere den med:

$ 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]

Sådan køres applikationer med Firejail i Linux

Du er nu klar til at køre dine applikationer med firejail. Dette opnås ved at starte en terminal og tilføje brandjail før den kommando, du ønsker at køre.

Her er et eksempel:

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

Firejail indeholder mange sikkerhedsprofiler til forskellige applikationer, og de er gemt i:

/etc/firejail

Hvis du har bygget projektet fra kilde, kan du finde profilerne i:

# path-to-firejail/etc/

Hvis du har brugt rpm/deb-pakken, kan du finde sikkerhedsprofiler i:

/etc/firejail/

Brugere skal placere deres profiler i følgende bibliotek:

~/.config/firejail

Hvis du vil udvide en eksisterende sikkerhedsprofil, kan du bruge inkludere med sti til profilen og tilføje dine linjer bagefter. Dette skal se sådan ud:

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

include /etc/firejail/vlc.profile
net none

Hvis du vil begrænse adgangen til applikationen til et bestemt bibliotek, kan du bruge en sortlisteregel for at opnå præcis det. For eksempel kan du tilføje følgende til din sikkerhedsprofil:

blacklist ${HOME}/Documents

En anden måde at opnå det samme resultat på er faktisk at beskrive den fulde sti til den mappe, du vil begrænse:

blacklist /home/user/Documents

Der er mange forskellige måder, hvorpå du kan konfigurere dine sikkerhedsprofiler, såsom at afvise adgang, give adgang til skrivebeskyttet adgang osv. Hvis du er interesseret i at oprette brugerdefinerede profiler, kan du kontrollere følgende brandbeskyttelsesinstruktioner.

Firejail er et fantastisk værktøj til de sikkerhedsindstillede brugere, der ønsker at beskytte deres system.