Π˜Π·Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° систСмата Π·Π° изолация Π½Π° прилоТСния Firejail 0.9.72

ΠŸΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Π½ Π΅ Ρ€Π΅Π»ΠΈΠ· Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Firejail 0.9.72, ΠΊΠΎΠΉΡ‚ΠΎ Ρ€Π°Π·Π²ΠΈΠ²Π° систСма Π·Π° ΠΈΠ·ΠΎΠ»ΠΈΡ€Π°Π½ΠΎ изпълнСниС Π½Π° Π³Ρ€Π°Ρ„ΠΈΡ‡Π½ΠΈ, ΠΊΠΎΠ½Π·ΠΎΠ»Π½ΠΈ ΠΈ ΡΡŠΡ€Π²ΡŠΡ€Π½ΠΈ прилоТСния, позволяваща ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° риска ΠΎΡ‚ ΠΊΠΎΠΌΠΏΡ€ΠΎΠΌΠ΅Ρ‚ΠΈΡ€Π°Π½Π΅ Π½Π° основната систСма ΠΏΡ€ΠΈ стартиранС Π½Π° Π½Π΅Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΈ ΠΈΠ»ΠΈ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»Π½ΠΎ уязвими ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π° Π΅ написана Π½Π° C ΠΈ сС разпространява ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π· GPLv2, ΠΎΡ‚ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ Π² ΠΊΠΎΠΉΡ‚ΠΎ ΠΈ Π΄Π° Π΅ дистрибутив Π½Π° Linux с ядро ΠΏΠΎ-стари ΠΎΡ‚ 3.0. Π“ΠΎΡ‚ΠΎΠ²ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ с Firejail са ΠΏΠΎΠ΄Π³ΠΎΡ‚Π²Π΅Π½ΠΈ във Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ‚Π΅ deb (Debian, Ubuntu) ΠΈ rpm (CentOS, Fedora).

Π—Π° ΠΈΠ·ΠΎΠ»ΠΈΡ€Π°Π½Π΅ Π² Firejail сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ пространства ΠΎΡ‚ ΠΈΠΌΠ΅Π½Π° (namespaces), AppArmor ΠΈ филтрация Π½Π° систСмни повиквания (seccomp-bpf) Π² Linux. Π‘Π»Π΅Π΄ стартиранС, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π° ΠΈ всички Π½Π΅ΠΉΠ½ΠΈ Π΄ΡŠΡ‰Π΅Ρ€Π½ΠΈ процСси ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ ΠΎΡ‚Π΄Π΅Π»Π½ΠΈ прСдставяния Π½Π° рСсурситС Π½Π° ядрото, ΠΊΠ°Ρ‚ΠΎ ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈ стСк, Ρ‚Π°Π±Π»ΠΈΡ†Π° Π½Π° процСситС ΠΈ Ρ‚ΠΎΡ‡ΠΊΠΈ Π½Π° ΠΌΠΎΠ½Ρ‚ΠΈΡ€Π°Π½Π΅. Π‘Π²ΡŠΡ€Π·Π°Π½ΠΈΡ‚Π΅ ΠΏΠΎΠΌΠ΅ΠΆΠ΄Ρƒ си прилоТСния ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ обСдинявани Π² Π΅Π΄ΠΈΠ½ ΠΎΠ±Ρ‰ sandbox. ΠŸΡ€ΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ Firejail ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΏΡ€ΠΈΠ»Π°Π³Π° ΠΈ Π·Π° стартиранС Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ Docker, LXC ΠΈ OpenVZ.

Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ срСдствата Π·Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π½Π° изолация, firejail Π΅ ΠΈΠ·ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ прост Π·Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Π½Π΅ ΠΈ Π½Π΅ изисква ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° Π½Π° систСмСн ΠΎΠ±Ρ€Π°Π· β€” ΡΡŠΡΡ‚Π°Π²ΡŠΡ‚ Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° сС Ρ„ΠΎΡ€ΠΌΠΈΡ€Π° Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Π½Π° Π±Π°Π·Π° Π½Π° ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰Π°Ρ‚Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π° систСма ΠΈ сС ΠΏΡ€Π΅ΠΌΠ°Ρ…Π²Π° слСд ΠΏΡ€ΠΈΠΊΠ»ΡŽΡ‡Π²Π°Π½Π΅ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ. ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΡΡ‚ сС гъвкави срСдства Π·Π° Π·Π°Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΏΡ€Π°Π²ΠΈΠ»Π° Π·Π° Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ Ρ„Π°ΠΉΠ»ΠΎΠ²Π° систСма, ΠΊΠΎΠ΅Ρ‚ΠΎ позволява опрСдСлянС Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ, Π΄ΠΎ ΠΊΠΎΠΈΡ‚ΠΎ Π΄ΠΎΡΡ‚ΡŠΠΏΡŠΡ‚ Π΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ ΠΈΠ»ΠΈ Π·Π°Π±Ρ€Π°Π½Π΅Π½, ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅ Π½Π° Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΈ систСми (tmpfs) Π·Π° Π΄Π°Π½Π½ΠΈ, ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π°Π²Π°Π½Π΅ Π½Π° Π΄ΠΎΡΡ‚ΡŠΠΏΠ° Π΄ΠΎ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ ΠΈΠ»ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ само Π·Π° Ρ‡Π΅Ρ‚Π΅Π½Π΅, ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€Π°Π½Π΅ Π½Π° Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ Ρ‡Ρ€Π΅Π· bind-mount ΠΈ overlayfs.

