## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-NETBLUE30-FIREJAIL
# Firejail
        
Firejail β ΡΡΠΎ Π»ΡΠ³ΠΊΠΎΠ΅ ΡΡΠ΅Π΄ΡΡΠ²ΠΎ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΠΎΠ΅ Π΄Π»Ρ Π·Π°ΡΠΈΡΡ Linux-ΡΠΈΡΡΠ΅ΠΌΡ ΠΏΡΡΡΠΌ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° (ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎ Π½Π΅Π΄ΠΎΠ²Π΅ΡΠ΅Π½Π½ΡΡ
) ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
ΠΡΠ»ΠΈ ΡΠΎΡΠ½Π΅Π΅, ΡΡΠΎ SUID-ΠΏΠ΅ΡΠΎΡΠ½ΠΈΡΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ½ΠΈΠΆΠ°Π΅Ρ ΡΠΈΡΠΊ Π½Π°ΡΡΡΠ΅Π½ΠΈΠΉ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ Π·Π° ΡΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ² ΠΈΠΌΡΠ½ (namespaces) Linux, seccomp-bpf ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ (capabilities) Linux. ΠΠ½Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠΎΡΠ΅ΡΡΡ ΠΈ Π²ΡΠ΅ΠΌ Π΅Π³ΠΎ ΠΏΠΎΡΠΎΠΌΠΊΠ°ΠΌ ΠΈΠΌΠ΅ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΡΠ°ΡΡΠ½ΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎ ΡΠ°Π·Π΄Π΅Π»ΡΠ΅ΠΌΡΡ
ΡΠ΅ΡΡΡΡΠ°Ρ
ΡΠ΄ΡΠ°, ΡΠ°ΠΊΠΈΡ
ΠΊΠ°ΠΊ ΡΠ΅ΡΠ΅Π²ΠΎΠΉ ΡΡΠ΅ΠΊ, ΡΠ°Π±Π»ΠΈΡΠ° ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² ΠΈ ΡΠ°Π±Π»ΠΈΡΠ° ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ. Firejail ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΈ SELinux ΠΈΠ»ΠΈ AppArmor ΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½ Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΠΌΠΈ Π³ΡΡΠΏΠΏΠ°ΠΌΠΈ Linux (Control Groups).
ΠΠ°ΠΏΠΈΡΠ°Π½Π½ΡΠΉ Π½Π° C ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π±Π΅Π· Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ, ΡΡΠΎΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΏΡΠΎΠ΄ΡΠΊΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π° Π»ΡΠ±ΠΎΠΌ Linux-ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅ Ρ Π²Π΅ΡΡΠΈΠ΅ΠΉ ΡΠ΄ΡΠ° 3.x ΠΈΠ»ΠΈ Π½ΠΎΠ²Π΅Π΅. ΠΠ½ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡ Π² ΠΏΠ΅ΡΠΎΡΠ½ΠΈΡΡ ΠΏΡΠΎΡΠ΅ΡΡΡ Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°: ΡΠ΅ΡΠ²Π΅ΡΡ, Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ Π΄Π°ΠΆΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΡΠ΅Π°Π½ΡΡ Π²Ρ
ΠΎΠ΄Π° Π² ΡΠΈΡΡΠ΅ΠΌΡ. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΠΏΡΠΎΡΠΈΠ»ΠΈ ΠΏΠ΅ΡΠΎΡΠ½ΠΈΡΡ Π΄Π»Ρ ΡΡΠ΄Π° ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ½Π½ΡΡ
Linux-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, ΡΠ°ΠΊΠΈΡ
ΠΊΠ°ΠΊ Mozilla Firefox, Chromium, VLC, Transmission ΠΈ Π΄ΡΡΠ³ΠΈΡ
.
ΠΠ΅ΡΠΎΡΠ½ΠΈΡΠ° Π»ΡΠ³ΠΊΠ°Ρ, Π½Π°ΠΊΠ»Π°Π΄Π½ΡΠ΅ ΡΠ°ΡΡ
ΠΎΠ΄Ρ Π½Π΅Π²Π΅Π»ΠΈΠΊΠΈ. ΠΠ΅Ρ ΡΠ»ΠΎΠΆΠ½ΡΡ
ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π½ΡΠΆΠ½ΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ, Π½Π΅Ρ ΠΎΡΠΊΡΡΡΡΡ
socket-ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ, Π½Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΡ
Π² ΡΠΎΠ½Π΅ Π΄Π΅ΠΌΠΎΠ½ΠΎΠ². ΠΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π² ΡΠ΄ΡΠ΅ Linux ΠΈ Π΄ΠΎΡΡΡΠΏΠ½Ρ Π½Π° Π»ΡΠ±ΠΎΠΌ Linux-ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅.
## ΠΠΈΠ΄Π΅ΠΎ
## Π‘ΡΡΠ»ΠΊΠΈ
* ΠΠ΅Π±-ΡΡΡΠ°Π½ΠΈΡΠ° ΠΏΡΠΎΠ΅ΠΊΡΠ°: https://firejail.wordpress.com/
* IRC: https://web.libera.chat/#firejail
* ΠΠ°Π³ΡΡΠ·ΠΊΠ° ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ°: https://firejail.wordpress.com/download-2/
* ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ: https://firejail.wordpress.com/features-3/
* ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ: https://firejail.wordpress.com/documentation-2/
* FAQ: https://github.com/netblue30/firejail/wiki/Frequently-Asked-Questions
* ΠΠΈΠΊΠΈ: https://github.com/netblue30/firejail/wiki
* GitHub Actions: https://github.com/netblue30/firejail/actions
* GitLab CI: https://gitlab.com/Firejail/firejail_ci/pipelines
* Debian CI: https://salsa.debian.org/reiner/firejail
* Debian Package Tracker: https://tracker.debian.org/pkg/firejail
* Ubuntu PPA: https://launchpad.net/~deki/+archive/ubuntu/firejail
* ΠΠΈΠ΄Π΅ΠΎΠΊΠ°Π½Π°Π»: https://odysee.com/@netblue30:9?order=new
* Π Π΅Π·Π΅ΡΠ²Π½ΡΠΉ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°Π½Π°Π»: https://www.bitchute.com/profile/JSBsA1aoQVfW/
## Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ Π² Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ
Π‘ΠΌ. SECURITY.md.
## Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ°
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΠ΅ Π²Π΅ΡΡΠΈΠΈ ΡΠΌ. Π² SECURITY.md.
### Debian
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: Π²Π΅ΡΡΠΈΠΈ ΠΈΠ· Debian stable ΠΈ backports, ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ, ΡΡΡΠ°ΡΠ΅Π»ΠΈ, ΠΏΠΎΡΡΠΎΠΌΡ Π² Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΌΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌ Π»ΠΈΠ±ΠΎ ΡΠΊΠ°ΡΠ°ΡΡ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ .deb-ΠΏΠ°ΠΊΠ΅Ρ ΠΈΠ· ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΡΠ΅Π»ΠΈΠ·Π°:
* https://github.com/netblue30/firejail/releases/latest
ΠΠΈΠ±ΠΎ ΡΠΎΠ±ΡΠ°ΡΡ ΠΈΠ· ΠΈΡΡ
ΠΎΠ΄Π½ΠΈΠΊΠΎΠ².
Π‘ΡΠ°ΡΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ
Debian stable (bullseye): ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ°ΠΊΠ΅Ρ ΠΈΠ· backports.
### Ubuntu
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: Π²Π΅ΡΡΠΈΠΈ ΠΈΠ· Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π° ΠΈ PPA, ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ, ΡΡΡΠ°ΡΠ΅Π»ΠΈ, ΠΏΠΎΡΡΠΎΠΌΡ Π² Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΌΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌ Π»ΠΈΠ±ΠΎ ΡΠΊΠ°ΡΠ°ΡΡ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ .deb-ΠΏΠ°ΠΊΠ΅Ρ ΠΈΠ· ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΡΠ΅Π»ΠΈΠ·Π°:
* https://github.com/netblue30/firejail/releases/latest
ΠΠΈΠ±ΠΎ ΡΠΎΠ±ΡΠ°ΡΡ ΠΈΠ· ΠΈΡΡ
ΠΎΠ΄Π½ΠΈΠΊΠΎΠ².
Π‘ΡΠ°ΡΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΡ PPA ΠΎΡΠ½ΠΎΡΠΈΡΡΡ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΊ ΡΠ°ΠΌΠΎΠΌΡ firejail; ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ firetools ΠΈ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ firejail ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΈΠ· Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π° Π²ΠΏΠΎΠ»Π½Π΅ Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎ, Π΅ΡΠ»ΠΈ ΠΈΡ
Π½Π΅Ρ Π² PPA, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡΡΡ ΡΠ΅ΠΆΠ΅.
ΠΠ»Ρ Ubuntu 18.04+ ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΡ
(ΡΠ°ΠΊΠΈΡ
ΠΊΠ°ΠΊ Linux Mint) ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ **Π½Π°ΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ** ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ PPA.
ΠΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ PPA ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΈΠ· Π½Π΅Π³ΠΎ:
root@kitploit:~
sudo add-apt-repository ppa:deki/firejail
sudo apt-get update
sudo apt-get install firejail firejail-profiles
ΠΡΠΈΡΠΈΠ½Π°: ΠΏΠ°ΠΊΠ΅Ρ firejail Π΄Π»Ρ Ubuntu 20.04 ΠΎΡΡΠ°Π²Π°Π»ΡΡ ΡΡΠ·Π²ΠΈΠΌΡΠΌ ΠΊ CVE-2021-26910 Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
ΠΌΠ΅ΡΡΡΠ΅Π² ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΏΠ°ΡΡ Π΄Π»Ρ Π½Π΅Π³ΠΎ Π±ΡΠ» ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ Π½Π° Launchpad:
* CVE-2021-26910
* firejail version in Ubuntu 20.04 LTS is vulnerable to CVE-2021-26910
Π‘ΠΌ. ΡΠ°ΠΊΠΆΠ΅ https://wiki.ubuntu.com/SecurityTeam/FAQ:
> ΠΠ°ΠΊΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ Ubuntu?
>
> Ubuntu Π² Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΡΠ°Π·Π΄Π΅Π»Π΅Π½Π° Π½Π° ΡΠ΅ΡΡΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°: main, restricted, universe ΠΈ multiverse. ΠΡΠ΅ Π±ΠΈΠ½Π°ΡΠ½ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ Π² main ΠΈ restricted ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ Ubuntu Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅Π³ΠΎ ΡΡΠΎΠΊΠ° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΡΠ΅Π»ΠΈΠ·Π° Ubuntu, ΡΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ Π±ΠΈΠ½Π°ΡΠ½ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ Π² universe ΠΈ multiverse ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²ΠΎΠΌ Ubuntu.
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π²Π΅ΡΡΠΈΡ ΠΈΠ· PPA, ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ, Π±ΠΎΠ»Π΅Π΅ ΡΠ²Π΅ΠΆΠ°Ρ ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΉ ΠΏΡΠΎΡΠΈΠ»Π΅ΠΉ.
ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ ΡΠΌ. Π² ΡΠ»Π΅Π΄ΡΡΡΠΈΡ
ΠΎΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΡΡ
:
* Should I keep using the version of firejail available in my distro repos?
* How to install the latest version on Ubuntu and derivatives
### ΠΡΠΎΡΠΈΠ΅
Firejail Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ
Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π°Ρ
Linux:
Repology

