نور را دید انتشار پروژه Firejail 0.9.60، که در آن سیستمی برای اجرای مجزای برنامه های گرافیکی، کنسولی و سرور در حال توسعه است. استفاده از Firejail به شما این امکان را می دهد که خطر به خطر افتادن سیستم اصلی را هنگام اجرای برنامه های غیرقابل اعتماد یا بالقوه آسیب پذیر به حداقل برسانید. برنامه به زبان C نوشته شده است، توزیع شده توسط تحت مجوز GPLv2 است و می تواند بر روی هر توزیع لینوکس با هسته قدیمی تر از 3.0 اجرا شود. بسته های آماده با Firejail آماده شده در فرمتهای deb (Debian، Ubuntu) و rpm (CentOS، Fedora).
برای انزوا در Firejail استفاده می شود فضاهای نام، AppArmor و فیلتر کردن تماس های سیستمی (seccomp-bpf) در لینوکس. پس از راهاندازی، برنامه و همه پردازشهای فرزند آن از نماهای جداگانه منابع هسته مانند پشته شبکه، جدول پردازش و نقاط اتصال استفاده میکنند. برنامه هایی که به یکدیگر وابسته هستند را می توان در یک سندباکس مشترک ترکیب کرد. در صورت تمایل می توان از Firejail برای اجرای کانتینرهای Docker، LXC و OpenVZ نیز استفاده کرد.
برخلاف ابزارهای عایق کانتینر، firejail بسیار عالی است ساده در پیکربندی و نیازی به تهیه تصویر سیستم ندارد - ترکیب کانتینر بر اساس محتویات سیستم فایل فعلی شکل می گیرد و پس از تکمیل برنامه حذف می شود. ابزارهای انعطافپذیری برای تنظیم قوانین دسترسی به سیستم فایل ارائه شده است؛ میتوانید تعیین کنید که کدام فایلها و دایرکتوریها مجاز هستند یا از دسترسی محروم هستند، سیستمهای فایل موقت (tmpfs) را برای دادهها متصل کنید، دسترسی به فایلها یا دایرکتوریها را محدود کنید تا فقط خواندنی باشند، دایرکتوریها را از طریق ترکیب کنید. bind-mount و overlayfs.
برای تعداد زیادی از برنامه های محبوب، از جمله فایرفاکس، کروم، VLC و انتقال، آماده است پروفایل ها جداسازی تماس سیستم برای اجرای یک برنامه در حالت ایزوله، به سادگی نام برنامه را به عنوان آرگومان برای ابزار firejail مشخص کنید، به عنوان مثال، "firejail firefox" یا "sudo firejail /etc/init.d/nginx start".
در نسخه جدید:
یک آسیبپذیری که به یک فرآیند مخرب اجازه میدهد مکانیسم محدودیت تماس سیستم را دور بزند، رفع شده است. ماهیت آسیبپذیری این است که فیلترهای Seccomp در پوشه /run/firejail/mnt کپی میشوند، که در محیط ایزوله قابل نوشتن است. فرآیندهای مخربی که در حالت ایزوله اجرا می شوند می توانند این فایل ها را تغییر دهند، که باعث می شود فرآیندهای جدیدی که در همان محیط اجرا می شوند بدون اعمال فیلتر فراخوانی سیستم اجرا شوند.
فیلتر memory-deny-write-execute تضمین می کند که تماس "memfd_create" مسدود شده است.
اضافه شدن گزینه جدید "private-cwd" برای تغییر دایرکتوری کاری برای زندان.
اضافه شدن گزینه "--nodbus" برای مسدود کردن سوکت های D-Bus.