Π—Π° голям Π±Ρ€ΠΎΠΉ популярни прилоТСния, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Firefox, Chromium, VLC ΠΈ Transmission, са ΠΏΠΎΠ΄Π³ΠΎΡ‚Π²Π΅Π½ΠΈ Π³ΠΎΡ‚ΠΎΠ²ΠΈ ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈ Π·Π° изолация Π½Π° систСмни повиквания. Π—Π° ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°Π½Π΅ Π½Π° ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈ Π·Π° настройка Π½Π° ΠΈΠ·ΠΎΠ»ΠΈΡ€Π°Π½Π° срСда, ΠΈΠ·ΠΏΡŠΠ»Π½ΠΈΠΌΠΈΡΡ‚ Ρ„Π°ΠΉΠ» firejail сС инсталира с Ρ„Π»Π°Π³Π° SUID root (слСд инициализация ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈΡ‚Π΅ сС сбросват). Π—Π° изпълнСниС Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π° Π² Ρ€Π΅ΠΆΠΈΠΌ Π½Π° изолация Π΅ Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ Π΄Π° сС посочи ΠΈΠΌΠ΅Ρ‚ΠΎ Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ ΠΊΠ°Ρ‚ΠΎ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ Π½Π° ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π°Ρ‚Π° firejail, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, "firejail firefox" ΠΈΠ»ΠΈ "sudo firejail /etc/init.d/nginx start".

Π’ Π½ΠΎΠ²ΠΎΡ‚ΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅:

  • Π”ΠΎΠ±Π°Π²Π΅Π½ Π΅ seccomp-Ρ„ΠΈΠ»Ρ‚ΡŠΡ€ Π½Π° систСмнитС ΠΏΠΎΠ²ΠΈΡ†ΠΈ, ΠΊΠΎΠΉΡ‚ΠΎ Π±Π»ΠΎΠΊΠΈΡ€Π° ΡΡŠΠ·Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° пространства Π½Π° ΠΈΠΌΠ΅Π½Π° (Π·Π° Π²ΠΊΠ»ΡŽΡ‡Π²Π°Π½Π΅Ρ‚ΠΎ Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° опция β€žβ€”restrict-namespacesβ€œ). Актуализирани са Ρ‚Π°Π±Π»ΠΈΡ†ΠΈΡ‚Π΅ Π½Π° систСмнитС ΠΏΠΎΠ²ΠΈΡ†ΠΈ ΠΈ Π³Ρ€ΡƒΠΏΠΈΡ‚Π΅ seccomp.
  • ΠŸΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½ Π΅ Ρ€Π΅ΠΆΠΈΠΌΡŠΡ‚ force-nonewprivs (NO_NEW_PRIVS), ΠΊΠΎΠΉΡ‚ΠΎ забранява ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ Π² Π½ΠΎΠ²ΠΈΡ‚Π΅ процСси.
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° собствСни ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈ AppArmor (ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π° Π΅ опция β€žβ€”apparmorβ€œ Π·Π° ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅).
  • Π’ систСмата Π·Π° прослСдяванС Π½Π° мрСТовия Ρ‚Ρ€Π°Ρ„ΠΈΠΊ nettrace, която ΠΏΠΎΠΊΠ°Π·Π²Π° информация Π·Π° IP ΠΈ ΠΈΠ½Ρ‚Π΅Π½Π·ΠΈΡ‚Π΅Ρ‚Π° Π½Π° Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° ΠΎΡ‚ всСки адрСс, Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° ICMP ΠΈ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈ ΠΎΠΏΡ†ΠΈΠΈ β€žβ€”dnstraceβ€œ, β€žβ€”icmptraceβ€œ ΠΈ β€žβ€”snitraceβ€œ.
  • ΠŸΡ€Π΅ΠΌΠ°Ρ…Π½Π°Ρ‚ΠΈ са ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡ‚Π΅ β€”cgroup ΠΈ β€”shell (ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½Π° β€”shell=none). По ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ Π΅ ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‚Π΅Π½Π° сборката firetunnel. Π”Π΅Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½ΠΈ са настройкитС chroot, private-lib ΠΈ tracelog Π² /etc/firejail/firejail.config. ΠŸΡ€Π΅ΠΊΡ€Π°Ρ‚Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π½Π° grsecurity.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster