EnglischFranzösischSpanisch

OnWorks-Favicon

firejail – Online in der Cloud

Führen Sie Firejail im kostenlosen Hosting-Anbieter OnWorks über Ubuntu Online, Fedora Online, den Windows-Online-Emulator oder den MAC OS-Online-Emulator aus

Dies ist der Befehl firejail, der beim kostenlosen Hosting-Anbieter OnWorks mit einer unserer zahlreichen kostenlosen Online-Workstations wie Ubuntu Online, Fedora Online, dem Windows-Online-Emulator oder dem MAC OS-Online-Emulator ausgeführt werden kann

PROGRAMM:

NAME/FUNKTION


Firejail – Sandbox-Programm für Linux-Namespaces

ZUSAMMENFASSUNG


Starten Sie eine Sandbox:

firejail [OPTIONEN] [Programm und Argumente]

Netzwerk-Traffic-Shaping für eine bestehende Sandbox:

firejail --bandwidth={ | } Bandbreitenbefehl

Monitoring:

Feuergefängnis {--list | --netstats | --Nach oben | --Baum}

Sonstiges:

Feuergefängnis {-? | --debug-caps | --debug-errnos | --debug-syscalls | --debug-protocols
| --help | --Ausführung}

BESCHREIBUNG


Firejail ist ein SUID-Sandbox-Programm, das das Risiko von Sicherheitsverletzungen reduziert
Einschränkung der Ausführungsumgebung nicht vertrauenswürdiger Anwendungen mithilfe von Linux-Namespaces,
seccomp-bpf und Linux-Funktionen. Es ermöglicht einem Prozess und allen seinen Nachkommen, Folgendes zu haben
ihre eigene private Sicht auf die global gemeinsam genutzten Kernel-Ressourcen, wie zum Beispiel den Netzwerk-Stack,
Prozesstisch, Montagetisch. Firejail kann in einer SELinux- oder AppArmor-Umgebung funktionieren
Es ist in Linux-Kontrollgruppen integriert.

Die in C geschriebene Software praktisch ohne Abhängigkeiten läuft auf jedem Linux-Computer mit
eine 3.x-Kernelversion oder neuer. Es kann jede Art von Prozessen in einer Sandbox ausführen: Server, grafisch
Anwendungen und sogar Benutzeranmeldesitzungen.

Mit Firejail kann der Benutzer die Anwendungssicherheit mithilfe von Sicherheitsprofilen verwalten. Jede
Das Profil definiert eine Reihe von Berechtigungen für eine bestimmte Anwendung oder Anwendungsgruppe.
Die Software enthält Sicherheitsprofile für eine Reihe gängigerer Linux-Programme, z
wie Mozilla Firefox, Chromium, VLC, Transmission usw.

ANWENDUNG


Ohne Optionen besteht die Sandbox aus einem Chroot-Dateisystem, das in einem neuen Mount erstellt wird
Namespace und neue PID- und UTS-Namespaces. IPC-, Netzwerk- und Benutzernamensräume können hinzugefügt werden
mithilfe der Befehlszeilenoptionen. Das standardmäßige Firejail-Dateisystem basiert auf dem Host
Dateisystem, wobei die Hauptverzeichnisse schreibgeschützt gemountet sind. Nur / Home und / Tmp sind beschreibbar.

Beim Start versucht Firejail, anhand des Namens ein Sicherheitsprofil zu finden
Anwendung. Wenn kein geeignetes Profil gefunden wird, verwendet Firejail ein Standardprofil.
Das Standardprofil ist recht restriktiv. Falls die Anwendung nicht funktioniert, verwenden Sie
Option --noprofile, um es zu deaktivieren. Weitere Informationen finden Sie unter SICHERHEIT PROFILE
.

Wenn kein Programmargument angegeben ist, startet Firejail / bin / bash Hülse. Beispiele:

$ firejail [OPTIONEN] # Starten von a / bin / bash Schale

$ firejail [OPTIONEN] firefox # Starten von Mozilla Firefox

# sudo firejail [OPTIONEN] /etc/init.d/nginx start

OPTIONAL


-- Signalisiert das Ende der Optionen und deaktiviert die weitere Optionsverarbeitung.

--bandwidth=Name
Legen Sie Bandbreitengrenzen für die namentlich identifizierte Sandbox fest, siehe DER VERKEHR GESTALTUNG
Abschnitt für weitere Details.

--bandwidth=pid
Legen Sie Bandbreitengrenzen für die durch die PID identifizierte Sandbox fest, siehe DER VERKEHR GESTALTUNG Abschnitt
für weitere Informationen an.

--bind=Verzeichnisname1,Verzeichnisname2
Mounten und binden Sie Dirname1 über Dirname2. Diese Option ist nur beim Ausführen verfügbar
die Sandbox als Root.

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

--bind=Dateiname1,Dateiname2
Mounten und binden Sie Dateiname1 über Dateiname2. Diese Option ist nur verfügbar, wenn
läuft als root.

Beispiel:
# firejail --bind=/config/etc/passwd,/ etc / passwd

--blacklist=Verzeichnisname_oder_Dateiname
Verzeichnis oder Datei auf die schwarze Liste setzen.

Beispiel:
$ firejail --blacklist=/ sbin --blacklist=/ usr / sbin
$ firejail --blacklist=~/.mozilla
$ firejail „--blacklist=/home/username/My Virtual Machines“

-c Befehl ausführen und beenden.

--Kappen Linux-Funktionen sind eine Kernel-Funktion, die dazu dient, die Root-Rechte aufzuteilen
eine Reihe unterschiedlicher Privilegien. Diese Berechtigungen können aktiviert oder deaktiviert werden
unabhängig und schränkt somit ein, was ein als Root ausgeführter Prozess tun kann
System funktionieren.

