Firejail 0.9.72 Програмыг тусгаарлах хувилбар

График, консол болон серверийн програмуудыг тусад нь гүйцэтгэх системийг хөгжүүлж, найдваргүй эсвэл эмзэг програмуудыг ажиллуулах үед үндсэн системийг эвдэх эрсдлийг багасгах боломжийг олгодог Firejail 0.9.72 төслийн хувилбарыг нийтэллээ. Энэхүү программ нь C хэл дээр бичигдсэн бөгөөд GPLv2 лицензийн дагуу тархсан бөгөөд 3.0-аас дээш хувилбар бүхий ямар ч Linux түгээлт дээр ажиллах боломжтой. Бэлэн Firejail багцуудыг deb (Debian, Ubuntu) болон rpm (CentOS, Fedora) форматаар бэлтгэдэг.

Тусгаарлахын тулд Firejail нь Linux дээрх нэрийн орон зай, AppArmor болон системийн дуудлагын шүүлтүүрийг (seccomp-bpf) ашигладаг. Хөтөлбөрийг эхлүүлсний дараагаар программ болон түүний бүх хүүхэд процессууд нь сүлжээний стек, процессын хүснэгт, холбох цэг зэрэг цөмийн нөөцийг тусад нь хардаг. Бие биенээсээ хамааралтай програмуудыг нэг нийтлэг хамгаалагдсан хязгаарлагдмал орчинд нэгтгэж болно. Хэрэв хүсвэл Firejail-ийг Docker, LXC болон OpenVZ контейнеруудыг ажиллуулахад ашиглаж болно.

Контейнер тусгаарлах хэрэгслээс ялгаатай нь firejail нь тохируулахад маш энгийн бөгөөд системийн дүрсийг бэлтгэх шаардлагагүй - контейнерийн найрлага нь одоогийн файлын системийн агуулгад тулгуурлан шууд үүсдэг бөгөөд програмыг дуусгасны дараа устгадаг. Файлын системд нэвтрэх дүрмийг тохируулах уян хатан арга хэрэгсэл бий; та ямар файл, директорт хандахыг зөвшөөрөх эсвэл хориглохыг тодорхойлох, өгөгдөлд түр зуурын файлын системийг (tmpfs) холбох, файл эсвэл лавлах руу хандах хандалтыг зөвхөн унших боломжтой болгох, сангуудыг нэгтгэх боломжтой. bind-mount and overlayfs.

Firefox, Chromium, VLC болон Transmission зэрэг олон тооны алдартай програмуудын хувьд системийн дуудлагыг тусгаарлах бэлэн профайлыг бэлтгэсэн. Хамгаалагдсан орчинг бий болгоход шаардлагатай давуу эрхийг олж авахын тулд firejail-ийн гүйцэтгэгчийг SUID үндсэн тугаар суулгасан байна (эрхүүдийг эхлүүлсний дараа дахин тохируулна). Програмыг тусгаарлах горимд ажиллуулахын тулд "firejail firefox" эсвэл "sudo firejail /etc/init.d/nginx start" гэх мэт програмын нэрийг firejail хэрэгсэлд аргумент болгон зааж өгөхөд л хангалттай.

Шинэ хувилбарт:

  • Нэрийн орон зай үүсгэхийг хориглодог системийн дуудлагад зориулсан seccomp шүүлтүүрийг нэмсэн ("--restrict-namespaces" сонголтыг идэвхжүүлэхийн тулд нэмсэн). Системийн дуудлагын хүснэгт болон seccomp бүлгүүдийг шинэчилсэн.
  • Сайжруулсан force-nonewprivs горим (NO_NEW_PRIVS) нь шинэ процессуудад нэмэлт эрх авахаас сэргийлдэг.
  • Өөрийн AppArmor профайлыг ашиглах боломжийг нэмсэн (холбохын тулд "--apparmor" сонголтыг санал болгож байна).
  • Хаяг бүрээс IP болон траффикийн эрчмийн талаарх мэдээллийг харуулдаг nettrace сүлжээний хөдөлгөөний хяналтын систем нь ICMP-ийн дэмжлэгийг хэрэгжүүлж, "--dnstrace", "--icmptrace" болон "--snitrace" сонголтуудыг санал болгодог.
  • --cgroup болон --shell командуудыг устгасан (өгөгдмөл нь --shell=none). Firetunnel бүтээх нь анхдагчаар зогссон. /etc/firejail/firejail.config доторх chroot, private-lib болон tracelog тохиргоог идэвхгүй болгосон. grsecurity дэмжлэгийг зогсоосон.

Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх