EnglezăFrancezăSpaniolă

Favicon OnWorks

firejail - Online în cloud

Rulați firejail în furnizorul de găzduire gratuit OnWorks prin Ubuntu Online, Fedora Online, emulator online Windows sau emulator online MAC OS

Aceasta este comanda firejail care poate fi rulată în furnizorul de găzduire gratuit OnWorks folosind una dintre multiplele noastre stații de lucru online gratuite, cum ar fi Ubuntu Online, Fedora Online, emulator online Windows sau emulator online MAC OS

PROGRAM:

NUME


Firejail - program sandbox pentru spații de nume Linux

REZUMAT


Porniți un sandbox:

firejail [OPȚIUNI] [program și argumente]

Modelarea traficului de rețea pentru un sandbox existent:

firejail --bandwidth={ | } bandwidth-command

Monitorizare:

firejail {--list | --netstats | --sus | --copac}

Diverse:

firejail {-? | --debug-caps | --debug-errnos | --debug-syscalls | --protocoale-debug
| --ajutor | --versiune}

DESCRIERE


Firejail este un program sandbox SUID care reduce riscul de încălcare a securității prin
restricționarea mediului de rulare al aplicațiilor neîncrezătoare folosind spații de nume Linux,
seccomp-bpf și capabilități Linux. Permite unui proces și tuturor descendenților săi să aibă
propria lor vedere privată asupra resurselor nucleului partajate la nivel global, cum ar fi stiva de rețea,
masa de proces, masa de montare. Firejail poate funcționa într-un mediu SELinux sau AppArmor și
este integrat cu grupurile de control Linux.

Scris în C, practic fără dependențe, software-ul rulează pe orice computer Linux cu
o versiune de kernel 3.x sau mai nouă. Poate sandbox orice tip de procese: servere, grafice
aplicații și chiar sesiuni de conectare a utilizatorilor.

Firejail permite utilizatorului să gestioneze securitatea aplicației folosind profiluri de securitate. Fiecare
profil definește un set de permisiuni pentru o anumită aplicație sau grup de aplicații.
Software-ul include profiluri de securitate pentru o serie de programe Linux mai comune, cum ar fi
precum Mozilla Firefox, Chromium, VLC, Transmission etc.

UTILIZARE


Fără opțiuni, sandbox-ul constă dintr-un sistem de fișiere chroot construit într-o montură nouă
spațiu de nume și spații de nume noi PID și UTS. Pot fi adăugate spații de nume IPC, rețea și utilizator
folosind opțiunile liniei de comandă. Sistemul de fișiere Firejail implicit se bazează pe gazdă
sistem de fișiere cu directoarele principale montate doar în citire. Numai / Home si / tmp sunt inscriptibile.

Pe măsură ce pornește, Firejail încearcă să găsească un profil de securitate bazat pe numele
aplicarea. Dacă nu este găsit un profil adecvat, Firejail va folosi un profil implicit.
Profilul implicit este destul de restrictiv. În cazul în care aplicația nu funcționează, utilizați
--noprofile opțiune pentru a o dezactiva. Pentru mai multe informații, consultați SECURITATE PROFILURILE
secţiune.

Dacă nu este specificat un argument de program, pornește Firejail / bin / bash coajă. Exemple:

$ firejail [OPȚIUNI] # pornind a / bin / bash coajă

$ firejail [OPȚIUNI] firefox # pornește Mozilla Firefox

# sudo firejail [OPȚIUNI] /etc/init.d/nginx start

OPŢIUNI


-- Semnalează sfârșitul opțiunilor și dezactivează procesarea ulterioară a opțiunilor.

--bandwidth=nume
Setați limite de lățime de bandă pentru sandbox-ul identificat după nume, vezi TRAFIC FORMARE
pentru mai multe detalii.

--bandwidth=pid
Setați limitele de lățime de bandă pentru sandbox-ul identificat prin PID, vezi TRAFIC FORMARE secțiune
pentru mai multe detalii.

--bind=dirname1,dirname2
Mount-bind dirname1 deasupra dirname2. Această opțiune este disponibilă numai când rulează
cutia de nisip ca rădăcină.

Exemplu:
# firejail --bind=/config/www,/ Var / www

--bind=filename1,filename2
Mount-bind filename1 deasupra filename2. Această opțiune este disponibilă numai atunci când
rulează ca root.

Exemplu:
# firejail --bind=/config/etc/passwd,/ Etc / passwd

--blacklist=dirname_or_filename
Director sau fișier pe lista neagră.

Exemplu:
$ firejail --lista neagră=/ sbin --lista neagră=/ usr / sbin
$ firejail --lista neagră=~/.mozilla
$ firejail „--blacklist=/home/username/My Virtual Machines”

-c Executați comanda și ieșiți.

--capsele Capacitățile Linux sunt o caracteristică a nucleului concepută pentru a împărți privilegiul root în
un set de privilegii distincte. Aceste privilegii pot fi activate sau dezactivate
independent, limitând astfel ceea ce poate face un proces care rulează ca root în fișierul
sistemului.

În mod implicit, programele rădăcină rulează cu toate capabilitățile activate. Opțiunea --caps este dezactivată
următoarele capabilități: CAP_SYS_MODULE, CAP_SYS_RAWIO, CAP_SYS_BOOT,
CAP_SYS_NICE, CAP_SYS_TTY_CONFIG, CAP_SYSLOG, CAP_MKNOD, CAP_SYS_ADMIN. Filtrul
se aplică tuturor proceselor începute în sandbox.

Exemplu:
$ sudo firejail --caps „/etc/init.d/nginx start && sleep inf”

--caps.drop=toate
Eliminați toate capabilitățile pentru procesele care rulează în sandbox. Această opțiune este
recomandat pentru rularea programelor GUI sau a oricărui alt program care nu necesită root
privilegii. Este o opțiune obligatorie pentru sandbox-ul de programe care nu sunt de încredere instalate
din surse neoficiale - cum ar fi jocuri, programe Java etc.

Exemplu:
$ firejail --caps.drop=all warzone2100

--caps.drop=capacitate,capacitate,capacitate
Definiți un filtru personalizat de capabilități Linux pe lista neagră.

Exemplu:
$ firejail --caps.keep=net_broadcast,net_admin,net_raw

--caps.keep=capacitate,capacitate,capacitate
Definiți un filtru personalizat de capabilități Linux din lista albă.

Exemplu:
$ sudo firejail --caps.keep=chown,net_bind_service,setgid,\ setuid
/etc/init.d/nginx start

O scurtă notă despre amestecarea opțiunilor --whitelist și --read-only. Pe lista albă
directoarele ar trebui să fie făcute numai pentru citire independent. Realizarea unui director părinte citit-
numai, nu va face lista albă doar în citire. Exemplu:
$ firejail --lista albă=~/muncă --read-only=~/ --read-only=~/muncă

--caps.print=nume
Tipăriți filtrul Caps pentru sandbox-ul identificat după nume.

Exemplu:
$ firejail --name=mygame --caps.drop=toate warzone2100 &
[...]
$ firejail --caps.print=jocul meu

--caps.print=pid
Imprimați filtrul de capace pentru o cutie de nisip identificată prin PID.

Exemplu:
$ firejail --listă
3272:netblue:firejail --firefox privat
$ firejail --caps.print=3272

--cgroup=tasks-file
Plasați cutia de nisip în grupul de control specificat. tasks-file este calea completă a
fișierul sarcini cgroup.

Exemplu:
# firejail --cgroup=/sys/fs/cgroup/g1/tasks

--chroot=dirname
Rootează sandbox-ul într-un sistem de fișiere rădăcină. Dacă cutia de nisip este pornită ca obișnuit
Filtrele utilizator, seccomp implicit și capabilități sunt activate.

Exemplu:
$ firejail --chroot=/media/ubuntu warzone2100

--cpu=număr-cpu, număr-cpu, număr-cpu
Setați afinitatea CPU.

Exemplu:
$ firejail --cpu=0,1 frână de mână

--csh Utilizați /bin/csh ca shell utilizator implicit.

Exemplu:
$ firejail --csh

--depanare
Imprimați mesajele de depanare.

Exemplu:
$ firejail --debug firefox

--debug-liste negre
Depanați lista neagră.

Exemplu:
$ firejail --debug-liste negre firefox

--debug-caps
Imprimați toate capabilitățile recunoscute în versiunea actuală a software-ului Firejail și ieșiți.

Exemplu:
$ firejail --debug-caps

--debug-check-filename
Depanați verificarea numelui fișierului.

Exemplu:
$ firejail --debug-check-filename firefox

--debug-errnos
Tipăriți toate numerele de eroare recunoscute în versiunea curentă a software-ului Firejail și ieșiți.

Exemplu:
$ firejail --debug-errnos

--protocoale-debug
Imprimați toate protocoalele recunoscute în versiunea actuală a software-ului Firejail și ieșiți.

Exemplu:
$ firejail --debug-protocols

--debug-syscalls
Imprimați toate apelurile de sistem recunoscute în versiunea actuală a software-ului Firejail și ieșiți.

Exemplu:
$ firejail --debug-syscalls

--debug-whitelsts
Depanați lista albă.

Exemplu:
$ firejail --debug-liste albe firefox

--defaultgw=adresă
Utilizați această adresă ca gateway implicit în noul spațiu de nume de rețea.

Exemplu:
$ firejail --net=eth0 --defaultgw=10.10.20.1 firefox

--dns=adresa
Setați un server DNS pentru sandbox. Pot fi definite până la trei servere DNS. Foloseste asta
opțiune dacă nu aveți încredere în configurația DNS din rețeaua dvs.

Exemplu:
$ firejail --dns=8.8.8.8 --dns=8.8.4.4 firefox

--dns.print=nume
Imprimați configurația DNS pentru un sandbox identificat după nume.

Exemplu:
$ firejail --name=mygame --caps.drop=toate warzone2100 &
[...]
$ firejail --dns.print=jocul meu

--dns.print=pid
Imprimați configurația DNS pentru un sandbox identificat prin PID.

Exemplu:
$ firejail --listă
3272:netblue:firejail --firefox privat
$ firejail --dns.print=3272

--env=nume=valoare
Setați variabila de mediu în noul sandbox.

Exemplu:
$ firejail --env=LD_LIBRARY_PATH=/opt/test/lib

--forta
În mod implicit, dacă Firejail este pornit într-un sandbox existent, acesta va rula programul
într-o cochilie bash. Această opțiune dezactivează acest comportament și încearcă să pornească
Firejail în sandbox-ul existent. Ar putea exista o mulțime de motive pentru care eșuează,
de exemplu, dacă sandbox-ul existent dezactivează capabilitățile de administrare, binare SUID sau
daca ruleaza seccomp.

--fs.print=nume
Imprimați jurnalul sistemului de fișiere pentru sandbox-ul identificat după nume.

Exemplu:
$ firejail --name=mygame --caps.drop=toate warzone2100 &
[...]
$ firejail --fs.print=jocul meu

--fs.print=pid
Imprimați jurnalul sistemului de fișiere pentru un sandbox identificat prin PID.

Exemplu:
$ firejail --listă
3272:netblue:firejail --firefox privat
$ firejail --fs.print=3272

-?, --Ajutor
Opțiunile de imprimare se încheie cu ieșirea.

--hostname=nume
Setați numele de gazdă pentru sandbox.

Exemplu:
$ firejail --hostname=officepc firefox

--ignore=comandă
Ignorați comanda din fișierul de profil.

Exemplu:
$ firejail --ignore=shell --ignore=seccomp firefox