Standardmäßig werden Root-Programme mit allen aktivierten Funktionen ausgeführt. Die Option --caps wird deaktiviert
die folgenden Fähigkeiten: CAP_SYS_MODULE, CAP_SYS_RAWIO, CAP_SYS_BOOT,
CAP_SYS_NICE, CAP_SYS_TTY_CONFIG, CAP_SYSLOG, CAP_MKNOD, CAP_SYS_ADMIN. Der Filter
wird auf alle in der Sandbox gestarteten Prozesse angewendet.

Beispiel:
$ sudo firejail --caps "/etc/init.d/nginx start && sleep inf"

--caps.drop=all
Löschen Sie alle Funktionen für die in der Sandbox ausgeführten Prozesse. Diese Option ist
Empfohlen für die Ausführung von GUI-Programmen oder anderen Programmen, die kein Root benötigen
Privilegien. Es ist eine unverzichtbare Option zum Sandboxing nicht vertrauenswürdiger installierter Programme
aus inoffiziellen Quellen – wie Spielen, Java-Programmen usw.

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

--caps.drop=Fähigkeit,Fähigkeit,Fähigkeit
Definieren Sie einen benutzerdefinierten Blacklist-Linux-Funktionsfilter.

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

--caps.keep=Fähigkeit,Fähigkeit,Fähigkeit
Definieren Sie einen benutzerdefinierten Whitelist-Linux-Funktionsfilter.

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

Eine kurze Anmerkung zum Mischen der Optionen --whitelist und --read-only. Auf der Whitelist
Verzeichnisse sollten unabhängig voneinander schreibgeschützt gemacht werden. Ein übergeordnetes Verzeichnis lesen lassen
Nur wird die Whitelist nicht schreibgeschützt gemacht. Beispiel:
$ firejail --whitelist=~/Arbeit --read-only=~/ --read-only=~/Arbeit

--caps.print=Name
Drucken Sie den Caps-Filter für die namentlich identifizierte Sandbox.

Beispiel:
$ firejail --name=mygame --caps.drop=all warzone2100 &
[...]
$ firejail --caps.print=mygame

--caps.print=pid
Drucken Sie den Caps-Filter für eine durch PID identifizierte Sandbox.

Beispiel:
$ firejail --list
3272:netblue:firejail --private Firefox
$ firejail --caps.print=3272

--cgroup=Aufgabendatei
Platzieren Sie die Sandbox in der angegebenen Kontrollgruppe. Die Aufgabendatei ist der vollständige Pfad von
cgroup-Aufgabendatei.

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

--chroot=Verzeichnisname
Chrooten Sie die Sandbox in ein Root-Dateisystem. Wenn die Sandbox regulär gestartet wird
Benutzer-, Standard-Seccomp- und Capabilities-Filter sind aktiviert.

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

--cpu=CPU-Nummer,CPU-Nummer,CPU-Nummer
Legen Sie die CPU-Affinität fest.

Beispiel:
$ firejail --cpu=0,1 Handbremse

--csh Verwenden Sie /bin/csh als Standardbenutzer-Shell.

Beispiel:
$ firejail --csh

--debuggen
Debug-Meldungen drucken.

Beispiel:
$ firejail --debug firefox

--debug-blacklists
Blacklisting debuggen.

Beispiel:
$ firejail --debug-blacklists Firefox

--debug-caps
Drucken Sie alle erkannten Funktionen im aktuellen Firejail-Software-Build und beenden Sie ihn.

Beispiel:
$ firejail --debug-caps

--debug-check-Dateiname
Debuggen Sie die Überprüfung des Dateinamens.

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

--debug-errnos
Alle erkannten Fehlernummern im aktuellen Firejail-Software-Build ausgeben und beenden.

Beispiel:
$ firejail --debug-errnos

--debug-protocols
Drucken Sie alle erkannten Protokolle im aktuellen Firejail-Software-Build und beenden Sie ihn.

Beispiel:
$ firejail --debug-protocols

--debug-syscalls
Alle erkannten Systemaufrufe im aktuellen Firejail-Software-Build ausgeben und beenden.

Beispiel:
$ firejail --debug-syscalls

--debug-whitelsts
Whitelisting debuggen.

Beispiel:
$ firejail --debug-whitelists Firefox

--defaultgw=Adresse
Verwenden Sie diese Adresse als Standard-Gateway im neuen Netzwerk-Namespace.

Beispiel:
$ firejail --net=eth0 --defaultgw=10.10.20.1 Firefox

--dns=Adresse
Legen Sie einen DNS-Server für die Sandbox fest. Es können bis zu drei DNS-Server definiert werden. Benutze das
Option, wenn Sie dem DNS-Setup in Ihrem Netzwerk nicht vertrauen.

Beispiel:
$ firejail --dns=8.8.8.8 --dns=8.8.4.4 Firefox

--dns.print=Name
Drucken Sie die DNS-Konfiguration für eine namentlich identifizierte Sandbox.

Beispiel:
$ firejail --name=mygame --caps.drop=all warzone2100 &
[...]
$ firejail --dns.print=mygame

--dns.print=pid
Drucken Sie die DNS-Konfiguration für eine durch PID identifizierte Sandbox.

Beispiel:
$ firejail --list
3272:netblue:firejail --private Firefox
$ firejail --dns.print=3272

--env=Name=Wert
Umgebungsvariable in der neuen Sandbox festlegen.

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

--Macht
Wenn Firejail in einer vorhandenen Sandbox gestartet wird, wird das Programm standardmäßig ausgeführt
in einer Bash-Shell. Diese Option deaktiviert dieses Verhalten und versucht zu starten
Firejail in der vorhandenen Sandbox. Es kann viele Gründe dafür geben, dass es scheitert,
zum Beispiel, wenn die vorhandene Sandbox Administratorfunktionen, SUID-Binärdateien usw. deaktiviert
wenn es seccomp ausführt.