ΠΠ° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ Π²ΡΡΠ΅ΡΠΏΠΎΠΌΡΠ½ΡΡΡΡ
ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ, Π΅ΡΠ»ΠΈ Π²Π°Ρ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ² ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΡ Π²Π΅ΡΡΠΈΡ firejail, Π² ΡΠ΅Π»ΠΎΠΌ Π»ΡΡΡΠ΅ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ Π΅Π³ΠΎ ΠΈΠ· Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π°.
ΠΠ΅ΡΡΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ `firejail --version` ΠΏΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ.
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π²ΡΠΏΡΡΠ΅Π½Π½ΡΡ
ΠΏΠ°ΠΊΠ΅ΡΠΎΠ².
## Π‘Π±ΠΎΡΠΊΠ°
ΠΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΏΠΎ ΡΠ±ΠΎΡΠΊΠ΅ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΈΠ· ΠΈΡΡ
ΠΎΠ΄Π½ΠΈΠΊΠΎΠ².
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΈΠ²Π΅Π΄ΡΠ½Π½ΡΠ΅ Π½ΠΈΠΆΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π°, ΠΊΠΎΠ³Π΄Π° ΡΡΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ΠΈ ΡΠΎΠ·Π΄Π°ΡΡ Π½Π°ΡΠΈΠ²Π½ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ, ΡΡΠΎ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠ°ΠΌΠΈ.
ΠΠ»Ρ ΠΎΡΡΠ°Π»ΡΠ½ΡΡ
Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²ΠΎΠ² ΡΠΌ. ΠΎΠ±ΡΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ.
Π‘ΠΌ. ΡΠ°ΠΊΠΆΠ΅ .gitlab-ci.yml ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΡΠ±ΠΎΡΠΊΠΈ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ
Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²ΠΎΠ² Π² CI.
### Arch
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: ΠΏΠ°ΠΊΠ΅Ρ AUR Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ Π½Π°ΠΌΠΈ.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ firejail-git ΠΈΠ· AUR.
ΠΡΠΈΠΌΠ΅Ρ:
root@kitploit:~
yay -S firejail-git
### Debian
ΠΠ»Ρ Debian, Ubuntu ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΡ
:
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: Π»ΡΠ±ΡΠ΅ ΡΠ»Π°Π³ΠΈ ./configure ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ ΡΠΊΡΠΈΠΏΡΡ `mkdeb.sh` (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, `./mkdeb.sh --enable-foo`).
root@kitploit:~
sudo apt-get update -qy
sudo apt-get install -qy \
git build-essential fakeroot lintian libapparmor-dev pkg-config gawk
git clone 'https://github.com/netblue30/firejail.git' &&
cd firejail &&
./configure &&
make dist &&
./mkdeb.sh &&
sudo dpkg -i ./*.deb &&
make installcheck
### Fedora
ΠΠ»Ρ Fedora ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΡ
:
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: Π»ΡΠ±ΡΠ΅ ΡΠ»Π°Π³ΠΈ ./configure ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ ΡΠΊΡΠΈΠΏΡΡ `mkrpm.sh` (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, `./platform/rpm/mkrpm.sh --enable-foo`).
root@kitploit:~
sudo dnf update -y
sudo dnf install -y rpm-build gcc make
git clone 'https://github.com/netblue30/firejail.git' &&
cd firejail &&
./configure &&
make dist &&
./platform/rpm/mkrpm.sh &&
sudo rpm -i ./*.rpm &&
make installcheck
### Generic
ΠΠ±ΡΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΏΠΎ ΡΠ±ΠΎΡΠΊΠ΅/ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅:
root@kitploit:~
git clone 'https://github.com/netblue30/firejail.git' &&
cd firejail &&
./configure &&
make -j "$(nproc)" &&
sudo make install-strip &&
make installcheck
Π Debian/Ubuntu Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ git ΠΈ gcc.
Π§ΡΠΎΠ±Ρ ΡΠΎΠ±ΡΠ°ΡΡ Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ AppArmor (ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² Debian, Ubuntu, openSUSE ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΡ
), ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ AppArmor ΠΈ pkg-config ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΎΠΏΡΠΈΡ ./configure `--enable-apparmor`:
root@kitploit:~
sudo apt-get install git build-essential libapparmor-dev pkg-config gawk
Π§ΡΠΎΠ±Ρ ΡΠΎΠ±ΡΠ°ΡΡ Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ SELinux (ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² Fedora, RHEL ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΡ
), ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ libselinux1-dev (libselinux-devel Π² Fedora) ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΎΠΏΡΠΈΡ ./configure `--enable-selinux`.
ΠΠΎΠ΄ΡΠΎΠ±Π½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ firejail ΠΈΠ· git Π΄ΠΎΡΡΡΠΏΠ½Π° Π² Π²ΠΈΠΊΠΈ.
## ΠΠ°ΠΏΡΡΠΊ ΠΏΠ΅ΡΠΎΡΠ½ΠΈΡΡ
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΏΠΎΠ»Π½ΡΠΉ ΠΏΡΡΡ ΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, `firejail /usr/bin/firefox` Π²ΠΌΠ΅ΡΡΠΎ `firejail firefox`), ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΡ
ΠΏΡΠΎΠ±Π»Π΅ΠΌ firejail-in-firejail (ΡΠΌ. #2877).
Π§ΡΠΎΠ±Ρ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΏΠ΅ΡΠΎΡΠ½ΠΈΡΡ, Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ `firejail` ΠΏΠ΅ΡΠ΅Π΄ Π²Π°ΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:
root@kitploit:~
firejail /usr/bin/firefox # Π·Π°ΠΏΡΡΠΊ Mozilla Firefox
firejail /usr/bin/transmission-gtk # Π·Π°ΠΏΡΡΠΊ Transmission BitTorrent
firejail /usr/bin/vlc # Π·Π°ΠΏΡΡΠΊ VideoLAN Client
sudo firejail /etc/init.d/nginx start
ΠΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ `firejail --list` Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅, ΡΡΠΎΠ±Ρ Π²ΡΠ²Π΅ΡΡΠΈ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ
Π°ΠΊΡΠΈΠ²Π½ΡΡ
ΠΏΠ΅ΡΠΎΡΠ½ΠΈΡ. ΠΡΠΈΠΌΠ΅Ρ:
root@kitploit:~
$ firejail --list
1617:netblue:/usr/bin/firejail /usr/bin/firefox-esr
7719:netblue:/usr/bin/firejail /usr/bin/transmission-qt
7779:netblue:/usr/bin/firejail /usr/bin/galculator
7874:netblue:/usr/bin/firejail /usr/bin/vlc --started-from-file file:///home/netblue/firejail-whitelist.mp4
7916:netblue:firejail --list
## ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ ΡΠ°Π±ΠΎΡΠΈΠΌ ΡΡΠΎΠ»ΠΎΠΌ
ΠΠ½ΡΠ΅Π³ΡΠΈΡΡΠΉΡΠ΅ Π²Π°ΡΡ ΠΏΠ΅ΡΠΎΡΠ½ΠΈΡΡ Π² ΡΠ°Π±ΠΎΡΠΈΠΉ ΡΡΠΎΠ», Π²ΡΠΏΠΎΠ»Π½ΠΈΠ² ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π΄Π²Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
root@kitploit:~
firecfg --fix-sound
sudo firecfg
ΠΠ΅ΡΠ²Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΈΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΠΎΠ±ΡΠ΅ΠΉ ΠΏΠ°ΠΌΡΡΡΡ/PID namespace Π² PulseAudio Π΄ΠΎ Π²Π΅ΡΡΠΈΠΈ 9. ΠΡΠΎΡΠ°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΡΠ΅Ρ Firejail Π² Π²Π°Ρ ΡΠ°Π±ΠΎΡΠΈΠΉ ΡΡΠΎΠ». ΠΠ»Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ PulseAudio ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π²ΡΠΉΡΠΈ ΠΈΠ· ΡΠΈΡΡΠ΅ΠΌΡ ΠΈ Π²ΠΎΠΉΡΠΈ ΡΠ½ΠΎΠ²Π°.
ΠΠ°ΠΏΡΡΠΊΠ°ΠΉΡΠ΅ ΡΠ²ΠΎΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΡΠΈΠ²ΡΡΠ½ΡΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ: ΠΌΠ΅Π½Ρ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ° ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΡΡΠΎΠ»Π°, ΡΠ°ΠΉΠ»ΠΎΠ²ΡΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ, ΠΏΠ°Π½Π΅Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΊ Π»ΡΠ±ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠΉ Firejail ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ. Π ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π²Π΅ΡΡΠΈΠΈ Firejail Π±ΠΎΠ»Π΅Π΅ 900 ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΠΈ ΡΡΠΎ ΡΠΈΡΠ»ΠΎ ΡΠ°ΡΡΡΡ Ρ ΠΊΠ°ΠΆΠ΄ΡΠΌ Π½ΠΎΠ²ΡΠΌ ΡΠ΅Π»ΠΈΠ·ΠΎΠΌ.
ΠΡ Ρ
ΡΠ°Π½ΠΈΠΌ ΡΠΏΠΈΡΠΎΠΊ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² src/firecfg/firecfg.config (/etc/firejail/firecfg.config ΠΏΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ).
## ΠΡΠΎΡΠΈΠ»ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ
ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Firejail ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ ΠΏΠ΅ΡΠΎΡΠ½ΠΈΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΏΡΠΎΡΠΈΠ»Π΅ΠΉ.
ΠΡΠΎΡΠΈΠ»ΠΈ Π΄Π»Ρ Π²ΡΠ΅Ρ
ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π² etc/ (/etc/firejail/ ΠΏΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ).
ΠΡ ΡΠ°ΠΊΠΆΠ΅ Ρ
ΡΠ°Π½ΠΈΠΌ ΡΠΏΠΈΡΠΎΠΊ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΉ ΠΏΡΠΎΡΠΈΠ»Π΅ΠΉ Π΄Π»Ρ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΡ
Π²ΡΠΏΡΡΠ΅Π½Π½ΡΡ
Π²Π΅ΡΡΠΈΠΉ Π² etc-fixes/.
ΠΡΠ»ΠΈ Π²Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΡΠΎΡΠΈΠ»ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ Firejail Π² ΠΏΡΠ±Π»ΠΈΡΠ½ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ, ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, Π΄Π°ΠΉΡΠ΅ Π½Π°ΠΌ ΡΡΡΠ»ΠΊΡ:
* https://github.com/chiraag-nataraj/firejail-profiles
* https://github.com/triceratops1/fe
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΡΠΎΡ issue Π΄Π»Ρ Π·Π°ΠΏΡΠΎΡΠ° Π½ΠΎΠ²ΡΡ
ΠΏΡΠΎΡΠΈΠ»Π΅ΠΉ:
* ΠΠ°ΠΏΡΠΎΡΡ ΠΏΡΠΎΡΠΈΠ»Π΅ΠΉ
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠΏΠΈΡΠΎΠΊ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ
Π²ΡΠ·ΠΎΠ²ΠΎΠ², Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΡ
ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅:
* contrib/syscalls.sh
## Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅
firecfg ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΡΠ»ΠΊΠΈ Π² /usr/local/bin, ΠΏΠΎΡΡΠΎΠΌΡ Π΄Π»Ρ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ firejail ΠΏΠ΅ΡΠ΅Π΄ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ΠΌ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
root@kitploit:~
sudo firecfg --clean
ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ ΡΠΌ. Π² `man firecfg`.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: Π±ΠΈΡΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΡΠ»ΠΊΠΈ ΠΈΠ³Π½ΠΎΡΠΈΡΡΡΡΡΡ ΠΏΡΠΈ ΠΏΠΎΠΈΡΠΊΠ΅ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Π² `$PATH`, ΠΏΠΎΡΡΠΎΠΌΡ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π±Π΅Π· Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π²ΡΡΠ΅ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π²ΡΠ·ΡΠ²Π°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ.
## ΠΠΎΡΠ»Π΅Π΄Π½ΡΡ Π²ΡΠΏΡΡΠ΅Π½Π½Π°Ρ Π²Π΅ΡΡΠΈΡ: 0.9.80
## Π’Π΅ΠΊΡΡΠ°Ρ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌΠ°Ρ Π²Π΅ΡΡΠΈΡ: 0.9.81
### ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Landlock β ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΡΡΡ/ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΠΎ
* ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ Π² #6078, ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΎ Π½Π° #5315 ΠΎΡ ChrysoliteAzalea/landlock
* ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΡΠ°ΠΏΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ linux/landlock.h β Π΅ΡΠ»ΠΈ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Π½Π°ΠΉΠ΄Π΅Π½, ΡΡΠ½ΠΊΡΠΈΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΡΡΡ
* ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΡΠ°ΠΏΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠΎΠ³ΠΎ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ Π»ΠΈ Landlock ΡΠ΄ΡΠΎΠΌ ΠΈ Π²ΠΊΠ»ΡΡΡΠ½ Π»ΠΈ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅
root@kitploit:~
LANDLOCK
Landlock β ΡΡΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ Linux, Π²ΠΏΠ΅ΡΠ²ΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΠΉ Π²
Π²Π΅ΡΡΠΈΠΈ 5.13 ΡΠ΄ΡΠ° Linux. ΠΠ½ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π΅ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠ°ΠΌ
ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°ΡΡ ΡΠ²ΠΎΠΉ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅. ΠΠΎΡΠ»Π΅ Π½Π°Π»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΡΠΈ
ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠ½ΡΡΡ, ΠΈ Π²ΡΠ΅ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΡ, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠ΅
ΠΏΡΠΎΡΠ΅ΡΡΠ°ΠΌΠΈ Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡΠΌΠΈ Landlock, Π½Π°ΡΠ»Π΅Π΄ΡΡΡ ΡΡΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ.
Firejail ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Landlock ΠΊΠ°ΠΊ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ
ΠΏΠ΅ΡΠΎΡΠ½ΠΈΡΡ. Π‘ Π΅Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°ΡΡ, ΡΡΠΎ ΠΏΠΎΠΌΠ΅ΡΡΠ½Π½ΠΎΠ΅ Π²
ΠΏΠ΅ΡΠΎΡΠ½ΠΈΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ»ΡΡΠ°ΡΡ Π΄ΠΎΡΡΡΠΏ ΡΠΎΠ»ΡΠΊΠΎ ΠΊ ΡΠ΅ΠΌ ΡΠ°ΠΉΠ»Π°ΠΌ ΠΈ
ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°ΠΌ, ΠΊ ΠΊΠΎΡΠΎΡΡΠΌ Π΅ΠΌΡ Π±ΡΠ»ΠΎ ΡΠ²Π½ΠΎ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΎ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ. Firejail
ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π°Π±ΠΎΡΠ° ΠΏΡΠ°Π²ΠΈΠ» ΠΊΠ°ΠΊ Π±Π°Π·ΠΎΠ²ΡΠΌ Π½Π°Π±ΠΎΡΠΎΠΌ ΠΏΡΠ°Π²ΠΈΠ»
(ΡΠΌ. --landlock), ΡΠ°ΠΊ ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΌ Π½Π°Π±ΠΎΡΠΎΠΌ ΠΏΡΠ°Π²ΠΈΠ».
ΠΠ°ΠΆΠ½ΡΠ΅ Π·Π°ΠΌΠ΅ΡΠ°Π½ΠΈΡ:
- ΠΡΠΎΡΠ΅ΡΡ ΠΌΠΎΠΆΠ΅Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π½Π°Π±ΠΎΡ ΠΏΡΠ°Π²ΠΈΠ» Landlock, ΡΠΎΠ»ΡΠΊΠΎ Π΅ΡΠ»ΠΈ
ΠΎΠ½ ΠΈΠΌΠ΅Π΅Ρ Π»ΠΈΠ±ΠΎ CAP_SYS_ADMIN Π² ΡΠ²ΠΎΡΠΌ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠΌ Π½Π°Π±ΠΎΡΠ΅
Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ, Π»ΠΈΠ±ΠΎ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ "No New Privileges".
ΠΠ·-Π·Π° ΡΡΠΎΠ³ΠΎ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Landlock ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄ΡΡ ΠΊ ΡΠΎΠΌΡ,
ΡΡΠΎ Firejail Π²ΠΊΠ»ΡΡΠΈΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ "No New Privileges",
Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΠΏΡΠΎΡΠΈΠ»Ρ ΠΈΠ»ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ
--nonewprivs.
- ΠΠΎΡΡΡΠΏ ΠΊ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Ρ /proc ΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΡΠ΅ΡΠ΅Π· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ
ΡΡΡΠΎΠΊΠΈ --landlock.proc.
- ΠΠΎΡΡΡΠΏ ΠΊ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Ρ /etc ΡΠ°Π·ΡΠ΅ΡΠ°Π΅ΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ. Π§ΡΠΎΠ±Ρ
ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΡΠΎ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ
--writable-etc. ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ
--private-etc, ΡΡΠΎΠ±Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Ρ /etc.
Π§ΡΠΎΠ±Ρ Π²ΠΊΠ»ΡΡΠΈΡΡ ΡΠ°ΠΌΠΎΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Landlock ΠΏΠΎΠ²Π΅ΡΡ
ΡΠ΅ΠΊΡΡΠΈΡ
ΡΡΠ½ΠΊΡΠΈΠΉ
Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ Firejail, ΠΏΠ΅ΡΠ΅Π΄Π°ΠΉΡΠ΅ ΡΠ»Π°Π³ --landlock Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅
Firejail. ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ --landlock.read,
--landlock.write, --landlock.special ΠΈ --landlock.execute Π²ΠΌΠ΅ΡΡΠ΅ Ρ
--landlock ΠΈΠ»ΠΈ Π²ΠΌΠ΅ΡΡΠΎ Π½Π΅Π³ΠΎ. ΠΡΠΈΠΌΠ΅Ρ:
$ firejail --landlock --landlock.read=/media --landlock.proc=ro /usr/bin/mc
### Π‘ΡΠ°ΡΠΈΡΡΠΈΠΊΠ° ΠΏΡΠΎΡΠΈΠ»Π΅ΠΉ
ΠΠ΅Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΈ ΠΏΡΠΎΡΠΈΠ»Π΅ΠΉ. Π‘ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠΉΡΠ΅ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠ½ΠΎ. ΠΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³ /usr/lib/firejail.
ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ Π΅Π³ΠΎ Π΄Π»Ρ ΠΏΡΠΎΡΠΈΠ»Π΅ΠΉ Π² /etc/profiles:
root@kitploit:~
$ /usr/lib/firejail/profstats /etc/firejail/*.profile
No include .local found in /etc/firejail/noprofile.profile
Warning: multiple caps in /etc/firejail/tidal-hifi.profile
Warning: multiple caps in /etc/firejail/tqemu.profile
Warning: multiple caps in /etc/firejail/transmission-daemon.profile
Warning: multiple caps in /etc/firejail/trivalent.profile
Stats:
profiles 1342
include local profile 1341 (include profile-name.local)
include globals 1307 (include globals.local)
blacklist ~/.ssh 1201 (include disable-common.inc)
seccomp 1213
capabilities 1335
noexec 1214 (include disable-exec.inc)
noroot 1105
memory-deny-write-execute 320
restrict-namespaces 1048
apparmor 869
private-bin 817
private-dev 1172
private-etc 842
private-cache 865
private-lib 86
private-tmp 1036
whitelist home directory 662
whitelist var 975 (include whitelist-var-common.inc)
whitelist run/user 1305 (include whitelist-runuser-common.inc
or blacklist ${RUNUSER})
whitelist usr/share 760 (include whitelist-usr-share-common.inc
net none 452
dbus-user none 766
dbus-user filter 206
dbus-system none 970
dbus-system filter 13