--interface=interfață
Mutați interfața într-un spațiu de nume de rețea nou. Pot fi până la patru opțiuni de interfață
specificat.

Exemplu:
$ firejail --interface=eth1 --interface=eth0.vlan100

--ip=adresă
Atribuiți adrese IP ultimei interfețe de rețea definite de o opțiune --net. A
gateway-ul implicit este atribuit implicit.

Exemplu:
$ firejail --net=eth0 --ip=10.10.20.56 firefox

--ip=niciuna
Nicio adresă IP și nicio poartă implicită nu sunt configurate pentru ultima interfață definită
printr-o opțiune --net. Utilizați această opțiune în cazul în care intenționați să porniți un DHCP extern
client în sandbox.

Exemplu:
$ firejail --net=eth0 --ip=niciunul

--ip6=adresă
Atribuiți adrese IPv6 ultimei interfețe de rețea definite de o opțiune --net.

Exemplu:
$ firejail --net=eth0 --ip6=2001:0db8:0:f101::1/64 firefox

--iprange=adresă,adresă
Atribuiți o adresă IP în intervalul furnizat ultimei interfețe de rețea definite de
o opțiune --net. Un gateway implicit este atribuit implicit.

Exemplu:
$ firejail --net=eth0 --iprange=192.168.1.100,192.168.1.150

--ipc-namespace
Activați un nou spațiu de nume IPC dacă sandbox-ul a fost pornit ca utilizator obișnuit. IPC
Spațiul de nume este activat în mod implicit pentru sandbox-urile pornite ca root.

Exemplu:
$ firejail --ipc-namespace firefox

--join=nume
Alăturați-vă casei de nisip identificate după nume. Implicit a / bin / bash shell este pornit după
alăturarea cutiei cu nisip. Dacă este specificat un program, programul este rulat în sandbox.
Dacă comanda --join este emisă ca utilizator obișnuit, toate filtrele de securitate sunt configurate
pentru noul proces la fel sunt configurate în sandbox. Dacă comanda --join
este emis ca root, filtrele de securitate, cgroups și configurațiile CPU nu sunt
aplicat procesului de îmbinare cu nisip.

Exemplu:
$ firejail --name=mygame --caps.drop=toate warzone2100 &
[...]
$ firejail --join=jocul meu

--join=pid
Alăturați-vă casei de testare identificate prin ID-ul procesului. Implicit a / bin / bash shell este pornit
după alăturarea cutiei cu nisip. Dacă este specificat un program, programul este rulat în
cutie cu nisip. Dacă comanda --join este emisă ca utilizator obișnuit, toate filtrele de securitate sunt
configurate pentru noul proces la fel sunt configurate în sandbox. Dacă
Comanda --join este emisă ca root, filtrele de securitate, cgroups și CPU
configurațiile nu sunt aplicate procesului de unire a sandbox-ului.

Exemplu:
$ firejail --listă
3272:netblue:firejail --firefox privat
$ firejail --join=3272

--join-filesystem=nume
Alăturați-vă spațiului de nume de montare al sandbox-ului identificat după nume. Implicit a / bin / bash
shell este pornit după alăturarea cutiei cu nisip. Dacă este specificat un program, programul
este rulat în cutia de nisip. Această comandă este disponibilă numai pentru utilizatorul root. Securitate
filtrele, cgroups și configurațiile CPU nu sunt aplicate procesului de alăturare
nisip.

--join-filesystem=pid
Alăturați-vă spațiului de nume de montare al sandbox-ului identificat prin ID-ul procesului. Implicit a
/ bin / bash shell este pornit după alăturarea cutiei cu nisip. Dacă este specificat un program,
programul este rulat în sandbox. Această comandă este disponibilă numai pentru utilizatorul root.
Filtrele de securitate, cgroups și configurațiile CPU nu sunt aplicate procesului
alăturarea cutiei cu nisip.

--join-network=nume
Alăturați-vă spațiului de nume de rețea al sandbox-ului identificat după nume. Implicit a
/ bin / bash shell este pornit după alăturarea cutiei cu nisip. Dacă este specificat un program,
programul este rulat în sandbox. Această comandă este disponibilă numai pentru utilizatorul root.
Filtrele de securitate, cgroups și configurațiile CPU nu sunt aplicate procesului
alăturarea cutiei cu nisip.

--join-network=pid
Alăturați-vă spațiului de nume de rețea al sandbox-ului identificat prin ID-ul procesului. Implicit a
/ bin / bash shell este pornit după alăturarea cutiei cu nisip. Dacă este specificat un program,
programul este rulat în sandbox. Această comandă este disponibilă numai pentru utilizatorul root.
Filtrele de securitate, cgroups și configurațiile CPU nu sunt aplicate procesului
alăturarea cutiei cu nisip.

--listă Enumeră toate sandbox-urile, vezi MONITORIZAREA pentru mai multe detalii.

Exemplu:
$ firejail --listă
7015:netblue:firejail firefox
7056:netblue:firejail --net=eth0 transmisie-gtk
7064:netblue:firejail --noroot xterm
$

--mac=adresă
Atribuiți adrese MAC ultimei interfețe de rețea definite de o opțiune --net.

Exemplu:
$ firejail --net=eth0 --mac=00:11:22:33:44:55 firefox

--mtu=număr
Atribuiți o valoare MTU ultimei interfețe de rețea definită de o opțiune --net.

Exemplu:
$ firejail --net=eth0 --mtu=1492

--name=nume
Setați numele sandbox. Mai multe opțiuni, cum ar fi --join și --shutdown, pot folosi acest nume
pentru a identifica o cutie cu nisip.

Exemplu:
$ firejail --name=mybrowser-ul firefox

--net=interfață_punte
Activați un nou spațiu de nume de rețea și conectați-l la această interfață bridge. Dacă nu
specificat cu opțiunea --ip și --defaultgw, o adresă IP și un gateway implicit
va fi atribuit automat casetei de nisip. Adresa IP este verificată folosind ARP
înainte de atribuire. Adresa configurată ca gateway implicit este dispozitivul bridge
Adresa IP. Pot fi definite până la patru dispozitive bridge --net. Puntea de amestecare si
dispozitivele macvlan sunt permise.

Exemplu:
$ sudo brctl addbr br0
$ sudo ifconfig br0 10.10.20.1/24
$ sudo brctl addbr br1
$ sudo ifconfig br1 10.10.30.1/24
$ firejail --net=br0 --net=br1

--net=interfață_ethernet
Activați un nou spațiu de nume de rețea și conectați-l la această interfață ethernet folosind
driverul standard Linux macvlan. Dacă nu este specificat cu opțiunea --ip și --defaultgw,
o adresă IP și un gateway implicit vor fi atribuite automat sandbox-ului.
Adresa IP este verificată folosind ARP înainte de atribuire. Adresa configurată ca
gateway-ul implicit este gateway-ul implicit al gazdei. Până la patru dispozitive --net pot fi
definit. Este permisă amestecarea dispozitivelor bridge și macvlan.

Exemplu:
$ firejail --net=eth0 --ip=192.168.1.80 --dns=8.8.8.8 firefox

--net=niciuna
Activați un spațiu de nume de rețea nou, neconectat. Singura interfață disponibilă în
noul spațiu de nume este o nouă interfață loopback (lo). Utilizați această opțiune pentru a refuza rețeaua
acces la programe care nu au nevoie de acces la rețea.

Exemplu:
$ firejail --net=niciun vlc

--netfilter
Activați un filtru de rețea client implicit în noul spațiu de nume de rețea. Rețea nouă
spațiile de nume sunt create folosind opțiunea --net. Dacă o nouă rețea spații de nume nu este
creat, opțiunea --netfilter nu face nimic. Filtrul implicit este următorul:

*filtru
:INPUT DROP [0:0]
: FORWARD DROP [0:0]
: ACCEPT IEȘIRE [0:0]
-A INTRARE -i lo -j ACCEPT
-A INPUT -m stare --stare RELATED,ESTABLISHED -j ACCEPT
-A INTRARE -p icmp --icmp-tip destinație-inaccesibil -j ACCEPT
-A INTRARE -p icmp --icmp-tip timp depășit -j ACCEPT
-A INTRARE -p icmp --icmp-type echo-request -j ACCEPT
COMITEAZA

Exemplu:
$ firejail --net=eth0 --netfilter firefox

--netfilter=nume fișier
Activați filtrul de rețea specificat de numele fișierului în noul spațiu de nume de rețea. The
formatul de fișier de filtrare este formatul comenzilor iptables-save și iptable-restore.
Noile spații de nume de rețea sunt create folosind opțiunea --net. Dacă o nouă rețea spații de nume
nu este creată, opțiunea --netfilter nu face nimic.

Următoarele filtre sunt disponibile în directorul /etc/firejail:

webserver.net este un filtru de server web care permite accesul numai la porturile TCP 80 și
443. Exemplu:

$ firejail --netfilter=/etc/firejail/webserver.net --net=eth0 \
/etc/init.d/apache2 Începe

nolocal.net este un filtru de client care dezactivează accesul la rețeaua locală. Exemplu:

$ firejail --netfilter=/etc/firejail/nolocal.net \
--net=eth0 firefox

--netfilter6=nume fișier
Activați filtrul de rețea IPv6 specificat de numele fișierului în noul spațiu de nume de rețea.
Formatul fișierului de filtru este formatul ip6tables-save și ip6table-restore
comenzi. Noile spații de nume de rețea sunt create folosind opțiunea --net. Dacă o nouă rețea
namespaces nu este creat, opțiunea --netfilter6 nu face nimic.

--netstats
Monitorizați statisticile spațiului de nume de rețea, vezi MONITORIZAREA pentru mai multe detalii.

Exemplu:

$ firejail --netstats
Comanda PID RX(KB/s) TX(KB/s).
1294 netblue 53.355 1.473 firejail --net=eth0 firefox
7383 netblue 9.045 0.112 firejail --net=eth0 transmisie

--noblacklist=dirname_or_filename
Dezactivați lista neagră pentru acest director sau fișier.

Exemplu:
$ firejail
$ nc dict.org 2628
Bash: /bin/nc: Acces refuzat
$ ieșire

$ firejail --noblacklist=/bin/nc
$ nc dict.org 2628
220 pan.alephnull.com dictd 1.12.1/rf pe Linux 3.14-1-amd64

--fara grupe
Dezactivați grupurile suplimentare. Fără această opțiune, grupurile suplimentare sunt activate
pentru utilizatorul care pornește sandbox-ul. Pentru utilizatorul root sunt întotdeauna grupuri suplimentare
dezactivat.

Exemplu:
$ id
uid=1000(netblue) gid=1000(netblue)
groups=1000(netblue),24(cdrom),25(floppy),27(sudo),29(audio)
$ firejail --nogroups
PID părinte 8704, pid copil 8705
Procesul copil a fost inițializat
$ id
uid=1000(netblue) gid=1000(netblue) grupuri=1000(netblue)
$

--noprofile
Nu utilizați un profil de securitate.

Exemplu:
$ firejail
Citirea profilului /etc/firejail/generic.profile
PID părinte 8553, pid copil 8554
Procesul copil a fost inițializat
[...]

$ firejail --noprofile
PID părinte 8553, pid copil 8554
Procesul copil a fost inițializat
[...]

--fara radacina
Instalați un spațiu de nume de utilizator cu un singur utilizator - utilizatorul curent. utilizatorul root nu
există în noul spațiu de nume. Această opțiune necesită o versiune de kernel Linux 3.8 sau
mai nou. Opțiunea nu este acceptată pentru configurațiile --chroot și --overlay sau
pentru sandbox-uri începute ca root.

Exemplu:
$ firejail --noroot
PID părinte 8553, pid copil 8554
Procesul copil a fost inițializat
$ping google.com
ping: icmp open socket: Operațiunea nu este permisă
$

--nici un sunet
Dezactivează sistemul de sunet.

Exemplu:
$ firejail --nosound firefox

--output=fișier jurnal
jurnalizarea stdout și rotația jurnalului. Copiați stdout în fișierul jurnal și păstrați dimensiunea fișierului
fișier sub 500 KB utilizând rotația jurnalului. Sunt utilizate cinci fișiere cu prefixele de la .1 la .5
rotație.

Exemplu:
$ firejail --output=sandboxlog / bin / bash
[...]
$ ls -l sandboxlog*
-rw-r--r-- 1 netblue netblue 333890 2 iunie 07:48 sandboxlog
-rw-r--r-- 1 netblue netblue 511488 2 iunie 07:48 sandboxlog.1
-rw-r--r-- 1 netblue netblue 511488 2 iunie 07:48 sandboxlog.2
-rw-r--r-- 1 netblue netblue 511488 2 iunie 07:48 sandboxlog.3
-rw-r--r-- 1 netblue netblue 511488 2 iunie 07:48 sandboxlog.4
-rw-r--r-- 1 netblue netblue 511488 2 iunie 07:48 sandboxlog.5

--acoperire
Montați o suprapunere a sistemului de fișiere deasupra sistemului de fișiere curent. Tot sistemul de fișiere
modificările intră în suprapunere. Suprapunerea este stocată în $HOME/.firejail
director.

Suportul OverlayFS este necesar în nucleul Linux pentru ca această opțiune să funcționeze. OverlayFS
a fost introdus oficial în versiunea 3.18 a nucleului Linux

Exemplu:
$ firejail --overlay firefox

--overlay-tmpfs
Montați o suprapunere a sistemului de fișiere deasupra sistemului de fișiere curent. Tot sistemul de fișiere
modificările intră în suprapunere și sunt eliminate atunci când cutia de nisip este închisă.

Suportul OverlayFS este necesar în nucleul Linux pentru ca această opțiune să funcționeze. OverlayFS
a fost introdus oficial în versiunea 3.18 a nucleului Linux

Exemplu:
$ firejail --overlay-tmpfs firefox

--privat
Montaj nou / Rădăcină și directoarele /home/user din sistemele de fișiere temporare. Toate
modificările sunt eliminate atunci când cutia de nisip este închisă.

Exemplu:
$ firejail --firefox privat

--private=director
Folosiți directorul ca acasă pentru utilizator.

Exemplu:
$ firejail --private=/home/netblue/firefox-home firefox

--private-bin=fișier, fișier
Construiește un nou / cos într-un sistem de fișiere temporar și copiați programele din listă. The
același director este, de asemenea, montat prin legare / sbin, / usr / bin și /usr/sbin.

Exemplu:
$ firejail --private-bin=bash,sed,ls,cat
PID părinte 20841, pid copil 20842
Procesul copil a fost inițializat
$ls / cos
bash cat ls sed

--private-dev
Creaza un nou / dev director. Doar dri, null, full, zero, tty, pts, ptmx, aleatoriu,
sunt disponibile dispozitive aleatoare, log și shm.

Exemplu:
$ firejail --private-dev
PID părinte 9887, pid copil 9888
Procesul copil a fost inițializat
$ls / dev
dri full log null ptmx pts aleatoriu shm tty urandom zero
$

--private-etc=fișier,director
Construiește un nou / Etc într-un sistem de fișiere temporar și copiați fișierele și directoarele în
lista. Toate modificările sunt eliminate când sandbox-ul este închis.

Exemplu:
$ firejail --private-etc=group,hostname,localtime, \
nsswitch.conf,passwd,resolv.conf

--private-tmp
Montați un sistem de fișiere temporar gol deasupra / tmp director.

Exemplu:
$ firejail --private-tmp

--profile=nume fișier
Încărcați un profil de securitate personalizat din numele fișierului. Pentru numele fișierului utilizați o cale absolută sau
o cale relativă la calea curentă. Pentru mai multe informații, vezi SECURITATE PROFILURILE
secțiunea de mai jos.

Exemplu:
$ firejail --profile=profilul meu

--profile-path=director
Utilizați acest director pentru a căuta fișiere de profil. Utilizați o cale absolută sau o cale în
directorul principal începând cu ~ /. Pentru mai multe informații, consultați SECURITATE PROFILURILE
secțiunea de mai jos și RELOCARE PROFIL DOSARE in om 5 firejail-profil.

Exemplu:
$ firejail --profile-path=~/profilurile mele
$ firejail --profile-path=/home/netblue/myprofiles

--protocol=protocol,protocol,protocol
Activați filtrul de protocol. Filtrul se bazează pe seccomp și îl verifică pe primul
argument pentru apelul de sistem socket. Valori recunoscute: unix, inet, inet6, netlink și
pachet.

Exemplu:
$ firejail --protocol=unix,inet,inet6 firefox

--protocol.print=nume
Tipăriți filtrul de protocol pentru sandbox-ul identificat după nume.

Exemplu:
$ firejail --name=mybrowser firefox &
[...]
$ firejail --print.print=browserul meu
unix,inet,inet6,netlink

--protocol.print=pid
Imprimați filtrul de protocol pentru un sandbox identificat prin PID.

Exemplu:
$ firejail --listă
3272:netblue:firejail --firefox privat
$ firejail --protocol.print=3272
unix,inet,inet6,netlink

--Liniște
Opriți ieșirea lui Firejail.

--read-only=dirname_or_filename
Setați directorul sau fișierul doar pentru citire.

Exemplu:
$ firejail --read-only=~/.mozilla Firefox

--rlimit-fsize=număr
Setați dimensiunea maximă a fișierului care poate fi creat de un proces.

--rlimit-nofile=număr
Setați numărul maxim de fișiere care pot fi deschise de un proces.

--rlimit-nproc=număr
Setați numărul maxim de procese care pot fi create pentru ID-ul de utilizator real al
proces de apelare.

--rlimit-sigpending=număr
Setați numărul maxim de semnale în așteptare pentru un proces.

--scanare ARP-scanează toate rețelele din interiorul unui spațiu de nume de rețea. Acest lucru face posibil
pentru a detecta driverele de dispozitiv kernel macvlan care rulează pe gazda curentă.

Exemplu:
$ firejail --net=eth0 --scan

--seccomp
Activați filtrul seccomp și lista neagră a apelurilor de sistem din lista implicită. Implicit
lista este următoarea: mount, umount2, ptrace, kexec_load, kexec_file_load,
open_by_handle_at, init_module, finit_module, delete_module, iopl, ioperm, swapon,
swapoff, syslog, process_vm_readv, process_vm_writev, sysfs,_sysctl, adjtimex,
clock_adjtime, lookup_dcookie, perf_event_open, fanotify_init, kcmp, add_key,
request_key, keyctl, uselib, acct, modify_ldt, pivot_root, io_setup, io_destroy,
io_getevents, io_submit, io_cancel, remap_file_pages, mbind, get_mempolicy,
set_mempolicy, migrate_pages, move_pages, vmsplice, perf_event_open și chroot.

Exemplu:
$ firejail --seccomp

--seccomp=syscall,syscall,syscall
Activați filtrul seccomp, lista neagră a listei implicite și a apelurilor de sistem specificate de
comanda.

Exemplu:
$ firejail --seccomp=utime,utimensat,utimes firefox

--seccomp.drop=syscall,syscall,syscall
Activați filtrul seccomp și puneți pe lista neagră apelurile de sistem specificate de comandă.

Exemplu:
$ firejail --seccomp.drop=utime,utimensat,utimes

--seccomp.keep=syscall,syscall,syscall
Activați filtrul seccomp și includeți pe lista albă apelurile de sistem specificate de comandă.

Exemplu:
$ firejail --shell=none --seccomp.keep=poll,select,[...] transmission-gtk

--seccomp. =syscall,syscall,syscall
Activați filtrul seccomp și returnați errno pentru apelurile de sistem specificate de comandă.

Exemplu: un shell Bash unde ștergerea fișierelor este dezactivată

$ firejail --seccomp.eperm=unlinkat
PID părinte 10662, pid copil 10663
Procesul copil a fost inițializat
$ touch fișier de testare
$ rm testfile
rm: nu se poate elimina `testfile': Operațiunea nu este permisă

--seccomp.print=nume
Imprimați filtrul seccomp pentru sandbox-ul început folosind opțiunea --name.

Exemplu:
$ firejail --name=browser firefox &
$ firejail --seccomp.print=browser
Filtru SECCOMP:
VALIDATE_ARCHITECTURE
EXAMINĂ_SYSCALL
BLACKLIST 165 montură
LISTA NEGRA 166 umount2
LISTA NEGRA 101 ptrace
LISTA NEGRA 246 kexec_load
LISTA NEGRA 304 open_by_handle_at
LISTA NEGRA 175 init_module
LISTA NEGRA 176 delete_module
LISTA NEGRA 172 iopl
LISTA NEGRA 173 ioperm
LISTA NEGRA 167 swapon
LISTA NEGRA 168 schimb
LISTA NEGRA 103 syslog
LISTA NEGRA 310 process_vm_readv
LISTA NEGRA 311 process_vm_writev
LISTA NEGRA 133 mknod
LISTA NEGRA 139 sysfs
LISTA NEGRA 156 _sysctl
LISTA NEGRA 159 adjtimex
LISTA NEGRA 305 clock_adjtime
LISTA NEGRA 212 lookup_dcookie
LISTA NEGRA 298 perf_event_open
LISTA NEGRA 300 fanotify_init
RETURN_ALLOW
$

--seccomp.print=pid
Imprimați filtrul seccomp pentru sandbox-ul specificat de ID-ul procesului. Utilizați opțiunea --list
pentru a obține o listă cu toate sandbox-urile active.

Exemplu:
$ firejail --listă
10786:netblue:firejail --name=browser firefox $ firejail --seccomp.print=10786
Filtru SECCOMP:
VALIDATE_ARCHITECTURE
EXAMINĂ_SYSCAL
BLACKLIST 165 montură
LISTA NEGRA 166 umount2
LISTA NEGRA 101 ptrace
LISTA NEGRA 246 kexec_load
LISTA NEGRA 304 open_by_handle_at
LISTA NEGRA 175 init_module
LISTA NEGRA 176 delete_module
LISTA NEGRA 172 iopl
LISTA NEGRA 173 ioperm
LISTA NEGRA 167 swapon
LISTA NEGRA 168 schimb
LISTA NEGRA 103 syslog
LISTA NEGRA 310 process_vm_readv
LISTA NEGRA 311 process_vm_writev
LISTA NEGRA 133 mknod
LISTA NEGRA 139 sysfs
LISTA NEGRA 156 _sysctl
LISTA NEGRA 159 adjtimex
LISTA NEGRA 305 clock_adjtime
LISTA NEGRA 212 lookup_dcookie
LISTA NEGRA 298 perf_event_open
LISTA NEGRA 300 fanotify_init
RETURN_ALLOW
$

--shell=niciuna
Rulați programul direct, fără un shell de utilizator.

Exemplu:
$ firejail --shell=niciun script.sh

--shell=program
Setați shell-ul implicit al utilizatorului. Utilizați acest shell pentru a rula aplicația folosind -c shell
opțiune. De exemplu, „firejail --shell=/bin/dash firefox" va porni Mozilla
Firefox ca "/bin/dash -c firefox". Implicit shell Bash (/ bin / bash) este folosit.
Opțiuni precum --zsh și --csh pot seta, de asemenea, shell-ul implicit.

Exemplu: $firejail --shell=/bin/dash script.sh

--shutdown=nume
Închideți sandbox-ul a început folosind opțiunea --name.

Exemplu:
$ firejail --name=mygame --caps.drop=toate warzone2100 &
[...]
$ firejail --shutdown=jocul meu

--shutdown=pid
Închideți sandbox-ul specificat de ID-ul procesului. Utilizați opțiunea --list pentru a obține o listă de
toate sandbox-urile active.

Exemplu:
$ firejail --listă
3272:netblue:firejail --firefox privat
$ firejail --shutdown=3272

--tmpfs=dirname
Montați un sistem de fișiere tmpfs pe directorul dirname. Această opțiune este disponibilă numai atunci când
rulează sandbox-ul ca root.

Exemplu:
# firejail --tmpfs=/ var

--top Monitorizați cele mai intense casete de nisip CPU, vezi MONITORIZAREA pentru mai multe detalii.

Exemplu:
$ firejail --top

--urmă
Urmăriți apelurile de sistem deschise, accesați și conectați.

Exemplu:
$ firejail --trace wget -q www.debian.org
PID părinte 11793, pid copil 11794
Procesul copil a fost inițializat
1:bash:open /dev/tty
1:wget:fopen64 /etc/wgetrc
1:wget:fopen / Etc / hosts
1:wget:socket AF_INET SOCK_DGRAM IPPROTO_IP
1:wget:connect 8.8.8.8:53
1:wget:socket AF_INET SOCK_STREAM IPPROTO_IP
1:wget:connect 140.211.15.34:80
1:wget:fopen64 index.html.1

părintele se închide, pa...

--tracelog
Această opțiune permite auditarea fișierelor și directoarelor din lista neagră. Se trimite un mesaj
la syslog în cazul în care fișierul sau directorul este accesat.

Exemplu:
$ firejail --tracelog firefox

Exemple de mesaje:
$ sudo coada -f / Var / log / syslog
[...]
3 decembrie 11:43:25 debian firejail[70]: încălcarea listei negre - sandbox 26370, exe
firefox, syscall open64, cale / etc / shadow
3 decembrie 11:46:17 debian firejail[70]: încălcarea listei negre - sandbox 26370, exe
firefox, syscall opendir, cale / boot
[...]

--copac Imprimați un arbore cu toate procesele sandbox, vezi MONITORIZAREA pentru mai multe detalii.

Exemplu:
$ firejail --copac
11903:netblue:firejail iceweasel
11904:netblue:iceweasel
11957:netblue:/usr/lib/iceweasel/plugin-container
11969:netblue:firejail --net=eth0 transmisie-gtk
11970:netblue:transmission-gtk

--user=nou-utilizator
Schimbați utilizatorul înainte de a porni sandbox-ul. Această comandă ar trebui să fie rulată ca root.

Exemplu:
# firejail --user=www-data

--versiune
Imprimați versiunea programului și ieșiți.

Exemplu:
$ firejail --versiune
firejail versiunea 0.9.27

--whitelist=dirname_or_filename
Lista albă director sau fișier. Această caracteristică este implementată numai pentru utilizatorul acasă, / dev,
/jumătate, / opt, / var și / tmp directoare.

Exemplu:
$ firejail --lista albă=~/.mozilla --lista albă=~ / Descărcări
$ firejail --lista albă=/tmp/.X11-unix --whitelist=/dev/null
$ firejail „--whitelist=/home/username/My Virtual Machines”

--zsh Utilizați /usr/bin/zsh ca shell utilizator implicit.

Exemplu:
$ firejail --zsh

TRAFIC FORMARE


Lățimea de bandă a rețelei este o resursă costisitoare partajată între toate sandbox-urile care rulează pe un sistem.
Modelarea traficului permite utilizatorului să mărească performanța rețelei prin controlul cantității
de date care curg în și din sandbox-uri.

Firejail implementează un model simplu de limitare a ratei bazat pe comanda Linux tc. Modelatorul
funcționează la nivel de sandbox și poate fi utilizat numai pentru sandbox-uri configurate cu rețea nouă
spații de nume.

Setați limite de rată:

firejail --bandwidth={name|pid} setează descărcarea în rețea

Ștergeți limitele de rată:

firejail --bandwidth={name|pid} șterge rețeaua

Statut:

firejail --bandwidth={name|pid} stare

în cazul în care:
nume - nume sandbox
pid - sandbox pid
rețea - interfață de rețea așa cum este utilizată de opțiunea --net
descărcare - viteza de descărcare în KB/s (kilobyte pe secundă)
încărcare - viteza de încărcare în KB/s (kilobyte pe secundă)

Exemplu:
$ firejail --name=mybrowser --net=eth0 firefox &
$ firejail --bandwidth=mybrowser set eth0 80 20
$ firejail --bandwidth=starea browserului meu
$ firejail --bandwidth=mybrowser-ul șterge eth0

MONITORIZAREA


Opțiunea --list tipărește o listă cu toate sandbox-urile. Formatul pentru fiecare intrare de proces este ca
urmează:

PID:USER:Comandă

Opțiunea --tree tipărește arborele proceselor care rulează în sandbox. Formatul pentru fiecare
procesul de intrare este după cum urmează:

PID:USER:Comandă

Opțiunea --top este similară cu comanda UNIX top, totuși se aplică numai sandbox-urilor.

Opțiunea --netstats imprimă statistici de rețea pentru sandbox-urile active care instalează o nouă rețea
spații de nume.

Mai jos sunt enumerate câmpurile (coloanele) disponibile în ordine alfabetică pentru --top și
Opțiuni --netstat:

Comandă
Comanda folosită pentru a porni sandbox-ul.

CPU% Utilizare CPU, cota sandbox a timpului CPU scurs de la ultima actualizare a ecranului

PID ID unic de proces pentru sarcina care controlează sandbox-ul.

Prcs Numărul de procese care rulează în sandbox, inclusiv procesul de control.

RES Resident Memory Size (KiB), memorie fizică sandbox non-swapped. Este o sumă de
valorile RES pentru toate procesele care rulează în sandbox.

RX (KB/s)
Viteza de recepție a rețelei.

SHR Shared Memory Size (KiB), reflectă memoria partajată cu alte procese. Este un
suma valorilor SHR pentru toate procesele care rulează în sandbox, inclusiv
proces de control.

TX(KB/s)
Viteza de transmisie a rețelei.

Timp de funcționare Sandbox în format ore:minute:secunde.

Utilizator Proprietarul sandbox-ului.

SECURITATE PROFILURILE


Mai multe opțiuni de linie de comandă pot fi transmise programului folosind fișiere de profil. Firejail
alege fișierul de profil după cum urmează:

1. Dacă un fișier de profil este furnizat de utilizator cu opțiunea --profile, fișierul de profil este
încărcat. Exemplu:

$ firejail --profile=/home/netblue/icecat.profile icecat
Citirea profilului /home/netblue/icecat.profile
[...]

2. Dacă este prezent un fișier de profil cu același nume ca aplicația
~/.config/firejail director sau în /etc/firejail, profilul este încărcat.
~/.config/firejail are prioritate asupra /etc/firejail. Exemplu:

$ firejail icecat
Numele comenzii #icecat#
S-a găsit profilul icecat în directorul /home/netblue/.config/firejail
Se citește profilul /home/netblue/.config/firejail/icecat.profile
[...]

3. Utilizați fișierul default.profile dacă sandbox-ul este pornit de un utilizator obișnuit sau server.profile
fișier dacă sandbox-ul este pornit de la root. Firejail caută aceste fișiere în
~/.config/firejail director, urmat de directorul /etc/firejail. Pentru a dezactiva implicit
încărcarea profilului, utilizați opțiunea de comandă --noprofile. Exemplu:

$ firejail
Citirea profilului /etc/firejail/generic.profile
PID părinte 8553, pid copil 8554
Procesul copil a fost inițializat
[...]

$ firejail --noprofile
PID părinte 8553, pid copil 8554
Procesul copil a fost inițializat
[...]

Vedeți man 5 firejail-profile pentru informații despre sintaxa fișierului de profil.

RESTRICTAT COAJĂ


Pentru a configura un shell restricționat, înlocuiți / bin / bash cu /usr/bin/firejail în /etc/parola
fișier pentru fiecare utilizator care trebuie restricționat. Alternativ, puteți specifica
/usr/bin/firejail în comanda adduser:

adduser --shell /usr/bin/firejail nume de utilizator

Argumentele suplimentare transmise executabilului firejail la conectare sunt declarate în
/etc/firejail/login.users fișier.

EXEMPLE


închisoare de foc
Începeți un obișnuit / bin / bash sesiune în sandbox.

firejail firefox
Porniți Mozilla Firefox.

firejail --debug firefox
Depanați sandbox-ul Firefox.

firejail --privat
Începeți o / bin / bash sesiune cu un nou director principal tmpfs.

firejail --net=br0 ip=10.10.20.10
Începeți o / bin / bash sesiune într-un nou spațiu de nume de rețea. Sesiunea este conectată la
rețeaua principală folosind dispozitivul br0 bridge. Este atribuită o adresă IP de 10.10.20.10
la cutia de nisip.

firejail --net=br0 --net=br1 --net=br2
Începeți o / bin / bash sesiune într-un spațiu de nume de rețea nou și conectați-l la br0, br1,
și dispozitive br2 host bridge.

firejail --listă
Listați toate procesele sandbox.

Utilizați firejail online folosind serviciile onworks.net


Servere și stații de lucru gratuite

Descărcați aplicații Windows și Linux

  • 1
    Client desktop Rocket.Chat
    Client desktop Rocket.Chat
    Clientul Rocket.Chat Desktop este
    aplicație desktop oficială pentru Rocket.Chat,
    web-ul open source simplu, dar puternic
    platforma de chat. Este testat pe macOS,
    Windows ...
    Descărcați Rocket.Chat Desktop Client
  • 2
    OfficeFloor
    OfficeFloor
    OfficeFloor oferă inversarea
    controlul cuplajului, cu: - dependenta
    injectare - continuare injectare -
    injecție filet Pentru mai multe informații
    Viziteaza...
    Descărcați OfficeFloor
  • 3
    DivKit
    DivKit
    DivKit este o sursă deschisă bazată pe server
    cadru UI (SDUI). Îți permite
    lansați actualizările provenite de la server la
    diferite versiuni de aplicație. De asemenea, poate fi
    folosit pentru ...
    Descărcați DivKit
  • 4
    subconvertor
    subconvertor
    Utilitate pentru a converti între diverse
    format de abonament. Utilizatori Shadowrocket
    ar trebui să folosească ss, ssr sau v2ray ca țintă.
    Puteți adăuga &remark= la
    HT apreciat de Telegram...
    Descărcați subconvertorul
  • 5
    SPĂLARE
    SPĂLARE
    SWASH este o valoare numerică de uz general
    instrument pentru simularea instabilității,
    nehidrostatic, cu suprafață liberă,
    flux rotaţional şi fenomene de transport
    în apele de coastă ca...
    Descărcați SWASH
  • 6
    VBA-M (arhivat - Acum pe Github)
    VBA-M (arhivat - Acum pe Github)
    Proiectul s-a mutat la
    https://github.com/visualboyadvance-m/visualboyadvance-m
    Caracteristici:Creații de înșelăciune salvează stări multiple
    sistem, acceptă gba, gbc, gb, sgb,
    sgb2Tu...
    Descărcați VBA-M (arhivat - Acum pe Github)
  • Mai mult »

Comenzi Linux

Ad