--fs.print=Name
Drucken Sie das Dateisystemprotokoll für die namentlich identifizierte Sandbox.

Beispiel:
$ firejail --name=mygame --caps.drop=all warzone2100 &
[...]
$ firejail --fs.print=mygame

--fs.print=pid
Drucken Sie das Dateisystemprotokoll für eine durch PID identifizierte Sandbox.

Beispiel:
$ firejail --list
3272:netblue:firejail --private Firefox
$ firejail --fs.print=3272

-?, --help
Druckoptionen beenden.

--hostname=Name
Legen Sie den Sandbox-Hostnamen fest.

Beispiel:
$ firejail --hostname=officepc firefox

--ignore=Befehl
Befehl in der Profildatei ignorieren.

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

--interface=Schnittstelle
Schnittstelle in einen neuen Netzwerk-Namespace verschieben. Es können bis zu vier --interface-Optionen vorhanden sein
spezifiziert.

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

--ip=Adresse
Weisen Sie der letzten Netzwerkschnittstelle, die durch die Option --net definiert wurde, IP-Adressen zu. A
Das Standard-Gateway ist standardmäßig zugewiesen.

Beispiel:
$ firejail --net=eth0 --ip=10.10.20.56 Firefox

--ip=none
Für die zuletzt definierte Schnittstelle sind keine IP-Adresse und kein Standard-Gateway konfiguriert
durch eine --net-Option. Nutzen Sie diese Option, wenn Sie beabsichtigen, ein externes DHCP zu starten
Client in der Sandbox.

Beispiel:
$ firejail --net=eth0 --ip=none

--ip6=Adresse
Weisen Sie der letzten Netzwerkschnittstelle, die durch die Option --net definiert wurde, IPv6-Adressen zu.

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

--iprange=Adresse,Adresse
Weisen Sie der letzten von definierten Netzwerkschnittstelle eine IP-Adresse im bereitgestellten Bereich zu
eine --net-Option. Standardmäßig ist ein Standard-Gateway zugewiesen.

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

--ipc-namespace
Aktivieren Sie einen neuen IPC-Namespace, wenn die Sandbox als regulärer Benutzer gestartet wurde. IPC
Der Namespace ist standardmäßig für Sandboxes aktiviert, die als Root gestartet werden.

Beispiel:
$ firejail --ipc-namespace firefox

--join=Name
Treten Sie der namentlich gekennzeichneten Sandbox bei. Standardmäßig a / bin / bash Shell wird danach gestartet
Beitritt zur Sandbox. Wenn ein Programm angegeben ist, wird das Programm in der Sandbox ausgeführt.
Wenn der Befehl --join als regulärer Benutzer ausgegeben wird, werden alle Sicherheitsfilter konfiguriert
Für den neuen Prozess gelten die gleichen wie sie in der Sandbox konfiguriert sind. Wenn der Befehl --join
wird als Root ausgegeben, die Sicherheitsfilter, Kontrollgruppen und CPU-Konfigurationen jedoch nicht
Wird auf den Prozess angewendet, der der Sandbox beitritt.

Beispiel:
$ firejail --name=mygame --caps.drop=all warzone2100 &
[...]
$ firejail --join=mygame

--join=pid
Treten Sie der durch die Prozess-ID identifizierten Sandbox bei. Standardmäßig a / bin / bash Shell wird gestartet
nach dem Beitritt zur Sandbox. Wenn ein Programm angegeben ist, wird das Programm im ausgeführt
Sandkasten. Wenn der Befehl --join als regulärer Benutzer ausgegeben wird, gelten alle Sicherheitsfilter
werden für den neuen Prozess genauso konfiguriert wie in der Sandbox. Wenn
Der Befehl --join wird als Root, die Sicherheitsfilter, cgroups und cpus ausgegeben
Konfigurationen werden nicht auf den Prozess angewendet, der der Sandbox beitritt.

Beispiel:
$ firejail --list
3272:netblue:firejail --private Firefox
$ firejail --join=3272

--join-filesystem=Name
Treten Sie dem Mount-Namespace der durch den Namen identifizierten Sandbox bei. Standardmäßig a / bin / bash
Shell wird nach dem Beitritt zur Sandbox gestartet. Wenn ein Programm angegeben ist, das Programm
wird in der Sandbox ausgeführt. Dieser Befehl ist nur für Root-Benutzer verfügbar. Sicherheit
Filter, Kontrollgruppen und CPU-Konfigurationen werden nicht auf den Prozess angewendet, der dem beitritt
Sandkasten.

--join-filesystem=pid
Treten Sie dem Mount-Namespace der Sandbox bei, die durch die Prozess-ID identifiziert wird. Standardmäßig a
/ bin / bash Shell wird nach dem Beitritt zur Sandbox gestartet. Wenn ein Programm angegeben ist,
Das Programm wird in der Sandbox ausgeführt. Dieser Befehl ist nur für Root-Benutzer verfügbar.
Sicherheitsfilter, Kontrollgruppen und CPU-Konfigurationen werden nicht auf den Prozess angewendet
Beitritt zur Sandbox.

--join-network=Name
Treten Sie dem Netzwerk-Namespace der namentlich identifizierten Sandbox bei. Standardmäßig a
/ bin / bash Shell wird nach dem Beitritt zur Sandbox gestartet. Wenn ein Programm angegeben ist,
Das Programm wird in der Sandbox ausgeführt. Dieser Befehl ist nur für Root-Benutzer verfügbar.
Sicherheitsfilter, Kontrollgruppen und CPU-Konfigurationen werden nicht auf den Prozess angewendet
Beitritt zur Sandbox.

--join-network=pid
Treten Sie dem Netzwerk-Namespace der Sandbox bei, die durch die Prozess-ID identifiziert wird. Standardmäßig a
/ bin / bash Shell wird nach dem Beitritt zur Sandbox gestartet. Wenn ein Programm angegeben ist,
Das Programm wird in der Sandbox ausgeführt. Dieser Befehl ist nur für Root-Benutzer verfügbar.
Sicherheitsfilter, Kontrollgruppen und CPU-Konfigurationen werden nicht auf den Prozess angewendet
Beitritt zur Sandbox.

--aufführen Alle Sandboxes auflisten, siehe ÜBERWACHUNG Abschnitt für weitere Details.

Beispiel:
$ firejail --list
7015:netblue:firejail Firefox
7056:netblue:firejail --net=eth0 Transmission-GTK
7064:netblue:firejail --noroot xterm
$

--mac=Adresse
Weisen Sie der letzten Netzwerkschnittstelle, die durch die Option --net definiert wurde, MAC-Adressen zu.

Beispiel:
$ firejail --net=eth0 --mac=00:11:22:33:44:55 Firefox

--mtu=Nummer
Weisen Sie der letzten Netzwerkschnittstelle, die durch die Option --net definiert wird, einen MTU-Wert zu.

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

--name=Name
Sandbox-Namen festlegen. Mehrere Optionen, wie zum Beispiel --join und --shutdown, können diesen Namen verwenden
um eine Sandbox zu identifizieren.

Beispiel:
$ firejail --name=mybrowser firefox

--net=bridge_interface
Aktivieren Sie einen neuen Netzwerk-Namespace und verbinden Sie ihn mit dieser Bridge-Schnittstelle. Es sei denn
angegeben mit der Option --ip und --defaultgw, einer IP-Adresse und einem Standard-Gateway
werden automatisch der Sandbox zugewiesen. Die IP-Adresse wird mittels ARP verifiziert
vor dem Einsatz. Die als Standard-Gateway konfigurierte Adresse ist das Bridge-Gerät
IP Adresse. Es können bis zu vier --net Bridge-Geräte definiert werden. Mischbrücke und
Macvlan-Geräte sind zulässig.

Beispiel:
$ 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=ethernet_interface
Aktivieren Sie einen neuen Netzwerk-Namespace und verbinden Sie ihn mithilfe von mit dieser Ethernet-Schnittstelle
Standard-Linux-MacVLAN-Treiber. Sofern nicht mit der Option --ip und --defaultgw angegeben,
Der Sandbox werden automatisch eine IP-Adresse und ein Standard-Gateway zugewiesen.
Die IP-Adresse wird vor der Zuweisung mittels ARP verifiziert. Die Adresse, die als konfiguriert ist
Standard-Gateway ist das Standard-Gateway des Hosts. Es können bis zu vier --net-Geräte sein
definiert. Das Mischen von Bridge- und MacVLAN-Geräten ist erlaubt.

Beispiel:
$ firejail --net=eth0 --ip=192.168.1.80 --dns=8.8.8.8 Firefox

--net=none
Aktivieren Sie einen neuen, nicht verbundenen Netzwerk-Namespace. Die einzige verfügbare Schnittstelle in der
Neuer Namespace ist eine neue Loopback-Schnittstelle (lo). Verwenden Sie diese Option, um das Netzwerk zu verweigern
Zugriff auf Programme, die keinen Netzwerkzugriff benötigen.

Beispiel:
$ firejail --net=none vlc

--netfilter
Aktivieren Sie einen Standard-Client-Netzwerkfilter im neuen Netzwerk-Namespace. Neues Netzwerk
Namespaces werden mit der Option --net erstellt. Wenn es keine neuen Netzwerk-Namespaces gibt
erstellt, die Option --netfilter bewirkt nichts. Der Standardfilter lautet wie folgt:

*Filter
:INPUT DROP [0:0]
:VORWÄRTSDROP [0:0]
:OUTPUT ACCEPT [0:0]
-A EINGANG -i lo -j AKZEPTIEREN
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp --icmp-type destination-unreachable -j ACCEPT
-A INPUT -p icmp --icmp-type time-exceeded -j ACCEPT
-A INPUT -p icmp --icmp-type echo-request -j ACCEPT
VERPFLICHTEN

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

--netfilter=Dateiname
Aktivieren Sie den durch den Dateinamen angegebenen Netzwerkfilter im neuen Netzwerk-Namespace. Der
Das Filterdateiformat ist das Format der Befehle iptables-save und iptable-restore.
Neue Netzwerk-Namespaces werden mit der Option --net erstellt. Wenn ein neues Netzwerk-Namespaces
nicht erstellt wird, bewirkt die Option --netfilter nichts.

Die folgenden Filter sind im Verzeichnis /etc/firejail verfügbar:

webserver.net ist ein Webserverfilter, der nur den Zugriff auf die TCP-Ports 80 und XNUMX zulässt
443. Beispiel:

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

nolocal.net ist ein Clientfilter, der den Zugriff auf das lokale Netzwerk deaktiviert. Beispiel:

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

--netfilter6=Dateiname
Aktivieren Sie den durch den Dateinamen angegebenen IPv6-Netzwerkfilter im neuen Netzwerk-Namespace.
Das Filterdateiformat ist das Format von ip6tables-save und ip6table-restore
Befehle. Neue Netzwerk-Namespaces werden mit der Option --net erstellt. Wenn ein neues Netzwerk
Namespaces werden nicht erstellt, die Option --netfilter6 führt nichts aus.

--netstats
Überwachen Sie die Netzwerk-Namespace-Statistiken, siehe ÜBERWACHUNG Abschnitt für weitere Details.

Beispiel:

$ firejail --netstats
PID-Benutzer RX(KB/s) TX(KB/s) Befehl
1294 netblue 53.355 1.473 firejail --net=eth0 Firefox
7383 netblue 9.045 0.112 firejail --net=eth0 Übertragung

--noblacklist=Verzeichnisname_oder_Dateiname
Deaktivieren Sie die Blacklist für dieses Verzeichnis oder diese Datei.

Beispiel:
$ Feuergefängnis
$ nc dict.org 2628
Bash: /bin/nc: Zugriff verweigert
$ beenden

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

--keine Gruppen
Zusatzgruppen deaktivieren. Ohne diese Option sind Zusatzgruppen aktiviert
für den Benutzer, der die Sandbox startet. Für Root-Benutzer gibt es immer zusätzliche Gruppen
behindert.

Beispiel:
$-ID
uid=1000(netblue) gid=1000(netblue)
groups=1000(netblue),24(cdrom),25(floppy),27(sudo),29(audio)
$ firejail --nogroups
Übergeordnete PID 8704, untergeordnete PID 8705
Untergeordneter Prozess initialisiert
$-ID
uid=1000(netblue) gid=1000(netblue) groups=1000(netblue)
$

--kein Profil
Verwenden Sie kein Sicherheitsprofil.

Beispiel:
$ Feuergefängnis
Leseprofil /etc/firejail/generic.profile
Übergeordnete PID 8553, untergeordnete PID 8554
Untergeordneter Prozess initialisiert
[...]

$ firejail --noprofile
Übergeordnete PID 8553, untergeordnete PID 8554
Untergeordneter Prozess initialisiert
[...]

--keine Wurzel
Installieren Sie einen Benutzernamensraum mit einem einzelnen Benutzer – dem aktuellen Benutzer. Root-Benutzer nicht
existieren im neuen Namensraum. Diese Option erfordert eine Linux-Kernel-Version 3.8 oder
neuer. Die Option wird für die Konfigurationen --chroot und --overlay nicht unterstützt
für Sandboxes, die als Root gestartet wurden.

Beispiel:
$ firejail --noroot
Übergeordnete PID 8553, untergeordnete PID 8554
Untergeordneter Prozess initialisiert
$ping an google.com
Ping: ICMP-Socket öffnen: Vorgang nicht zulässig
$

--keinen Ton
Soundsystem deaktivieren.

Beispiel:
$ firejail --nosound firefox

--output=Protokolldatei
Standardprotokollierung und Protokollrotation. Kopieren Sie stdout in die Protokolldatei und behalten Sie die Größe bei
Datei unter 500 KB mithilfe der Protokollrotation. Es werden fünf Dateien mit den Präfixen .1 bis .5 verwendet
Drehung.

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

- Überlagerung
Mounten Sie ein Dateisystem-Overlay über dem aktuellen Dateisystem. Alle Dateisysteme
Änderungen gehen in das Overlay ein. Das Overlay wird in $HOME/.firejail gespeichert
Verzeichnis.

Damit diese Option funktioniert, ist OverlayFS-Unterstützung im Linux-Kernel erforderlich. OverlayFS
wurde offiziell in der Linux-Kernel-Version 3.18 eingeführt

Beispiel:
$ firejail --overlay firefox

--overlay-tmpfs
Mounten Sie ein Dateisystem-Overlay über dem aktuellen Dateisystem. Alle Dateisysteme
Änderungen werden in das Overlay übernommen und verworfen, wenn die Sandbox geschlossen wird.

Damit diese Option funktioniert, ist OverlayFS-Unterstützung im Linux-Kernel erforderlich. OverlayFS
wurde offiziell in der Linux-Kernel-Version 3.18 eingeführt

Beispiel:
$ firejail --overlay-tmpfs firefox

--Privatgelände
Neu montieren / Root und /home/user-Verzeichnisse in temporären Dateisystemen. Alle
Änderungen werden verworfen, wenn die Sandbox geschlossen wird.

Beispiel:
$ firejail --private firefox

--private=Verzeichnis
Verwenden Sie das Verzeichnis als Benutzer-Home.

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

--private-bin=Datei,Datei
Baue ein neues /Behälter in einem temporären Dateisystem und kopieren Sie die Programme in der Liste. Der
Über dasselbe Verzeichnis wird auch ein Bind-Mount durchgeführt / sbin, / usr / bin und /usr/sbin.

Beispiel:
$ firejail --private-bin=bash,sed,ls,cat
Übergeordnete PID 20841, untergeordnete PID 20842
Untergeordneter Prozess initialisiert
$ls /Behälter
bash cat ls sed

--private-dev
Erstelle eine neue / dev Verzeichnis. Nur dri, null, voll, null, tty, pts, ptmx, zufällig,
Urandom-, Log- und SHM-Geräte sind verfügbar.

Beispiel:
$ firejail --private-dev
Übergeordnete PID 9887, untergeordnete PID 9888
Untergeordneter Prozess initialisiert
$ls / dev
dri full log null ptmx pts random shm tty urandom null
$

--private-etc=Datei,Verzeichnis
Baue ein neues / Etc in einem temporären Dateisystem und kopieren Sie die Dateien und Verzeichnisse hinein
Die Liste. Alle Änderungen werden verworfen, wenn die Sandbox geschlossen wird.

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

--private-tmp
Hängen Sie ein leeres temporäres Dateisystem darüber ein / Tmp Verzeichnis.

Beispiel:
$ firejail --private-tmp

--profile=Dateiname
Laden Sie ein benutzerdefiniertes Sicherheitsprofil aus Dateiname. Verwenden Sie für den Dateinamen einen absoluten Pfad oder
ein Pfad relativ zum aktuellen Pfad. Weitere Informationen finden Sie unter SICHERHEIT PROFILE
Abschnitt unten.

Beispiel:
$ firejail --profile=meinprofil

--profile-path=Verzeichnis
Verwenden Sie dieses Verzeichnis, um nach Profildateien zu suchen. Verwenden Sie einen absoluten Pfad oder einen Pfad im
Home-Verzeichnis beginnend mit ~ /. Für weitere Informationen, siehe SICHERHEIT PROFILE
Abschnitt unten und UMZUG PROFIL DATEIEN in Mann 5 Firejail-Profil.

