Ini adalah perintah firejail yang dapat dijalankan di penyedia hosting gratis OnWorks menggunakan salah satu dari beberapa workstation online gratis kami seperti Ubuntu Online, Fedora Online, emulator online Windows atau emulator online MAC OS
PROGRAM:
NAMA
Firejail - program kotak pasir ruang nama Linux
RINGKASAN
Mulai kotak pasir:
firejail [OPSI] [program dan argumen]
Pembentukan lalu lintas jaringan untuk kotak pasir yang ada:
firejail --bandwidth={ | } perintah bandwidth
Monitoring:
penjara api {--daftar | --netstats | --atas | --pohon}
Miscellaneous:
penjara api {-? | --debug-caps | --debug-errnos | --debug-syscalls | --debug-protokol
| --bantuan | --Versi: kapan}
DESKRIPSI
Firejail adalah program kotak pasir SUID yang mengurangi risiko pelanggaran keamanan dengan
membatasi lingkungan yang berjalan dari aplikasi yang tidak tepercaya menggunakan ruang nama Linux,
seccomp-bpf dan kemampuan Linux. Itu memungkinkan sebuah proses dan semua turunannya untuk memiliki
pandangan pribadi mereka sendiri tentang sumber daya kernel yang dibagikan secara global, seperti tumpukan jaringan,
meja proses, meja mount. Firejail dapat bekerja di lingkungan SELinux atau AppArmor, dan
itu terintegrasi dengan Grup Kontrol Linux.
Ditulis dalam C dengan hampir tidak ada dependensi, perangkat lunak ini berjalan di komputer Linux mana pun dengan
versi kernel 3.x atau yang lebih baru. Itu dapat membuat kotak pasir semua jenis proses: server, grafis
aplikasi, dan bahkan sesi login pengguna.
Firejail memungkinkan pengguna untuk mengelola keamanan aplikasi menggunakan profil keamanan. Setiap
profile mendefinisikan satu set izin untuk aplikasi atau grup aplikasi tertentu.
Perangkat lunak ini menyertakan profil keamanan untuk sejumlah program Linux yang lebih umum, seperti:
seperti Mozilla Firefox, Chromium, VLC, Transmisi dll.
PENGGUNAAN
Tanpa opsi apa pun, kotak pasir terdiri dari sistem file chroot yang dibangun di mount baru
namespace, dan ruang nama PID dan UTS baru. IPC, jaringan, dan ruang nama pengguna dapat ditambahkan
menggunakan opsi baris perintah. Sistem file Firejail default didasarkan pada host
sistem file dengan direktori utama terpasang hanya-baca. Hanya / Home dan / Tmp dapat ditulis.
Saat dijalankan, Firejail mencoba menemukan profil keamanan berdasarkan nama
aplikasi. Jika profil yang sesuai tidak ditemukan, Firejail akan menggunakan profil default.
Profil default cukup membatasi. Jika aplikasi tidak berfungsi, gunakan
--noprofile opsi untuk menonaktifkannya. Untuk informasi lebih lanjut, silakan lihat KEAMANAN PROFIL
bagian.
Jika argumen program tidak ditentukan, Firejail dimulai / bin / bash kerang. Contoh:
$ firejail [OPTIONS] # mulai a / bin / bash tempurung
$ firejail [OPSI] firefox # memulai Mozilla Firefox
# sudo firejail [OPSI] /etc/init.d/nginx start
PILIHAN
-- Tandai akhir opsi dan nonaktifkan pemrosesan opsi lebih lanjut.
--bandwidth=nama
Tetapkan batas bandwidth untuk kotak pasir yang diidentifikasi berdasarkan nama, lihat TRAFFIC MEMBENTUK
bagian untuk lebih jelasnya.
--bandwidth=pid
Tetapkan batas bandwidth untuk kotak pasir yang diidentifikasi oleh PID, lihat TRAFFIC MEMBENTUK bagian
lebih lanjut.
--bind=namadir1,namadir2
Pasang-ikat dirname1 di atas dirname2. Opsi ini hanya tersedia saat berjalan
kotak pasir sebagai root.
Contoh:
# firejail --bind=/config/www,/ Var / www
--bind=namafile1,namafile2
Mount-bind filename1 di atas filename2. Opsi ini hanya tersedia ketika
berjalan sebagai root.
Contoh:
# firejail --bind=/config/etc/passwd,/ etc / passwd
--daftar hitam=namadir_atau_namafile
Direktori atau file daftar hitam.
Contoh:
$ firejail --daftar hitam=/ sbin --daftar hitam=/ usr / sbin
$ firejail --daftar hitam=~/.mozilla
$ firejail "--blacklist=/home/username/Mesin Virtual Saya"
-c Jalankan perintah dan keluar.
--tutup Kemampuan Linux adalah fitur kernel yang dirancang untuk membagi hak akses root menjadi
satu set hak istimewa yang berbeda. Hak istimewa ini dapat diaktifkan atau dinonaktifkan
secara independen, sehingga membatasi apa yang dapat dilakukan oleh proses yang berjalan sebagai root di
sistem.
Secara default, program root berjalan dengan semua kemampuan diaktifkan. --caps opsi dinonaktifkan
kemampuan berikut: CAP_SYS_MODULE, CAP_SYS_RAWIO, CAP_SYS_BOOT,
CAP_SYS_NICE, CAP_SYS_TTY_CONFIG, CAP_SYSLOG, CAP_MKNOD, CAP_SYS_ADMIN. Filternya
diterapkan ke semua proses yang dimulai di kotak pasir.
Contoh:
$ sudo firejail --caps "/etc/init.d/nginx start && sleep inf"
--caps.drop=semua
Lepaskan semua kemampuan untuk proses yang berjalan di kotak pasir. Pilihan ini adalah
direkomendasikan untuk menjalankan program GUI atau program lain yang tidak memerlukan root
hak istimewa. Ini adalah opsi yang harus dimiliki untuk menginstal program tidak tepercaya sandboxing
dari sumber tidak resmi - seperti game, program Java, dll.
Contoh:
$ firejail --caps.drop=semua zona perang2100
--caps.drop=kemampuan,kemampuan,kemampuan
Tentukan filter kemampuan Linux daftar hitam khusus.
Contoh:
$ firejail --caps.keep=net_broadcast,net_admin,net_raw
--caps.keep=kemampuan,kemampuan,kemampuan
Tentukan filter kemampuan Linux daftar putih khusus.
Contoh:
$ sudo firejail --caps.keep=chown,net_bind_service,setgid,\setuid
/etc/init.d/nginx mulai
Catatan singkat tentang mencampur opsi --whitelist dan --read-only. Masuk daftar putih
direktori harus dibuat hanya-baca secara independen. Membuat direktori induk membaca-
saja, tidak akan membuat daftar putih hanya-baca. Contoh:
$ firejail --daftar putih=~/kerja --baca-saja=~/ --baca-saja=~/kerja
--caps.print=nama
Cetak filter tutup untuk kotak pasir yang diidentifikasi berdasarkan nama.
Contoh:
$ firejail --name=mygame --caps.drop=all warzone2100 &
[...]
$ firejail --caps.print=permainan saya
--caps.print=pid
Cetak filter tutup untuk kotak pasir yang diidentifikasi oleh PID.
Contoh:
$ firejail --daftar
3272:netblue:firejail --firefox pribadi
$ penjara api --caps.print=3272
--cgroup=tugas-file
Tempatkan kotak pasir di grup kontrol yang ditentukan. tugas-file adalah jalur lengkap dari
file tugas cgroup.
Contoh:
# firejail --cgroup=/sys/fs/cgroup/g1/tasks
--chroot=namadir
Chroot kotak pasir ke dalam sistem file root. Jika kotak pasir dimulai seperti biasa
pengguna, seccomp default, dan filter kemampuan diaktifkan.
Contoh:
$ firejail --chroot=/media/ubuntu warzone2100
--cpu = nomor-cpu, nomor-cpu, nomor-cpu
Setel afinitas CPU.
Contoh:
$ firejail --cpu=0,1 rem tangan
--csh Gunakan /bin/csh sebagai shell pengguna default.
Contoh:
$ penjara api --csh
--debug
Cetak pesan debug.
Contoh:
$ firejail --debug firefox
--debug-daftar hitam
Debug daftar hitam.
Contoh:
$ firejail --debug-daftar hitam firefox
--debug-caps
Cetak semua kemampuan yang dikenali dalam pembuatan dan keluar perangkat lunak Firejail saat ini.
Contoh:
$ firejail --debug-caps
--debug-periksa-nama file
Debug pemeriksaan nama file.
Contoh:
$ firejail --debug-periksa-nama file firefox
--debug-ernos
Cetak semua nomor kesalahan yang dikenali dalam pembuatan dan keluar perangkat lunak Firejail saat ini.
Contoh:
$ firejail --debug-errnos
--debug-protokol
Cetak semua protokol yang dikenali dalam pembuatan dan keluar perangkat lunak Firejail saat ini.
Contoh:
$ firejail --debug-protokol
--debug-syscall
Cetak semua panggilan sistem yang dikenali dalam pembuatan dan keluar perangkat lunak Firejail saat ini.
Contoh:
$ firejail --debug-syscalls
--debug-putih
Debug daftar putih.
Contoh:
$ firejail --debug-daftar putih firefox
--defaultgw=alamat
Gunakan alamat ini sebagai gateway default di namespace jaringan baru.
Contoh:
$ firejail --net=eth0 --defaultgw=10.10.20.1 firefox
--dns=alamat
Setel server DNS untuk kotak pasir. Hingga tiga server DNS dapat ditentukan. Gunakan ini
opsi jika Anda tidak mempercayai pengaturan DNS di jaringan Anda.
Contoh:
$ penjara api --dns=8.8.8.8 --dns=8.8.4.4 firefox
--dns.print=nama
Cetak konfigurasi DNS untuk kotak pasir yang diidentifikasi berdasarkan nama.
Contoh:
$ firejail --name=mygame --caps.drop=all warzone2100 &
[...]
$ firejail --dns.print=permainan saya
--dns.print=pid
Cetak konfigurasi DNS untuk kotak pasir yang diidentifikasi oleh PID.
Contoh:
$ firejail --daftar
3272:netblue:firejail --firefox pribadi
$ penjara api --dns.print=3272
--env=nama=nilai
Setel variabel lingkungan di kotak pasir baru.
Contoh:
$ firejail --env=LD_LIBRARY_PATH=/opt/test/lib
--memaksa
Secara default, jika Firejail dimulai di kotak pasir yang ada, itu akan menjalankan program
dalam shell bash. Opsi ini menonaktifkan perilaku ini, dan mencoba untuk memulai
Firejail di kotak pasir yang ada. Mungkin ada banyak alasan untuk itu gagal,
misalnya jika kotak pasir yang ada menonaktifkan kemampuan admin, binari SUID, atau
jika dijalankan seccomp.
--fs.print=nama
Cetak log sistem file untuk kotak pasir yang diidentifikasi berdasarkan nama.
Contoh:
$ firejail --name=mygame --caps.drop=all warzone2100 &
[...]
$ firejail --fs.print=permainan saya
--fs.print=pid
Cetak log sistem file untuk kotak pasir yang diidentifikasi oleh PID.
Contoh:
$ firejail --daftar
3272:netblue:firejail --firefox pribadi
$ penjara api --fs.print=3272
-?, --membantu
Opsi cetak akhir keluar.
--namahost=nama
Setel nama host kotak pasir.
Contoh:
$ firejail --nama host=officepc firefox
--abaikan=perintah
Abaikan perintah di file profil.
Contoh:
$ firejail --ignore=kulit --ignore=seccomp firefox
--interface=antarmuka
Pindahkan antarmuka di namespace jaringan baru. Hingga empat opsi --interface dapat
ditentukan.
Contoh:
$ firejail --interface=eth1 --interface=eth0.vlan100
--ip=alamat
Tetapkan alamat IP ke antarmuka jaringan terakhir yang ditentukan oleh opsi --net. SEBUAH
gateway default ditetapkan secara default.
Contoh:
$ penjara api --net=eth0 --ip=10.10.20.56 firefox
--ip=tidak ada
Tidak ada alamat IP dan tidak ada gateway default yang dikonfigurasi untuk antarmuka terakhir yang ditentukan
dengan opsi --net. Gunakan opsi ini jika Anda ingin memulai DHCP eksternal
klien di kotak pasir.
Contoh:
$ firejail --net=eth0 --ip=tidak ada
--ip6=alamat
Tetapkan alamat IPv6 ke antarmuka jaringan terakhir yang ditentukan oleh opsi --net.
Contoh:
$ firejail --net=eth0 --ip6=2001:0db8:0:f101::1/64 firefox
--iprange=alamat,alamat
Tetapkan alamat IP dalam rentang yang disediakan ke antarmuka jaringan terakhir yang ditentukan oleh
opsi --net. Gateway default ditetapkan secara default.
Contoh:
$ penjara api --net=eth0 --iprange=192.168.1.100,192.168.1.150
--ipc-ruang nama
Aktifkan namespace IPC baru jika sandbox dimulai sebagai pengguna biasa. IPC
namespace diaktifkan secara default untuk kotak pasir yang dimulai sebagai root.
Contoh:
$ firejail --ipc-namespace firefox
--bergabung=nama
Bergabunglah dengan kotak pasir yang diidentifikasi berdasarkan nama. Secara default / bin / bash shell dimulai setelah
bergabung dengan kotak pasir. Jika sebuah program ditentukan, program dijalankan di kotak pasir.
Jika perintah --join dikeluarkan sebagai pengguna biasa, semua filter keamanan dikonfigurasi
untuk proses baru yang sama mereka dikonfigurasi di kotak pasir. Jika --join perintah
dikeluarkan sebagai root, filter keamanan, cgroup, dan konfigurasi cpus tidak
diterapkan pada proses bergabung dengan kotak pasir.
Contoh:
$ firejail --name=mygame --caps.drop=all warzone2100 &
[...]
$ firejail --join=permainan saya
--bergabung=pid
Bergabunglah dengan kotak pasir yang diidentifikasi oleh ID proses. Secara default / bin / bash cangkang dimulai
setelah bergabung dengan kotak pasir. Jika sebuah program ditentukan, program tersebut dijalankan di
bak pasir. Jika perintah --join dikeluarkan sebagai pengguna biasa, semua filter keamanan
dikonfigurasi untuk proses baru sama seperti yang dikonfigurasikan di kotak pasir. Jika
--join perintah dikeluarkan sebagai root, filter keamanan, cgroup dan cpus
konfigurasi tidak diterapkan pada proses bergabung dengan kotak pasir.
Contoh:
$ firejail --daftar
3272:netblue:firejail --firefox pribadi
$ firejail --bergabung=3272
--join-filesystem=nama
Bergabunglah dengan mount namespace dari kotak pasir yang diidentifikasi berdasarkan nama. Secara default / bin / bash
shell dimulai setelah bergabung dengan kotak pasir. Jika sebuah program ditentukan, program tersebut
dijalankan di kotak pasir. Perintah ini hanya tersedia untuk pengguna root. Keamanan
filter, cgroup, dan konfigurasi cpus tidak diterapkan pada proses yang bergabung dengan
bak pasir.
--gabung-sistem file=pid
Bergabunglah dengan ruang nama pemasangan kotak pasir yang diidentifikasi oleh ID proses. Secara default
/ bin / bash shell dimulai setelah bergabung dengan kotak pasir. Jika sebuah program ditentukan,
program dijalankan di kotak pasir. Perintah ini hanya tersedia untuk pengguna root.
Filter keamanan, cgroup, dan konfigurasi cpus tidak diterapkan pada proses
bergabung dengan kotak pasir.
--join-network=nama
Bergabunglah dengan namespace jaringan kotak pasir yang diidentifikasi berdasarkan nama. Secara default
/ bin / bash shell dimulai setelah bergabung dengan kotak pasir. Jika sebuah program ditentukan,
program dijalankan di kotak pasir. Perintah ini hanya tersedia untuk pengguna root.
Filter keamanan, cgroup, dan konfigurasi cpus tidak diterapkan pada proses
bergabung dengan kotak pasir.
--bergabung-jaringan=pid
Bergabunglah dengan namespace jaringan kotak pasir yang diidentifikasi oleh ID proses. Secara default
/ bin / bash shell dimulai setelah bergabung dengan kotak pasir. Jika sebuah program ditentukan,
program dijalankan di kotak pasir. Perintah ini hanya tersedia untuk pengguna root.
Filter keamanan, cgroup, dan konfigurasi cpus tidak diterapkan pada proses
bergabung dengan kotak pasir.
--Daftar Daftar semua kotak pasir, lihat PEMANTAUAN bagian untuk lebih jelasnya.
Contoh:
$ firejail --daftar
7015:netblue:firejail firefox
7056:netblue:firejail --net=eth0 transmisi-gtk
7064:netblue:firejail --noroot xterm
$
--mac=alamat
Tetapkan alamat MAC ke antarmuka jaringan terakhir yang ditentukan oleh opsi --net.
Contoh:
$ penjara api --net=eth0 --mac=00:11:22:33:44:55 firefox
--mtu=bilangan
Tetapkan nilai MTU ke antarmuka jaringan terakhir yang ditentukan oleh opsi --net.
Contoh:
$ penjara api --net=eth0 --mtu=1492
--nama=nama
Setel nama kotak pasir. Beberapa opsi, seperti --join dan --shutdown, dapat menggunakan nama ini
untuk mengidentifikasi kotak pasir.
Contoh:
$ firejail --nama=peramban saya firefox
--net=jembatan_interface
Aktifkan namespace jaringan baru dan hubungkan ke antarmuka jembatan ini. Kecuali kalau
ditentukan dengan opsi --ip dan --defaultgw, alamat IP dan gateway default
akan ditetapkan secara otomatis ke kotak pasir. Alamat IP diverifikasi menggunakan ARP
sebelum penugasan. Alamat yang dikonfigurasi sebagai gateway default adalah perangkat jembatan
Alamat IP. Hingga empat --net bridge perangkat dapat ditentukan. Mencampur jembatan dan
perangkat macvlan diperbolehkan.
Contoh:
$sudo brctl addbr br0
$sudoifconfig br0 10.10.20.1/24
$sudo brctl addbr br1
$sudoifconfig br1 10.10.30.1/24
$ penjara api --net=br0 --net=br1
--net=ethernet_interface
Aktifkan namespace jaringan baru dan sambungkan ke antarmuka ethernet ini menggunakan
driver macvlan Linux standar. Kecuali ditentukan dengan opsi --ip dan --defaultgw,
alamat IP dan gateway default akan ditetapkan secara otomatis ke kotak pasir.
Alamat IP diverifikasi menggunakan ARP sebelum penugasan. Alamat dikonfigurasi sebagai
default gateway adalah default gateway dari host. Hingga empat --net perangkat dapat
didefinisikan. Mencampur perangkat bridge dan macvlan diperbolehkan.
Contoh:
$ penjara api --net=eth0 --ip=192.168.1.80 --dns=8.8.8.8 firefox
--net=tidak ada
Aktifkan namespace jaringan baru yang tidak terhubung. Satu-satunya antarmuka yang tersedia di
namespace baru adalah antarmuka loopback baru (lo). Gunakan opsi ini untuk menolak jaringan
akses ke program yang tidak benar-benar membutuhkan akses jaringan.
Contoh:
$ penjara api --net=tidak ada vlc
--filter bersih
Aktifkan filter jaringan klien default di namespace jaringan baru. Jaringan baru
ruang nama dibuat menggunakan opsi --net. Jika ruang nama jaringan baru tidak
dibuat, opsi --netfilter tidak melakukan apa pun. Filter default adalah sebagai berikut:
*Saring
:MASUKKAN JATUH [0:0]
: PENURUNAN MAJU [0:0]
:OUTPUT MENERIMA [0:0]
-A MASUK -i lo -j TERIMA
-A INPUT -m state --state TERKAIT,ESTABLISHED -j ACCEPT
-A INPUT -p icmp --icmp-tipe tujuan-tidak dapat dijangkau -j TERIMA
-A INPUT -p icmp --icmp-type time-exceeded -j ACCEPT
-A INPUT -p icmp --icmp-type echo-request -j TERIMA
KOMIT
Contoh:
$ firejail --net=eth0 --netfilter firefox
--netfilter=nama file
Aktifkan filter jaringan yang ditentukan oleh nama file di ruang nama jaringan baru. Itu
format file filter adalah format perintah iptables-save dan iptable-restore.
Ruang nama jaringan baru dibuat menggunakan opsi --net. Jika ruang nama jaringan baru
tidak dibuat, opsi --netfilter tidak melakukan apa pun.
Filter berikut tersedia di direktori /etc/firejail:
server web.net adalah filter server web yang memungkinkan akses hanya ke port TCP 80 dan
443. Contoh:
$ firejail --netfilter=/etc/firejail/webserver.net --net=eth0 \
/etc/init.d/Apache2 awal
nolocal.net adalah filter klien yang menonaktifkan akses ke jaringan lokal. Contoh:
$ firejail --netfilter=/etc/firejail/nolocal.net \
--net=eth0 firefox
--netfilter6=nama file
Aktifkan filter jaringan IPv6 yang ditentukan oleh nama file di namespace jaringan baru.
Format file filter adalah format ip6tables-save dan ip6table-restore
perintah. Ruang nama jaringan baru dibuat menggunakan opsi --net. Jika jaringan baru
namespace tidak dibuat, opsi --netfilter6 tidak melakukan apa pun.
--netstats
Pantau statistik namespace jaringan, lihat PEMANTAUAN bagian untuk lebih jelasnya.
Contoh:
$ penjara api --netstats
Perintah Pengguna 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=transmisi eth0
--noblacklist=namadir_atau_namafile
Nonaktifkan daftar hitam untuk direktori atau file ini.
Contoh:
$ penjara api
$nc dict.org 2628
pesta: /bin/nc: Izin ditolak
$ keluar
$ penjara api --noblacklist=/bin/nc
$nc dict.org 2628
220 pan.alephnull.com dictd 1.12.1/rf di Linux 3.14-1-amd64
--tidak ada grup
Nonaktifkan grup tambahan. Tanpa opsi ini, grup tambahan diaktifkan
untuk pengguna yang memulai kotak pasir. Untuk grup tambahan pengguna root selalu
dengan disabilitas.
Contoh:
$id
uid=1000(biru bersih) gid=1000(biru bersih)
groups=1000(netblue),24(cdrom),25(floppy),27(sudo),29(audio)
$ firejail --nogroups
pid induk 8704, pid anak 8705
Proses anak diinisialisasi
$id
uid=1000(netblue) gid=1000(netblue) grup=1000(netblue)
$
--noprofil
Jangan gunakan profil keamanan.
Contoh:
$ penjara api
Membaca profil /etc/firejail/generic.profile
pid induk 8553, pid anak 8554
Proses anak diinisialisasi
[...]
$ firejail --tidak ada profil
pid induk 8553, pid anak 8554
Proses anak diinisialisasi
[...]
--tanpa akar
Instal ruang nama pengguna dengan satu pengguna - pengguna saat ini. pengguna root tidak
ada di namespace baru. Opsi ini memerlukan kernel Linux versi 3.8 atau
lebih baru. Opsi ini tidak didukung untuk konfigurasi --chroot dan --overlay, atau
untuk kotak pasir dimulai sebagai root.
Contoh:
$ penjara api --noroot
pid induk 8553, pid anak 8554
Proses anak diinisialisasi
$ping google.com
ping: soket terbuka icmp: Operasi tidak diizinkan
$
--tidak ada suara
Nonaktifkan sistem suara.
Contoh:
$ firejail --suara firefox
--output=file log
stdout logging dan rotasi log. Salin stdout ke file log, dan pertahankan ukurannya
file di bawah 500KB menggunakan rotasi log. Lima file dengan awalan .1 hingga .5 digunakan dalam
rotasi.
Contoh:
$ firejail --output=kotak pasirlog / bin / bash
[...]
$ ls -l kotak pasir log*
-rw-r--r-- 1 netblue netblue 333890 2 Jun 07:48 sandboxlog
-rw-r--r-- 1 netblue netblue 511488 2 Jun 07:48 sandboxlog.1
-rw-r--r-- 1 netblue netblue 511488 2 Jun 07:48 sandboxlog.2
-rw-r--r-- 1 netblue netblue 511488 2 Jun 07:48 sandboxlog.3
-rw-r--r-- 1 netblue netblue 511488 2 Jun 07:48 sandboxlog.4
-rw-r--r-- 1 netblue netblue 511488 2 Jun 07:48 sandboxlog.5
--hamparan
Pasang overlay sistem file di atas sistem file saat ini. Semua sistem file
modifikasi masuk ke overlay. Overlay disimpan di $HOME/.firejail
direktori.
Dukungan OverlayFS diperlukan di kernel Linux agar opsi ini berfungsi. HamparanFS
secara resmi diperkenalkan di kernel Linux versi 3.18
Contoh:
$ firejail --lapisan firefox
--hamparan-tmpfs
Pasang overlay sistem file di atas sistem file saat ini. Semua sistem file
modifikasi masuk ke overlay, dan dibuang saat kotak pasir ditutup.
Dukungan OverlayFS diperlukan di kernel Linux agar opsi ini berfungsi. HamparanFS
secara resmi diperkenalkan di kernel Linux versi 3.18
Contoh:
$ firejail --overlay-tmpfs firefox
--pribadi
Pasang baru / Root dan direktori /home/user di sistem file sementara. Semua
modifikasi dibuang ketika kotak pasir ditutup.
Contoh:
$ firejail --firefox pribadi
--private=direktori
Gunakan direktori sebagai rumah pengguna.
Contoh:
$ firejail --private=/home/netblue/firefox-home firefox
--private-bin=berkas,berkas
Bangun yang baru /tempat sampah dalam sistem file sementara, dan salin program dalam daftar. Itu
direktori yang sama juga terpasang di atas / sbin, / usr / bin dan /usr/sbin.
Contoh:
$ firejail --private-bin=bash,sed,ls,cat
pid induk 20841, pid anak 20842
Proses anak diinisialisasi
$ l /tempat sampah
bash cat itu sed
--pengembangan-swasta
Buat yang baru / dev direktori. Hanya dri, null, penuh, nol, tty, pts, ptmx, acak,
perangkat urandom, log dan shm tersedia.
Contoh:
$ firejail --pribadi-dev
pid induk 9887, pid anak 9888
Proses anak diinisialisasi
$ l / dev
dri log lengkap null ptmx pts acak shm tty urandom nol
$
--private-etc=file,direktori
Bangun yang baru / Etc dalam sistem file sementara, dan salin file dan direktori di
Daftar. Semua modifikasi dibuang ketika kotak pasir ditutup.
Contoh:
$ firejail --private-etc=group,hostname,localtime,\
nsswitch.conf,passwd,resolv.conf
--pribadi-tmp
Pasang sistem file sementara yang kosong di atas / Tmp direktori.
Contoh:
$ firejail --pribadi-tmp
--profil=nama file
Muat profil keamanan khusus dari nama file. Untuk nama file gunakan jalur absolut atau
jalur relatif terhadap jalur saat ini. Untuk informasi lebih lanjut, lihat KEAMANAN PROFIL
bagian di bawah ini.
Contoh:
$ firejail --profile=profil saya
--profile-path=direktori
Gunakan direktori ini untuk mencari file profil. Gunakan jalur absolut atau jalur di
direktori home dimulai dengan ~ /. Untuk informasi lebih lanjut, lihat KEAMANAN PROFIL
bagian di bawah dan RELOKASI PROFIL FILE in pria 5 profil-firejail.
Contoh:
$ firejail --profil-jalur=~/profilku
$ firejail --profile-path=/home/netblue/myprofiles
--protokol=protokol,protokol,protokol
Aktifkan filter protokol. Filter didasarkan pada seccomp dan memeriksa yang pertama
argumen untuk panggilan sistem soket. Nilai yang dikenali: unix, inet, inet6, netlink dan
paket.
Contoh:
$ firejail --protokol=unix,inet,inet6 firefox
--protocol.print=nama
Cetak filter protokol untuk kotak pasir yang diidentifikasi berdasarkan nama.
Contoh:
$ firejail --nama=mybrowser firefox &
[...]
$ firejail --print.print=peramban saya
unix,inet,inet6,netlink
--protokol.cetak=pid
Cetak filter protokol untuk kotak pasir yang diidentifikasi oleh PID.
Contoh:
$ firejail --daftar
3272:netblue:firejail --firefox pribadi
$ penjara api --protokol.cetak=3272
unix,inet,inet6,netlink
--diam
Matikan keluaran Firejail.
--read-only=namadir_atau_namafile
Setel direktori atau file hanya-baca.
Contoh:
$ penjara api --baca-saja=~/.mozilla firefox
--rlimit-fsize=angka
Mengatur ukuran file maksimum yang dapat dibuat oleh suatu proses.
--rlimit-nofile=angka
Mengatur jumlah maksimum file yang dapat dibuka oleh suatu proses.
--rlimit-nproc=angka
Tetapkan jumlah maksimum proses yang dapat dibuat untuk ID pengguna asli dari
proses panggilan.
--rlimit-penandatanganan=angka
Tetapkan jumlah maksimum sinyal tertunda untuk suatu proses.
--memindai ARP-scan semua jaringan dari dalam namespace jaringan. Ini memungkinkan
untuk mendeteksi driver perangkat kernel macvlan yang berjalan di host saat ini.
Contoh:
$ firejail --net=eth0 --scan
--secomp
Aktifkan filter seccomp dan daftar hitam syscalls dalam daftar default. Standarnya
daftarnya adalah sebagai berikut: mount, umount2, ptrace, kexec_load, kexec_file_load,
open_by_handle_at, init_module, finit_module, delete_module, iopl, ioperm, swapon,
swapoff, syslog, proses_vm_readv, proses_vm_writev, sysfs,_sysctl, adjtimex,
clock_adjtime, lookup_dcookie, perf_event_open, fanotify_init, kcmp, add_key,
request_key, keyctl, uselib, acct, modifikasi_ldt, pivot_root, io_setup, io_destroy,
io_getevents, io_submit, io_cancel, remap_file_pages, mbind, get_mempolicy,
set_mempolicy, migration_pages, move_pages, vmsplice, perf_event_open dan chroot.
Contoh:
$ firejail --seccomp
--seccomp=panggilan sistem,panggilan sistem,panggilan sistem
Aktifkan filter seccomp, daftar hitam daftar default dan syscalls yang ditentukan oleh
perintah.
Contoh:
$ firejail --seccomp=utime,utimensat,utimes firefox
--seccomp.drop=panggilan sistem,panggilan sistem,panggilan sistem
Aktifkan filter seccomp, dan daftar hitam syscalls yang ditentukan oleh perintah.
Contoh:
$ firejail --seccomp.drop=utime,utimensat,utimes
--seccomp.keep=panggilan sistem,panggilan sistem,panggilan sistem
Aktifkan filter seccomp, dan daftar putih syscalls yang ditentukan oleh perintah.
Contoh:
$ firejail --shell=none --seccomp.keep=poll,pilih,[...] transmisi-gtk
--detik. = panggilan sistem, panggilan sistem, panggilan sistem
Aktifkan filter seccomp, dan kembalikan errno untuk syscalls yang ditentukan oleh perintah.
Contoh: shell Bash tempat menghapus file dinonaktifkan
$ firejail --seccomp.eperm=batalkan tautan
pid induk 10662, pid anak 10663
Proses anak diinisialisasi
$ sentuh file tes
$rm file tes
rm: tidak dapat menghapus `testfile': Operasi tidak diizinkan
--seccomp.print=nama
Cetak filter seccomp untuk kotak pasir mulai menggunakan opsi --name.
Contoh:
$ firejail --name=peramban firefox &
$ firejail --seccomp.print=peramban
Filter SECCOMP:
VALIDATE_ARCHITECTURE
UJIAN_SYSCALL
dudukan BLACKLIST 165
DAFTAR HITAM 166 jumlah2
BLACKLIST 101 poin
DAFTAR HITAM 246 kexec_load
DAFTAR HITAM 304 open_by_handle_at
DAFTAR HITAM 175 init_module
DAFTAR HITAM 176 delete_module
DAFTAR HITAM 172 iopl
DAFTAR HITAM 173
DAFTAR HITAM 167 pertukaran
DAFTAR HITAM 168 pertukaran
DAFTAR HITAM 103 syslog
DAFTAR HITAM 310 proses_vm_readv
DAFTAR BLACKLIST 311 process_vm_writev
DAFTAR HITAM 133 mknod
DAFTAR HITAM 139 sistem
DAFTAR HITAM 156 _sysctl
DAFTAR HITAM 159 adjtimex
DAFTAR HITAM 305 jam_adjtime
DAFTAR HITAM 212 pencarian_dcookie
DAFTAR HITAM 298 perf_event_open
DAFTAR HITAM 300 fanotify_init
KEMBALI_ALLOW
$
--seccomp.print=pid
Cetak filter seccomp untuk kotak pasir yang ditentukan oleh ID proses. Gunakan opsi --list
untuk mendapatkan daftar semua kotak pasir aktif.
Contoh:
$ firejail --daftar
10786:netblue:firejail --name=peramban firefox $ firejail --seccomp.print=10786
Filter SECCOMP:
VALIDATE_ARCHITECTURE
EXAMINE_SYSCAL
dudukan BLACKLIST 165
DAFTAR HITAM 166 jumlah2
BLACKLIST 101 poin
DAFTAR HITAM 246 kexec_load
DAFTAR HITAM 304 open_by_handle_at
DAFTAR HITAM 175 init_module
DAFTAR HITAM 176 delete_module
DAFTAR HITAM 172 iopl
DAFTAR HITAM 173
DAFTAR HITAM 167 pertukaran
DAFTAR HITAM 168 pertukaran
DAFTAR HITAM 103 syslog
DAFTAR HITAM 310 proses_vm_readv
DAFTAR BLACKLIST 311 process_vm_writev
DAFTAR HITAM 133 mknod
DAFTAR HITAM 139 sistem
DAFTAR HITAM 156 _sysctl
DAFTAR HITAM 159 adjtimex
DAFTAR HITAM 305 jam_adjtime
DAFTAR HITAM 212 pencarian_dcookie
DAFTAR HITAM 298 perf_event_open
DAFTAR HITAM 300 fanotify_init
KEMBALI_ALLOW
$
--kulit=tidak ada
Jalankan program secara langsung, tanpa shell pengguna.
Contoh:
$ firejail --shell=tidak ada skrip.sh
--kulit=program
Setel shell pengguna default. Gunakan shell ini untuk menjalankan aplikasi menggunakan -c shell
pilihan. Misalnya "firejail --shell=/bin/tanda hubung firefox" akan memulai Mozilla
Firefox sebagai "/bin/tanda hubung -c firefox". Secara default Bash shell (/ bin / bash) digunakan.
Opsi seperti --zsh dan --csh juga dapat mengatur shell default.
Contoh: $firejail --shell=/bin/tanda hubung Script.sh.
--shutdown=nama
Matikan kotak pasir mulai menggunakan opsi --name.
Contoh:
$ firejail --name=mygame --caps.drop=all warzone2100 &
[...]
$ firejail --shutdown=permainan saya
--mematikan=pid
Matikan kotak pasir yang ditentukan oleh ID proses. Gunakan opsi --list untuk mendapatkan daftar
semua kotak pasir aktif.
Contoh:
$ firejail --daftar
3272:netblue:firejail --firefox pribadi
$ penjara api --shutdown=3272
--tmpfs=namadir
Pasang sistem file tmpfs pada direktori dirname. Opsi ini hanya tersedia jika
menjalankan kotak pasir sebagai root.
Contoh:
# penjara api --tmpfs=/ var
--atas Pantau kotak pasir paling intensif CPU, lihat PEMANTAUAN bagian untuk lebih jelasnya.
Contoh:
$ penjara --atas
--jejak
Lacak buka, akses, dan sambungkan panggilan sistem.
Contoh:
$ firejail --trace wget -q www.debian.org
pid induk 11793, pid anak 11794
Proses anak diinisialisasi
1:bash:buka /dev/tty
1: wget: fopen64 /etc/wgetrc
1:wget:buka / Etc / hosts
1:wget:soket AF_INET SOCK_DGRAM IPPROTO_IP
1:wget:hubungkan 8.8.8.8:53
1:wget:soket AF_INET SOCK_STREAM IPPROTO_IP
1:wget:hubungkan 140.211.15.34:80
1:wget:fopen64 indeks.html.1
orang tua menutup, bye ...
--tracelog
Opsi ini memungkinkan pengauditan file dan direktori yang masuk daftar hitam. Sebuah pesan terkirim
ke syslog jika file atau direktori diakses.
Contoh:
$ firejail --tracelog firefox
Contoh pesan:
$ sudo ekor -f / var / log / syslog
[...]
3 Des 11:43:25 debian firejail[70]: pelanggaran daftar hitam - sandbox 26370, exe
firefox, syscall open64, jalur / etc / shadow
3 Des 11:46:17 debian firejail[70]: pelanggaran daftar hitam - sandbox 26370, exe
firefox, panggilan sistem opendir, jalur / boot
[...]
--pohon Cetak pohon dari semua proses kotak pasir, lihat PEMANTAUAN bagian untuk lebih jelasnya.
Contoh:
$ firejail --pohon
11903: netblue: iceweasel firejail
11904: netblue: musang es
11957: netblue:/usr/lib/iceweasel/plugin-container
11969:netblue:firejail --net=eth0 transmisi-gtk
11970:netblue:transmisi-gtk
--pengguna=pengguna baru
Ganti pengguna sebelum memulai kotak pasir. Perintah ini harus dijalankan sebagai root.
Contoh:
# firejail --pengguna=www-data
--Versi: kapan
Cetak versi program dan keluar.
Contoh:
$ firejail --versi
versi firejail 0.9.27
--daftarputih=dirname_atau_filename
Direktori atau file daftar putih. Fitur ini diimplementasikan hanya untuk rumah pengguna, / dev,
/setengah, /memilih, / var, dan / Tmp direktori.
Contoh:
$ firejail --daftar putih=~/.mozilla --daftar putih=~ / Downloads
$ firejail --daftar putih=/tmp/.X11-unix --daftarputih=/dev/null
$ firejail "--whitelist=/home/namapengguna/Mesin Virtual Saya"
--zsh Gunakan /usr/bin/zsh sebagai shell pengguna default.
Contoh:
$ penjara --zsh
TRAFFIC MEMBENTUK
Bandwidth jaringan adalah sumber daya mahal yang dibagikan di antara semua kotak pasir yang berjalan di sistem.
Pembentukan lalu lintas memungkinkan pengguna untuk meningkatkan kinerja jaringan dengan mengontrol jumlahnya
data yang mengalir masuk dan keluar dari kotak pasir.
Firejail mengimplementasikan pembentuk pembatas kecepatan sederhana berdasarkan perintah Linux tc. Pembentuknya
bekerja di tingkat kotak pasir, dan hanya dapat digunakan untuk kotak pasir yang dikonfigurasi dengan jaringan baru
ruang nama.
Tetapkan batas tarif:
firejail --bandwidth={name|pid} setel unggahan unduhan jaringan
Hapus batas tarif:
firejail --bandwidth={name|pid} bersihkan jaringan
Status:
firejail --bandwidth={nama|pid} status
di mana:
nama - nama kotak pasir
pid - kotak pasir pid
jaringan - antarmuka jaringan seperti yang digunakan oleh opsi --net
unduh - kecepatan unduh dalam KB/s (kilobyte per detik)
unggah - kecepatan unggah dalam KB/s (kilobyte per detik)
Contoh:
$ firejail --name=mybrowser --net=eth0 firefox &
$ firejail --bandwidth=mybrowser atur eth0 80 20
$ firejail --bandwidth=status browser saya
$ firejail --bandwidth=mybrowser hapus eth0
PEMANTAUAN
Option --list mencetak daftar semua kotak pasir. Format untuk setiap entri proses adalah sebagai
berikut:
PID:USER:Perintah
Option --tree mencetak pohon proses yang berjalan di kotak pasir. Format untuk masing-masing
proses masuknya adalah sebagai berikut:
PID:USER:Perintah
Opsi --top mirip dengan perintah UNIX top, namun hanya berlaku untuk kotak pasir.
Opsi --netstats mencetak statistik jaringan untuk kotak pasir aktif yang memasang jaringan baru
ruang nama.
Di bawah ini adalah bidang (kolom) yang tersedia dalam urutan abjad untuk --top dan
--netstat pilihan:
perintah
Perintah yang digunakan untuk memulai sandbox.
Penggunaan CPU% CPU, bagian sandbox dari waktu CPU yang telah berlalu sejak pembaruan layar terakhir
PID ID proses unik untuk tugas yang mengontrol kotak pasir.
Prcs Jumlah proses yang berjalan di sandbox, termasuk proses pengontrolan.
RES Resident Memory Size (KiB), memori fisik sandbox yang tidak tertukar. Ini adalah jumlah dari
nilai RES untuk semua proses yang berjalan di kotak pasir.
RX(KB/dtk)
Jaringan menerima kecepatan.
SHR Shared Memory Size (KiB), mencerminkan memori yang dibagikan dengan proses lain. Ini adalah sebuah
jumlah nilai SHR untuk semua proses yang berjalan di kotak pasir, termasuk
proses pengendalian.
TX(KB/dtk)
Kecepatan transmisi jaringan.
Waktu operasi Sandbox waktu aktif dalam format jam:menit:detik.
Pengguna Pemilik kotak pasir.
KEAMANAN PROFIL
Beberapa opsi baris perintah dapat diteruskan ke program menggunakan file profil. penjara api
memilih file profil sebagai berikut:
1. Jika file profil disediakan oleh pengguna dengan opsi --profile, file profilnya adalah
sarat. Contoh:
$ firejail --profile=/home/netblue/icecat.profile icecat
Membaca profil /home/netblue/icecat.profile
[...]
2. Jika file profil dengan nama yang sama dengan aplikasi ada di
~/.config/firejail direktori atau di /etc/firejail, profil dimuat.
~/.config/firejail diutamakan daripada /etc/firejail. Contoh:
$ kucing es penjara api
Nama perintah #icecat#
Ditemukan profil icecat di direktori /home/netblue/.config/firejail
Membaca profil /home/netblue/.config/firejail/icecat.profile
[...]
3. Gunakan file default.profile jika sandbox dimulai oleh pengguna biasa, atau server.profile
file jika kotak pasir dimulai oleh root. Firejail mencari file-file ini di
~/.config/firejail direktori, diikuti oleh direktori /etc/firejail. Untuk menonaktifkan default
pemuatan profil, gunakan opsi perintah --noprofile. Contoh:
$ penjara api
Membaca profil /etc/firejail/generic.profile
pid induk 8553, pid anak 8554
Proses anak diinisialisasi
[...]
$ firejail --tidak ada profil
pid induk 8553, pid anak 8554
Proses anak diinisialisasi
[...]
Lihat man 5 firejail-profile untuk informasi sintaks file profil.
TERBATAS SHELL
Untuk mengonfigurasi shell terbatas, ganti / bin / bash dengan /usr/bin/firejail di /etc/password
file untuk setiap pengguna yang perlu dibatasi. Atau, Anda dapat menentukan
/usr/bin/firejail dalam perintah adduser:
adduser --shell /usr/bin/firejail nama pengguna
Argumen tambahan yang diteruskan ke firejail yang dapat dieksekusi saat login dideklarasikan di
/etc/firejail/login.file pengguna.
CONTOH
penjara api
Mulai reguler / bin / bash sesi di kotak pasir.
firefox penjara api
Mulai Mozilla Firefox.
firejail --debug firefox
Debug kotak pasir Firefox.
penjara api --private
Mulai / bin / bash sesi dengan direktori home tmpfs baru.
penjara api --net=br0 ip=10.10.20.10
Mulai / bin / bash sesi di namespace jaringan baru. Sesi ini terhubung ke
jaringan utama menggunakan perangkat jembatan br0. Alamat IP 10.10.20.10 ditetapkan
ke kotak pasir.
penjara api --net=br0 --net=br1 --net=br2
Mulai / bin / bash sesi di namespace jaringan baru dan hubungkan ke br0, br1,
dan perangkat jembatan host br2.
penjara api --daftar
Daftar semua proses kotak pasir.
Gunakan firejail online menggunakan layanan onworks.net