Beispiel:
$ firejail --profile-path=~/myprofiles
$ firejail --profile-path=/home/netblue/myprofiles

--protocol=Protokoll,Protokoll,Protokoll
Protokollfilter aktivieren. Der Filter basiert auf seccomp und prüft den ersten
Argument für den Socket-Systemaufruf. Erkannte Werte: Unix, Inet, Inet6, Netlink und
Paket.

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

--protocol.print=Name
Drucken Sie den Protokollfilter für die namentlich identifizierte Sandbox.

Beispiel:
$ firejail --name=mybrowser firefox &
[...]
$ firejail --print.print=mybrowser
Unix, Inet, Inet6, Netlink

--protocol.print=pid
Drucken Sie den Protokollfilter für eine durch PID identifizierte Sandbox.

Beispiel:
$ firejail --list
3272:netblue:firejail --private Firefox
$ firejail --protocol.print=3272
Unix, Inet, Inet6, Netlink

--ruhig
Schalten Sie die Ausgabe von Firejail aus.

--read-only=Verzeichnisname_oder_Dateiname
Verzeichnis oder Datei schreibgeschützt festlegen.

Beispiel:
$ firejail --read-only=~/.mozilla firefox

--rlimit-fsize=Nummer
Legen Sie die maximale Dateigröße fest, die von einem Prozess erstellt werden kann.

--rlimit-nofile=Nummer
Legen Sie die maximale Anzahl von Dateien fest, die von einem Prozess geöffnet werden können.

--rlimit-nproc=Nummer
Legen Sie die maximale Anzahl von Prozessen fest, die für die echte Benutzer-ID des erstellt werden können
aufrufenden Prozess.

--rlimit-sigpending=Nummer
Legen Sie die maximale Anzahl ausstehender Signale für einen Prozess fest.

--Scan ARP-Scan aller Netzwerke innerhalb eines Netzwerk-Namespace. Das macht es möglich
um Macvlan-Kernel-Gerätetreiber zu erkennen, die auf dem aktuellen Host ausgeführt werden.

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

--seccomp
Aktivieren Sie den Seccomp-Filter und setzen Sie die Systemaufrufe in der Standardliste auf die schwarze Liste. Der Standard
Die Liste lautet wie folgt: 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, changes_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 und chroot.

Beispiel:
$ firejail --seccomp

--seccomp=syscall,syscall,syscall
Aktivieren Sie den Seccomp-Filter, setzen Sie die Standardliste und die von der angegebenen Systemaufrufe auf die schwarze Liste
Befehl.

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

--seccomp.drop=syscall,syscall,syscall
Aktivieren Sie den Seccomp-Filter und setzen Sie die durch den Befehl angegebenen Systemaufrufe auf die schwarze Liste.

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

--seccomp.keep=syscall,syscall,syscall
Aktivieren Sie den Seccomp-Filter und setzen Sie die durch den Befehl angegebenen Systemaufrufe auf die Whitelist.

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

--seccomp. =Systemaufruf,Systemaufruf,Systemaufruf
Aktivieren Sie den Seccomp-Filter und geben Sie errno für die durch den Befehl angegebenen Systemaufrufe zurück.

Beispiel: eine Bash-Shell, in der das Löschen von Dateien deaktiviert ist

$ firejail --seccomp.eperm=unlinkat
Übergeordnete PID 10662, untergeordnete PID 10663
Untergeordneter Prozess initialisiert
$ touch testdatei
$ rm Testdatei
rm: „Testdatei“ kann nicht entfernt werden: Vorgang nicht zulässig

--seccomp.print=Name
Drucken Sie den Seccomp-Filter für die Sandbox, die mit der Option --name gestartet wurde.

Beispiel:
$ firejail --name=browser firefox &
$ firejail --seccomp.print=browser
SECCOMP-Filter:
VALIDATE_ARCHITECTURE
EXAMINE_SYSCALL
BLACKLIST 165 Halterung
BLACKLIST 166 umount2
BLACKLIST 101 ptrace
BLACKLIST 246 kexec_load
BLACKLIST 304 open_by_handle_at
BLACKLIST 175 init_module
BLACKLIST 176 delete_module
BLACKLIST 172 iopl
BLACKLIST 173 ioperm
BLACKLIST 167 Swap
BLACKLIST 168 Swapoff
BLACKLIST 103 Syslog
BLACKLIST 310 process_vm_readv
BLACKLIST 311 process_vm_writev
BLACKLIST 133 mknod
BLACKLIST 139 sysfs
BLACKLIST 156 _sysctl
BLACKLIST 159 adjtimex
BLACKLIST 305 clock_adjtime
BLACKLIST 212 lookup_dcookie
BLACKLIST 298 perf_event_open
BLACKLIST 300 fanotify_init
RETURN_ALLOW
$

--seccomp.print=pid
Drucken Sie den Seccomp-Filter für die durch die Prozess-ID angegebene Sandbox. Verwenden Sie die Option --list
um eine Liste aller aktiven Sandboxes zu erhalten.

Beispiel:
$ firejail --list
10786:netblue:firejail --name=browser firefox $ firejail --seccomp.print=10786
SECCOMP-Filter:
VALIDATE_ARCHITECTURE
EXAMINE_SYSCAL
BLACKLIST 165 Halterung
BLACKLIST 166 umount2
BLACKLIST 101 ptrace
BLACKLIST 246 kexec_load
BLACKLIST 304 open_by_handle_at
BLACKLIST 175 init_module
BLACKLIST 176 delete_module
BLACKLIST 172 iopl
BLACKLIST 173 ioperm
BLACKLIST 167 Swap
BLACKLIST 168 Swapoff
BLACKLIST 103 Syslog
BLACKLIST 310 process_vm_readv
BLACKLIST 311 process_vm_writev
BLACKLIST 133 mknod
BLACKLIST 139 sysfs
BLACKLIST 156 _sysctl
BLACKLIST 159 adjtimex
BLACKLIST 305 clock_adjtime
BLACKLIST 212 lookup_dcookie
BLACKLIST 298 perf_event_open
BLACKLIST 300 fanotify_init
RETURN_ALLOW
$

--shell=none
Führen Sie das Programm direkt aus, ohne eine Benutzer-Shell.

Beispiel:
$ firejail --shell=none script.sh

--shell=Programm
Legen Sie die Standardbenutzer-Shell fest. Verwenden Sie diese Shell, um die Anwendung mit der -c-Shell auszuführen
Möglichkeit. Zum Beispiel „firejail --shell=/bin/Bindestrich Firefox“ startet Mozilla
Firefox als „/bin/Bindestrich -c Firefox". Standardmäßig ist die Bash-Shell (/ bin / bash) wird eingesetzt.
Optionen wie --zsh und --csh können auch die Standard-Shell festlegen.

Beispiel: $firejail --shell=/bin/Bindestrich script.sh

--shutdown=Name
Das Herunterfahren der Sandbox wurde mit der Option --name gestartet.

Beispiel:
$ firejail --name=mygame --caps.drop=all warzone2100 &
[...]
$ firejail --shutdown=mygame

--shutdown=pid
Fahren Sie die durch die Prozess-ID angegebene Sandbox herunter. Verwenden Sie die Option --list, um eine Liste zu erhalten
alle aktiven Sandboxes.

Beispiel:
$ firejail --list
3272:netblue:firejail --private Firefox
$ firejail --shutdown=3272

--tmpfs=Verzeichnisname
Mounten Sie ein tmpfs-Dateisystem im Verzeichnis Dirname. Diese Option ist nur verfügbar, wenn
Ausführen der Sandbox als Root.

Beispiel:
# firejail --tmpfs=/ var

--oben Überwachen Sie die CPU-intensivsten Sandboxes, siehe ÜBERWACHUNG Abschnitt für weitere Details.

Beispiel:
$ firejail --top

--verfolgen
Verfolgen Sie offene Systemaufrufe, greifen Sie darauf zu und verbinden Sie sie.

Beispiel:
$ firejail --trace wget -q www.debian.org
Übergeordnete PID 11793, untergeordnete PID 11794
Untergeordneter Prozess initialisiert
1:bash:öffne /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

Eltern machen dicht, tschüss...

--tracelog
Diese Option ermöglicht die Überwachung von Dateien und Verzeichnissen auf der schwarzen Liste. Eine Nachricht wird gesendet
an Syslog, falls auf die Datei oder das Verzeichnis zugegriffen wird.

Beispiel:
$ firejail --tracelog firefox

Beispielnachrichten:
$ sudo tail -f / var / log / syslog
[...]
3. Dezember 11:43:25 Debian Firejail[70]: Blacklist-Verstoß – Sandbox 26370, exe
Firefox, Systemaufruf open64, Pfad / etc / Schatten
3. Dezember 11:46:17 Debian Firejail[70]: Blacklist-Verstoß – Sandbox 26370, exe
Firefox, Systemaufruf OpenDir, Pfad / boot
[...]

--Baum Drucken Sie einen Baum aller Sandbox-Prozesse, siehe ÜBERWACHUNG Abschnitt für weitere Details.

Beispiel:
$ firejail --tree
11903:netblue:firejail Iceweasel
11904:netblue:iceweasel
11957:netblue:/usr/lib/iceweasel/plugin-container
11969:netblue:firejail --net=eth0 Transmission-GTK
11970:netblue:transmission-gtk

--user=neuer-Benutzer
Wechseln Sie den Benutzer, bevor Sie die Sandbox starten. Dieser Befehl sollte als Root ausgeführt werden.

Beispiel:
# firejail --user=www-data

--Version
Programmversion drucken und beenden.

Beispiel:
$ firejail --version
Firejail-Version 0.9.27

--whitelist=Verzeichnisname_oder_Dateiname
Verzeichnis oder Datei auf die Whitelist setzen. Diese Funktion ist nur für den Benutzer zu Hause implementiert. / dev,
/Medien, / opt, / var und / Tmp Verzeichnisse.

Beispiel:
$ firejail --whitelist=~/.mozilla --whitelist=~ / Downloads
$ firejail --whitelist=/tmp/.X11-unix --whitelist=/dev/null
$ firejail „--whitelist=/home/username/My Virtual Machines“

--zsh Verwenden Sie /usr/bin/zsh als Standardbenutzer-Shell.

Beispiel:
$ firejail --zsh

DER VERKEHR GESTALTUNG


Netzwerkbandbreite ist eine teure Ressource, die von allen auf einem System ausgeführten Sandboxes gemeinsam genutzt wird.
Traffic Shaping ermöglicht es dem Benutzer, die Netzwerkleistung durch Kontrolle der Menge zu steigern
der Daten, die in die Sandboxen hinein und aus ihnen heraus fließen.

Firejail implementiert einen einfachen ratenbegrenzenden Shaper basierend auf dem Linux-Befehl tc. Der Former
Funktioniert auf Sandbox-Ebene und kann nur für Sandboxen verwendet werden, die mit einem neuen Netzwerk konfiguriert sind
Namensräume.

Ratenlimits festlegen:

firejail --bandwidth={name|pid} Netzwerk-Download-Upload festlegen

Klare Tariflimits:

firejail --bandwidth={name|pid} Netzwerk löschen

Status:

firejail --bandwidth={name|pid} Status

wo:
Name – Sandbox-Name
pid – Sandbox-pid
Netzwerk – Netzwerkschnittstelle, wie sie von der Option --net verwendet wird
Download – Download-Geschwindigkeit in KB/s (Kilobyte pro Sekunde)
Upload – Upload-Geschwindigkeit in KB/s (Kilobyte pro Sekunde)

Beispiel:
$ firejail --name=mybrowser --net=eth0 firefox &
$ firejail --bandwidth=mybrowser set eth0 80 20
$ firejail --bandwidth=mybrowser-status
$ firejail --bandwidth=mybrowser lösche eth0

ÜBERWACHUNG


Option --list druckt eine Liste aller Sandboxes. Das Format für jeden Prozesseintrag ist wie folgt
folgt:

PID:USER:Befehl

Die Option --tree gibt den Baum der in der Sandbox ausgeführten Prozesse aus. Das Format für jeden
Der Prozesseintrag lautet wie folgt:

PID:USER:Befehl

Die Option --top ähnelt dem UNIX-Befehl top, gilt jedoch nur für Sandboxes.

Option --netstats druckt Netzwerkstatistiken für aktive Sandboxes, die ein neues Netzwerk installieren
Namensräume.

Nachfolgend sind die verfügbaren Felder (Spalten) in alphabetischer Reihenfolge für --top und aufgeführt
--netstat-Optionen:

Befehl
Befehl zum Starten der Sandbox.

CPU % CPU-Auslastung, der Sandbox-Anteil der seit der letzten Bildschirmaktualisierung verstrichenen CPU-Zeit

PID Eindeutige Prozess-ID für die Aufgabe, die die Sandbox steuert.

Prcs Anzahl der Prozesse, die in der Sandbox ausgeführt werden, einschließlich des Steuerungsprozesses.

RES Resident Memory Size (KiB), nicht ausgelagerter physischer Sandbox-Speicher. Es ist eine Summe von
die RES-Werte für alle Prozesse, die in der Sandbox ausgeführt werden.

RX(KB/s)
Netzwerk-Empfangsgeschwindigkeit.

SHR Shared Memory Size (KiB), sie spiegelt den mit anderen Prozessen geteilten Speicher wider. es ist ein
Summe der SHR-Werte für alle in der Sandbox ausgeführten Prozesse, einschließlich der
Controlling-Prozess.

TX(KB/s)
Netzwerkübertragungsgeschwindigkeit.

Betriebszeit der Sandbox im Format Stunden:Minuten:Sekunden.

Benutzer Der Besitzer der Sandbox.

SICHERHEIT PROFILE


Mithilfe von Profildateien können mehrere Befehlszeilenoptionen an das Programm übergeben werden. Feuergefängnis
wählt die Profildatei wie folgt aus:

1. Wenn der Benutzer eine Profildatei mit der Option --profile bereitstellt, ist dies die Profildatei
geladen. Beispiel:

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

2. Wenn eine Profildatei mit demselben Namen wie die Anwendung vorhanden ist
~/.config/firejail Verzeichnis oder in /etc/firejail wird das Profil geladen.
~/.config/firejail hat Vorrang vor /etc/firejail. Beispiel:

$ Firejail Icecat
Befehlsname #icecat#
Icecat-Profil im Verzeichnis /home/netblue/.config/firejail gefunden
Leseprofil /home/netblue/.config/firejail/icecat.profile
[...]

3. Verwenden Sie die Datei „default.profile“, wenn die Sandbox von einem normalen Benutzer gestartet wird, oder „server.profile“.
Datei, wenn die Sandbox von Root gestartet wird. Firejail sucht nach diesen Dateien in
~/.config/firejail Verzeichnis, gefolgt vom Verzeichnis /etc/firejail. Zum Deaktivieren der Standardeinstellung
Zum Laden des Profils verwenden Sie die Befehlsoption --noprofile. Beispiel:

$ Feuergefängnis
Leseprofil /etc/firejail/generic.profile
Übergeordnete PID 8553, untergeordnete PID 8554
Untergeordneter Prozess initialisiert
[...]

$ firejail --noprofile
Übergeordnete PID 8553, untergeordnete PID 8554
Untergeordneter Prozess initialisiert
[...]

Informationen zur Profildateisyntax finden Sie unter man 5 firejail-profile.

BESCHRÄNKT SHELL


Um eine eingeschränkte Shell zu konfigurieren, ersetzen Sie / bin / bash mit /usr/bin/firejail in /etc/password
Datei für jeden Benutzer, der eingeschränkt werden muss. Alternativ können Sie angeben
/usr/bin/firejail im Adduser-Befehl:

adduser --shell /usr/bin/firejail Benutzername

Zusätzliche Argumente, die bei der Anmeldung an die ausführbare Firejail-Datei übergeben werden, werden in deklariert
/etc/firejail/login.users-Datei.

Beispiele:


Feuergefängnis
Starten Sie regelmäßig / bin / bash Sitzung in der Sandbox.

Feuergefängnis Firefox
Starten Sie Mozilla Firefox.

firejail --debug firefox
Debuggen Sie die Firefox-Sandbox.

Feuergefängnis --privat
Starten Sie eine / bin / bash Sitzung mit einem neuen tmpfs-Home-Verzeichnis.

firejail --net=br0 ip=10.10.20.10
Starten Sie eine / bin / bash Sitzung in einem neuen Netzwerk-Namespace. Die Sitzung ist verbunden mit
Das Hauptnetzwerk verwendet das BR0-Bridge-Gerät. Es wird die IP-Adresse 10.10.20.10 zugewiesen
zum Sandkasten.

Feuergefängnis --net=br0 --net=br1 --net=br2
Starten Sie eine / bin / bash Sitzung in einem neuen Netzwerk-Namespace und verbinden Sie sie mit br0, br1,
und br2-Host-Bridge-Geräte.

firejail --list
Listen Sie alle Sandbox-Prozesse auf.

Verwenden Sie Firejail online über die Dienste von onworks.net


Kostenlose Server & Workstations

Laden Sie Windows- und Linux-Apps herunter

Linux-Befehle

Ad